The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Vouch MCP listing page.
Vouch Protocol™ is a common-law trademark.
The Open Standard for Identity & Provenance of AI Agents
Prefer to do it by hand? It is three commands:
Setting up an agent instead of git signing? vouch onboard --quick generates a working identity, allow-list, verifier, and heartbeat config in one command.
Vouch Protocol v1.0 aligns directly with the open standard:
eddsa-jcs-2022 cryptosuite (no JOSE, no Base64-wrapped payload, the credential remains human-readable JSON).eddsa-jcs-2022 and mldsa44-jcs-2024, an optional add-on for regulated deployments aligning with NIST CNSA 2.0 / NSM-10 timelines.Credentials are issued with Signer.sign() and checked with Verifier.verify(). See the Specification at vouch-protocol.com/specs/SPEC/ for the full specification.
The Open Standard for AI Agent Identity & Accountability
When Anthropic launched MCP, they solved "how agents call tools." They didn't solve "how we TRUST those agents."
Vouch Protocol is the SSL certificate for AI agents.
Vouch is not one tool, it is a set of them. Here is the whole map.
vouch init generate an agent identity (a DID and keypair).vouch sign / vouch verify sign a payload and verify it.vouch git sign every git commit cryptographically, set up in one command, with a verified badge for your README.vouch scan find leaked Vouch key material in your code before it ships (a private key in a file, a seed in an env var, a DID document that accidentally carries a private key).vouch attribute separate who wrote which line. When an AI assistant and a human both edit a file, this records the AI's lines under the AI's own key and your lines under yours, so when a line causes an incident you can prove which of you wrote it. See the Claude Code integration.vouch media sign images, with C2PA support.vouch-mcp) a standalone Model Context Protocol server so any MCP client (Claude Desktop, Cursor, any agent) can create an identity, sign and verify credentials, scan for leaked keys, and decode DIDs, out of the box.Standalone packages that drop Vouch into the agent framework you already use. Each one issues a verifiable credential for a tool call, with optional delegation back to a human principal.
vouch-langchain a LangChain tool that signs each tool call before it leaves the agent.vouch-langgraph signs LangGraph tool calls and graph nodes, so a signed trail runs across the whole graph.vouch-crewai a CrewAI tool, with supervisor-to-worker delegation that can only narrow authority, never widen it.vouch-a2a binds an A2A (Agent2Agent) Agent Card to a Vouch identity, so two agents can verify each other before they collaborate.vouch-goose registers the Vouch MCP server as an extension for Block's Goose agent, so a Goose session can sign and verify out of the box.vouch-mlflow signs an MLflow model artifact at registration time, bound to a content digest so any change to the weights breaks the signature.vouch-safetensors embeds a credential in a .safetensors header, complementary to OpenSSF Model Signing, so a model carries who produced it.The standalone vouch-mcp package above ships alongside these.
Python, TypeScript, and Go are the full reference implementations. A Rust core with idiomatic Swift, JVM (Java and Kotlin), .NET, and C wrappers shares one codebase, so every language produces byte-identical output, verified against shared test vectors. A WebAssembly build is included for the browser and the edge. See the table further down for status per language.
A robot is an agent with a body, so identity and accountability matter even more once it can cause physical harm. The vouch.robotics module ships six capabilities on the same eddsa-jcs-2022 credentials as the rest of Vouch: hardware-rooted identity (bound to a TPM or secure element, so it cannot be cloned to other hardware), model and config provenance (re-signable on every OTA update), physical capability scope (force, speed, a tighter cap near humans, allowed zones, and shift windows, checked before each actuation, with narrow-only delegation), a robot-to-robot trust handshake, an encrypted tamper-evident black box with a verifiable kill switch, and a scannable offline passport. All six are implemented in Python, TypeScript, Go, and the Rust core, which flows to the Swift, Kotlin/JVM, .NET, C/C++, and WebAssembly wrappers, so a robotics credential signed in one language verifies in every other. Fifteen further capabilities round out the set: a living-trust heartbeat (a signed per-interval motion summary whose trust decays unless it is renewed in-envelope), two-level credential revocation (per-credential status lists and whole-DID kill), an accountable safety record (a tamper-evident incident ledger summarized into a portable signed record), signed perception provenance (each captured sensor frame's hash bound to the robot's key and hash-linked, so a robot can prove what its sensors saw and a substituted frame is detectable), an offline delegation lease (a short-lived, scope-bounded grant a disconnected robot verifies and acts on with no network call, nesting across vendors), a physical quorum (a cryptographic two-person rule requiring M of N attested approvers for a high-consequence action), lifecycle credentials (ownership transfer that chains into a verifiable chain of custody, key rotation that forms a key history, and a signed decommission that retires the robot), a regulatory conformance profile (a machine-checkable mapping from a robot's credentials to the clauses of ISO 10218 and 15066, the EU Machinery Regulation, the EU AI Act, and UL 3300, with a deterministic checker and a signed conformance attestation), post-quantum signing by default (robot credentials carry a proof set with an Ed25519 proof and an ML-DSA-44 proof, with backward-compatible verification, so a robot stays unforgeable across its decade-long life), and cross-embodiment identity continuity (an agent identity that moves between robot bodies, with an embodiment credential re-binding to each body's hardware root and a continuity chain that proves the same accountable agent persisted, plus a fork check), a physical custody handoff chain (a signed record of who accepted custody of a task or object at each hop across human and robot actors, so an incident traces to the exact hop and an attested condition localizes damage to the holder responsible), bounded infrastructure access (an operator-signed grant naming a resource, its permitted operations, an optional zone, and a time window, which a robot pairs with a signed request the resource authorizes offline, so a robot can open a door or dock at a charger with a tamper-evident, attributable, shrink-only record), fused-sensor provenance (a signed attestation binding a robot's fused world model to the exact set of input frame hashes and the fusion method that produced it, so a manipulated fusion result or a dropped input is detectable and every fused input traces to a frame the robot recorded), wear and degradation attestation (a robot signs its own wear level bound to its identity and hash-linked over time, and a deterministic rule narrows its physical capability scope as it degrades, so a worn robot operates inside a tighter, verifiable envelope than the static limit it shipped with), and bystander-consent evidence (a robot binds the basis for capturing people, an explicit token, posted notice, a legitimate interest, or a redaction it applied, to the capture itself by its hash, holding only hashes and never anyone's identifying data, and a bystander can sign consent bound to one capture so it cannot be replayed to another), implemented across the same languages and pinned by the shared interop vector. See docs/robotics.md and the defensive disclosures PAD-064 through PAD-070, PAD-076 through PAD-084, and PAD-087 through PAD-094.
Read the spec → | Join Discord →
AI agents are making real-world API calls with ZERO cryptographic proof of:
Examples of the risk:
Current solutions:
Vouch Protocol provides cryptographic identity for AI agents, modeled after SSL/TLS:
eddsa-jcs-2022 cryptosuite, no JOSE/JWS dependency)did:web, did:key)eddsa-jcs-2022 + mldsa44-jcs-2024)Think of it as:
4 Simple Steps:
action, target, and resource, secured by an eddsa-jcs-2022 Data Integrity proof.Content-Type: application/vc+vouch (or via the legacy Vouch-Token header for v0.x compatibility; the prior application/vouch+credential+json Content-Type is retained as a transitional alias).CredentialPassport.Trust = Verifiable Credentials + Data Integrity + Decentralized Identifiers + Multikey, with an optional post-quantum proof set. The same math that secures SSL/TLS, plus the standardized primitives that secure verifiable credentials elsewhere on the web, applied to AI agents.
| Feature | Vouch Protocol | DIY JWT |
|---|---|---|
| Agent-specific | ✅ (designed for agents) | ❌ (generic) |
| MCP integration | ✅ (native) | ❌ (manual) |
| Framework integrations | ✅ (LangChain, CrewAI, etc.) | ❌ |
| Audit trail format | ✅ (VC standardized) | ❌ (custom) |
| standards-aligned | ✅ (eddsa-jcs-2022 Data Integrity) | ❌ |
| Multikey verification methods | ✅ (algorithm-agnostic) | ❌ |
| Post-quantum signatures | ✅ (mldsa44-jcs-2024 proof set) | ❌ |
| Cross-implementation interop tests | ✅ (Python, TypeScript, Go) | ❌ |
| Security best practices | ✅ (built-in) | ⚠️ (easy to mess up) |
v1.0 path (VC + Data Integrity, recommended):
v1.0 path:
That's it. A few lines to sign, a few to verify, on either path.
Works with all major AI frameworks out-of-the-box:
eddsa-jcs-2022 proof and an mldsa44-jcs-2024 proof for regulated deployments aligning with NIST CNSA 2.0 / NSM-10 migration timelinesTo keep this space free from patent capture, the project publishes 61 defensive prior-art disclosures under CC0, covering cryptographic identity, media provenance, voice biometrics, AI safety, post-quantum cryptography, AI coding governance, and per-region human-or-AI code authorship. See docs/disclosures.
eddsa-jcs-2022 cryptosuite)eddsa-jcs-2022 + mldsa44-jcs-2024 proof set, NIST CNSA 2.0 / NSM-10 aligned)View full roadmap and issue tracker →
Apache License 2.0: See LICENSE
You can use this freely in commercial and open-source projects.
The 61 defensive prior-art disclosures are released under CC0 1.0 Universal to ensure ecosystem freedom from patent capture.
The Vouch Protocol specification is being developed as a open standard submission via the open standards group. The implementation is also being proposed to the Linux Foundation's AI & Data Foundation.
Inspired by:
Built by Ramprasad Gaddam (Twitter/X)
Contributions welcome. See CONTRIBUTING.md. Looking for a place to start? Browse our good first issues, and open a ready-made dev environment with one click using the Open in GitHub Codespaces badge above.
Areas where help is most useful:
Thanks goes to these wonderful people. This section is maintained automatically by the all-contributors bot.
Star this repo if you find it useful.
Star on GitHub | Join Discord | Follow on X
To ensure ecosystem freedom, we publish 55 defensive prior art disclosures (CC0 public domain) covering novel methods across cryptographic identity, media provenance, voice biometrics, AI safety, post-quantum cryptography, AI coding assistant governance, and content authenticity:
| ID | Title | Category |
|---|---|---|
| PAD-001 | Cryptographic Agent Identity | Identity |
| PAD-002 | Chain of Custody Delegation | Identity |
| PAD-003 | Identity Sidecar Pattern | Architecture |
| PAD-004 | DOM-Traversing Signature Matching | Verification |
| PAD-005 | Detached Signature Recovery | Verification |
| PAD-006 | URL-Based Credential Chaining | Trust |
| PAD-007 | Automated Provenance via Input Telemetry | Provenance |
| PAD-008 | Hybrid Identity Bootstrapping | Identity |
| PAD-009 | Unified Local Identity via Localhost Bridge | Architecture |
| PAD-010 | Context-Adaptive Semantic Consent | Privacy |
| PAD-011 | Hierarchical Discovery Protocol | Discovery |
| PAD-012 | Executable Usage Covenants in Media Manifests | Media / Rights |
| PAD-013 | Air-Gapped Identity via Psychoacoustic Steganography | Audio |
| PAD-014 | Robust Acoustic Provenance via Steganography | Audio |
| PAD-015 | Ambient Witness Protocol (BLE Crowdsourcing) | IoT / Provenance |
| PAD-016 | Dynamic Credential Renewal ("Heartbeat Protocol") | Identity |
| PAD-017 | Cryptographic Proof of Reasoning | AI Safety |
| PAD-018 | Model Lineage Provenance ("Birth Certificate Protocol") | AI Safety |
| PAD-019 | Transparent Agent Communication | AI Safety |
| PAD-020 | Capability Acquisition Containment | AI Safety |
| PAD-021 | Graduated Autonomy via Inverse Capability Scaling | AI Safety |
| PAD-022 | Agent Population Governance | AI Safety |
| PAD-023 | Machine-Readable Content Usage Policies in Audio Watermarks | Audio / Rights |
| PAD-024 | Temporal Perceptual Hashing for Video Provenance | Video |
| PAD-025 | Edge-First Content Provenance via Client-Side WASM | Architecture |
| PAD-026 | DID-Linked Voice Biometric Enrollment | Voice / Biometrics |
| PAD-027 | Shamir Secret Sharing of Biometric Enrollment Data | Recovery / Biometrics |
| PAD-028 | Unified Cross-Modal Identity-Bound Provenance | Multi-Modal / Identity |
| PAD-029 | Identity-Verified Communication Shield | Elder Safety / Voice |
| PAD-030 | Zero-Knowledge Reputation Portability | Privacy / Trust |
| PAD-031 | Adversarial Provenance Honeypots | Adversarial Detection |
| PAD-032 | Cryptographic Mortality Protocol | Identity Lifecycle |
| PAD-033 | ZK Proof Compression for Post-Quantum Signatures | Post-Quantum / ZKP |
| PAD-034 | Composite Threshold Aggregation for Swarm Consensus | Post-Quantum / Swarm |
| PAD-035 | Asynchronous Chunked Verification and Edge PQ Signatures | Post-Quantum / Edge |
| PAD-036 | Aggregated Reputation Scoring via Verifiable State Receipts | Trust / Enterprise |
| PAD-037 | Cross-Protocol Agent Credential Federation | Identity / Enterprise |
| PAD-038 | Decentralized Agent Capability Discovery | Discovery / Multi-Agent |
| PAD-039 | Cross-Implementation Deterministic Multi-Party Trust State via JCS | Cross-Impl Determinism |
| PAD-040 | Hybrid Composite Signature Bound to Same Canonical Bytes (Ed25519 + ML-DSA-44) | Post-Quantum / Hybrid |
| PAD-041 | Algorithm-Agnostic Verification Method Resolution via Multikey Multicodec | Verification / Multikey |
| PAD-042 | Standardized Metadata Schema for AI Agent Ledger Signatures | Metadata / Audit |
| PAD-043 | Cryptographic Weight Binding for Model-Intrinsic AI Identity | AI Identity / Model |
| PAD-044 | Ephemeral ZK-State Channels for Agentic Layer 2 Scalability | Scalability / ZK |
| PAD-045 | Proof of Non-Hallucination via Cryptographic Retrieval Anchoring | AI Safety / RAG |
| PAD-046 | Algorithm Quorum Verification via M-of-N Cryptosuite Diversity | Defense in Depth |
| PAD-047 | Verifiable Delay Functions for Cryptographic Rate-Limiting | Agent Containment |
| PAD-048 | Write-Only Async Context Ledger for LLM Coding Assistants | AI Coding / IP Protection |
| PAD-049 | Decoupled Semantic Policy Extraction via Passive Source Monitoring | AI Coding / IP Protection |
| PAD-050 | Zero-Context Deterministic Egress Interception | AI Coding / Egress Control |
| PAD-051 | Parallel Intent Extraction via Local Shadow Models | AI Coding / Local-First |
| PAD-052 | UI State Sniffing for Closed-Box AI Coding Tools | AI Coding / Compatibility |
| PAD-053 | Time-Bounded Ephemeral Rules with Auto-Expiry | AI Coding / Lifetime |
| PAD-054 | Filesystem-Hierarchy Policy Inheritance for AI Coding Workspaces | AI Coding / Composition |
| PAD-055 | Cross-Session Policy Re-Anchoring via Pre-Flight Context Replay | AI Coding / Continuity |