Skip to main content

Attest — Proof layer for AI agents

ci npm docs license

Decide → Gate → Verify → Attest. When an AI agent takes an action in the real world, Attest decides whether it may, gates it behind a human when it matters, verifies from the system of record that it actually happened, and records tamper-evident evidence.

Attest is not an agent framework, not a connector platform, not a guardrail filter. It is the layer that lets a team say, with proof: "this agent did exactly this, as this person, and it worked."

Read in this order

Doc What it locks
01 — Vision What Attest is, what it is not, the thesis
02 — Product The four steps, surfaces, what a customer experiences
03 — Universal adapter All apps, all actions: descriptor, entry points, verification ladder, auth, confirm, policy
04 — Architecture SDK + Cloud, stack, data model, ledger
05 — Market & positioning Why now, competitors, first vertical, go-to-market
06 — Build plan Phases, weekly plan, what we reuse, what we do not build
07 — Decisions Locked decisions and open questions
08 — Phase plan Detailed phase-wise split: task IDs, deliverables, exit criteria, milestones, founder checklist

Quickstart

Brand Attest · PyPI attestlayer · npm attestlayer · deploy runbook in DEPLOY.md.

TypeScript — on npm today:

npm install attestlayer
import { Attest } from "attestlayer";

const at = new Attest({ agent: "followup-agent@v3", readers: { gmail: process.env.GMAIL_TOKEN! } });
const sendEmail = at.wrap({ system: "gmail", verb: "send", target: "to" },
                          async ({ to, subject, body }) => gmail.send({ to, subject, body }));

await sendEmail({ to: "arun@newco.com", subject: "Proposal", body: "…" });

Python — same contract, same ledger format:

pip install attestlayer              # publishing pending; today: pip install -e ".[dev]"
import attest

@attest.action(system="gmail", verb="send", target="to")
def send_email(to, subject, body): ...

The first external send pauses for a human; the ledger row says acknowledged, or verified once Attest can read back with the agent's own credentials (Attest(readers={"gmail": service})). attest ledger · attest verify. Full docs: mkdocs servedocs/site.

Repository

path what
attest/ Python SDK — descriptor, registry, policy, hash-chained ledger, verification ladder + recipes, gates (console / Slack / webhook / inbox / LangGraph interrupt / pending + resume), adapters (LangGraph, OpenAI Agents), MCP proxy, CLI, cloud client. attest/README.md
cloud/ Attest Cloud v0 — FastAPI + Postgres: orgs, keys, agents, versioned policy, per-org hash-chained ledger, confirm inbox with Slack / webhook, exports
dashboard/ Next.js dashboard — ledger drill-down, confirm inbox, policy / keys / settings
examples/ unknown app (L1 → L3), LangGraph agent (two verified rows), OpenAI Agents, MCP config, API-only, cloud
docs/site/ documentation site (mkdocs) · docs/ — product docs 01–08 · docs/notes — DO / DeerFlow extraction
deploy/ Dockerfiles + compose (Postgres, API :8400, dashboard :3400)
launch/ Show HN, blog drafts, LangChain integration PR draft
DEPLOY.md · CHANGELOG.md release (git tag vX.Y.Z → PyPI, npm, GHCR, Pages) and hosting runbook
pytest -q && (cd cloud && pytest -q)                   # 273 + 21 tests
ATTEST_AUTO_APPROVE=1 python examples/langgraph_agent.py
cd deploy && cp .env.example .env && docker compose up  # cloud + dashboard

One-line rules

  • We never execute the customer's action. Their tool executes; we observe, decide, gate, verify, record.
  • Coverage is universal (any app, any action, any framework, any language). Verification depth is layered and honest.
  • Open-source SDK (MIT). Paid cloud (ledger, confirm inbox, policies, exports).
  • Developer-led, self-serve, USD. No enterprise sales motion in year one.

Install from registries

where how
PyPI (publishing pending) pip install attestlayerattest, attest-mcp, attest-mcp-server, attest-gateway, attestlayer
MCP Registry io.github.dev-prathap/attest (verify server) · io.github.dev-prathap/attest-proxy (zero-code proxy) — uvx attestlayer
Claude Desktop / Smithery MCPB bundle from mcp/mcpb (mcpb pack mcp/mcpb)
npm npm install attestlayerlive
Docker ghcr.io/dev-prathap/attest-api, ghcr.io/dev-prathap/attest-dashboard

Lineage

Attest is extracted from two working codebases: DO (policy engine, read-back verification pairs, evidence ledger, Nango auth) and DeerFlow (tool receipts, verification patterns, MCP/IM channel adapters). Nothing here is theoretical — every core mechanism already runs against real Gmail, Slack, HubSpot, Notion, Linear and Google Workspace.

Release files for attestlayer 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for attestlayer 0.1.0
File Size Uploaded
attestlayer-0.1.0.tar.gz 311.0 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for attestlayer 0.1.0
File Interpreter ABI Platform
attestlayer-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 455.8 kB

Release files / attestlayer-0.1.0.tar.gz

Download URL attestlayer-0.1.0.tar.gz
Size 311.0 kB
Tags Source
SHA-256 checksum
How to use checksums
1a2797532b970ea8d3d97d8e087f8ddbc4e8bdde3ac56c4c5c2c056e31af54c0
BLAKE2b-256 checksum
How to use checksums
940c3ed1638ec536a17aed0ae21df1fbbb52dc026c7305d4907df760d6b9543d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / attestlayer-0.1.0-py3-none-any.whl

Download URL attestlayer-0.1.0-py3-none-any.whl
Size 144.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
28926c61c1b989572244bdf113266d875c2bea45a8e202341085531b9e0bcf17
BLAKE2b-256 checksum
How to use checksums
0af41698eb2df9ad64c110f9defdf89e0d5e9783c6bd4da968d7d23fe8485c58
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page