The Identity & Reputation Standard for AI Agents
Project description
VOUCH PROTOCOL
__ __ ____ _ _ _____ _ _
\ \ / / / __ \ | | | | / ____| | | | |
\ \ / / | | | || | | | | | | |__| |
\ \/ / | |__| || |__| | | |____ | __ |
\__/ \____/ \____/ \_____| |_| |_|
⚠️ v0.1 Alpha Notice: This is an experimental protocol designed to spark discussion around AI Identity. It is not yet audited for production use. Contributions and security critiques are highly welcome.
"The 'Green Lock' for the Agentic Web."
Vouch is the open-source standard for AI Agent Identity, Reputation, & Liability. It provides the missing cryptographic handshake to allow autonomous agents to prove their intent and accountability.
1. The Premise
The web was built for humans using browsers. The new web is being browsed by AI Agents. Currently, these agents are treated as second-class citizens—blocked by firewalls because they cannot prove their intent.
- Existing ID: Relies on User Identity ("Who are you?").
- Agent ID: Requires Intent Identity ("What are you doing, and who is accountable?").
Vouch is the protocol that allows an AI Agent to prove its legitimacy to a server without human intervention.
2. The Philosophy
- Identity must be machine-readable: Verification must happen in milliseconds via HTTP headers, not CAPTCHAs.
- Reputation is the new Firewall: We move from "Block all bots" to "Trust verified agents."
- Liability is the Anchor: An agent must carry a cryptographic signature that links its actions back to a legal entity.
3. The Technical Standard
Vouch binds a Reputation Key to an Agent Instance via the did:web standard.
| Component | Description |
|---|---|
| The Passport | A vouch.json file hosted on the agent's domain containing public keys. |
| The Handshake | A cryptographic proof sent via the Vouch-Token header. |
| The Score | A dynamic Reputation Score signed by the issuer. |
⚡ Quick Start
1. Installation
pip install -r requirements.txt
2. The Standard (vouch.json)
Host this file at https://your-domain.com/.well-known/vouch.json.
{
"id": "did:web:finance-bot.example.com",
"verificationMethod": [{
"type": "JsonWebKey2020",
"publicKeyJwk": { "kty": "OKP", "crv": "Ed25519", "x": "..." }
}]
}
3. Usage (Python SDK)
For Gatekeepers (Verifying an incoming agent):
from fastapi import FastAPI, Header, HTTPException
from vouch import Verifier
app = FastAPI()
verifier = Verifier(trusted_key_json)
@app.post("/api/resource")
def protected_route(vouch_token: str = Header(alias="Vouch-Token")):
# 1. Verify the Cryptographic Signature
is_valid, passport = verifier.check_vouch(vouch_token)
if not is_valid:
raise HTTPException(status_code=401, detail="Untrusted Agent")
# 2. Check Reputation & Liability
agent_id = passport['sub']
score = passport['vc'].get('reputation_score', 0)
return {
"status": "Welcome",
"agent": agent_id,
"trust_score": score
}
4. Architecture & Roadmap
- Phase 1 (Current): Client-side Python SDK (MIT License) to drive adoption among agent builders (LangChain, AutoGen).
- Phase 2: Server-side Gatekeeper Middleware (Nginx/Cloudflare) to enforce verification.
- Phase 3: The Vouch Registry (Federated Reputation History).
🤝 Contributing
We are looking for adapters for LangChain and CrewAI.
Run the Red Team security suite locally:
python tests/red_team.py
License: MIT
📜 License
This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3).
- Open Source: Free to use, modify, and distribute.
- Network Use: If you run Vouch as a service (SaaS), you must share your modifications.
- Commercial: Contact us for commercial licensing options.
🔌 Integrations
1. Model Context Protocol (MCP) for Claude & Cursor
Vouch includes a native MCP server. This allows AI Assistants (like Claude Desktop) to cryptographically sign sensitive actions before executing them.
Configuration for claude_desktop_config.json:
{
"mcpServers": {
"vouch": {
"command": "python3",
"args": ["-m", "vouch.integrations.mcp.server"],
"env": {
"VOUCH_PRIVATE_KEY": "YOUR_PRIVATE_KEY",
"VOUCH_DID": "did:web:your-domain.com"
}
}
}
}
2. LangChain Adapter
from vouch.integrations.langchain.tool import VouchSignerTool
tools = [VouchSignerTool()]
3. AutoGPT Command
Vouch automatically registers the sign_with_vouch command when installed in the AutoGPT plugins folder.
🛡️ Defensive Disclosure (Prior Art)
Publication Date: December 14, 2025 Subject: Cryptographic Binding of AI Agent Intent via Model Context Protocol (MCP)
To ensure the freedom of the ecosystem to build secure agents, we explicitly disclose the following novel method as Prior Art:
1. The "Identity Sidecar" Pattern This protocol describes a method where an MCP Server acts as a local "Identity Proxy" for a stateless Large Language Model (LLM). Unlike traditional architectures where keys are embedded in the application code, this method isolates the cryptographic keys within the MCP interface layer.
2. Just-in-Time (JIT) Intent Signing
The system implements a workflow where the LLM must request a "Vouch-Token" for a specific action before execution. The MCP server acts as an Auditor, reviewing the integrity_hash of the proposed tool call. If valid, it signs the intent with a did:web identity.
3. Non-Repudiation of Tool Execution This generates a cryptographically verifiable audit trail that binds three distinct entities:
- The Identity (The DID holding the key).
- The Intent (The specific function call and parameters).
- The Time (Nonce-protected timestamp).
This disclosure is intended to prevent the patenting of "Identity-Aware Tool Execution" mechanisms by third parties.
4. CrewAI Integration
Vouch works as a native Tool in CrewAI agents.
from vouch.integrations.crewai.tool import VouchSignerTool
# Assign the identity tool to your agent
agent = Agent(
role='Financial Analyst',
goal='Sign transactions securely',
tools=[VouchSignerTool()],
verbose=True
)
5. Microsoft AutoGen Integration
Use Vouch to sign messages between conversable agents.
from vouch.integrations.autogen.tool import VouchSignerTool
# Register the tool with your AutoGen UserProxy
user_proxy.register_function(
function_map={"sign_intent": VouchSignerTool().run}
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vouch_protocol-1.0.0.tar.gz.
File metadata
- Download URL: vouch_protocol-1.0.0.tar.gz
- Upload date:
- Size: 49.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4504d24019c2d64c6ebb68f32cdbb53ad3050d9db1738049d2cf0a780de50277
|
|
| MD5 |
2c4b163412cf35123095d4173a094429
|
|
| BLAKE2b-256 |
d237c4cc8711b6d2e781cf4677f5c37492d34eeff0896faa5c2f109ec91bf648
|
File details
Details for the file vouch_protocol-1.0.0-py3-none-any.whl.
File metadata
- Download URL: vouch_protocol-1.0.0-py3-none-any.whl
- Upload date:
- Size: 37.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
093f69dfb612b39802e9c6fb300bcf74835f01cb6d52f4ba771d308d93d024c3
|
|
| MD5 |
95052af1382319e06c5c472a03ea548f
|
|
| BLAKE2b-256 |
742cbaa556d5bd863b4cb30499f7eb5a66daa134c956a4c08b77fd78ebd65126
|