New:Microsoft Teams Notifications Are Now Available in Socket.Learn more
Get Started

attestlayer

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

attestlayer

Attest — proof layer for AI agents: decide, gate, verify, attest.

pipPyPI
Version
0.1.0
Weekly downloads
134
Maintainers
1
Created

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

DocWhat it locks
01 — VisionWhat Attest is, what it is not, the thesis
02 — ProductThe four steps, surfaces, what a customer experiences
03 — Universal adapterAll apps, all actions: descriptor, entry points, verification ladder, auth, confirm, policy
04 — ArchitectureSDK + Cloud, stack, data model, ledger
05 — Market & positioningWhy now, competitors, first vertical, go-to-market
06 — Build planPhases, weekly plan, what we reuse, what we do not build
07 — DecisionsLocked decisions and open questions
08 — Phase planDetailed 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

pathwhat
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.mdrelease (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

wherehow
PyPI (publishing pending)pip install attestlayerattest, attest-mcp, attest-mcp-server, attest-gateway, attestlayer
MCP Registryio.github.dev-prathap/attest (verify server) · io.github.dev-prathap/attest-proxy (zero-code proxy) — uvx attestlayer
Claude Desktop / SmitheryMCPB bundle from mcp/mcpb (mcpb pack mcp/mcpb)
npmnpm install attestlayerlive
Dockerghcr.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.

Keywords

ai-agents

FAQs

Related posts