The Identity & Reputation Standard for AI Agents
Project description
Vouch Protocol
__ __ ____ _ _ _____ _ _
\ \ / / / __ \ | | | | / ____| | | | |
\ \ / / | | | || | | | | | | |__| |
\ \/ / | |__| || |__| | | |____ | __ |
\__/ \____/ \____/ \_____| |_| |_|
"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.
⚠️ Public Beta: This protocol is v1.0 compliant but the implementation is currently in Beta. Please report issues on GitHub.
⚡ Quick Start
1. Installation
pip install vouch-protocol
2. Generate Identity
# Generate a new keypair
vouch init --domain your-agent.com
# Export as environment variables
vouch init --domain your-agent.com --env
3. Sign a Payload
from vouch import Signer
import os
signer = Signer(
private_key=os.environ['VOUCH_PRIVATE_KEY'],
did=os.environ['VOUCH_DID']
)
token = signer.sign({'action': 'read_database', 'target': 'users'})
# Use token in Vouch-Token header
4. Verify a Token (Gatekeepers)
from fastapi import FastAPI, Header, HTTPException
from vouch import Verifier
app = FastAPI()
@app.post("/api/resource")
def protected_route(vouch_token: str = Header(alias="Vouch-Token")):
# Verify with the agent's public key
public_key = '{"kty":"OKP","crv":"Ed25519","x":"..."}' # From agent's vouch.json
is_valid, passport = Verifier.verify(vouch_token, public_key_jwk=public_key)
if not is_valid:
raise HTTPException(status_code=401, detail="Untrusted Agent")
return {"status": "Verified", "agent": passport.sub}
🔌 Integrations
1. Model Context Protocol (MCP)
Vouch includes a native MCP server for Claude Desktop & Cursor.
Configuration:
{
"mcpServers": {
"vouch": {
"command": "python3",
"args": ["-m", "vouch.integrations.mcp.server"],
"env": {
"VOUCH_PRIVATE_KEY": "YOUR_KEY",
"VOUCH_DID": "did:web:your-domain.com"
}
}
}
}
2. LangChain Integration
Add cryptographic identity to your LangChain tools.
from vouch.integrations.langchain.tool import VouchSignerTool
tools = [VouchSignerTool()]
3. CrewAI Integration
Works natively with CrewAI agents.
from vouch.integrations.crewai.tool import VouchSignerTool
agent = Agent(
role='Analyst',
tools=[VouchSignerTool()]
)
4. AutoGPT Integration
Register the signer command with your agent.
from vouch.integrations.autogpt import register_commands
5. AutoGen Integration
Use with Microsoft AutoGen agents.
from vouch.integrations.autogen import sign_action
# Register as a function tool
assistant.register_function(sign_action)
6. Google Vertex AI Integration
Sign function calls in Vertex AI Agent Builder.
from vouch.integrations.google import VertexAISigner
signer = VertexAISigner()
token = signer.sign_tool_call('search_database', {'query': 'test'})
7. n8n Integration (Low-Code Agents)
You can use Vouch directly in n8n using the Python Code Node.
Prerequisite:
Ensure your n8n instance installs the library:
export EXTERNAL_PYTHON_PACKAGES=vouch-protocol
Code Node Snippet:
from vouch import Signer
import os
signer = Signer(
private_key=os.environ.get('VOUCH_PRIVATE_KEY'),
did=os.environ.get('VOUCH_DID')
)
# Sign the incoming workflow data
for item in _input.all():
item.json['vouch_token'] = signer.sign(item.json)
return _input.all()
🏢 Enterprise Features
Key Rotation
from vouch.kms import RotatingKeyProvider, KeyConfig
keys = [
KeyConfig(private_key_jwk='...', did='did:web:agent.com', key_id='key1'),
KeyConfig(private_key_jwk='...', did='did:web:agent.com', key_id='key2'),
]
provider = RotatingKeyProvider(keys, rotation_interval_hours=24)
signer = provider.get_signer() # Automatically uses active key
Voice AI Signing
from vouch import Signer
from vouch.audio import AudioSigner
signer = Signer(private_key='...', did='did:web:voice-ai.com')
audio_signer = AudioSigner(signer)
signed_frame = audio_signer.sign_frame(audio_bytes)
print(signed_frame.vouch_token)
🖥️ CLI Reference
# Generate new identity
vouch init --domain example.com
vouch init --domain example.com --env # Output as env vars
# Sign a message
vouch sign "Hello World"
vouch sign '{"action": "test"}' --json
vouch sign "message" --header # Include Vouch-Token prefix
# Verify a token
vouch verify <token>
vouch verify <token> --key '{"kty":"OKP",...}' # With public key
vouch verify <token> --json # Output as JSON
📜 License & Legal
This project is licensed under the GNU Affero General Public License v3.0 (AGPLv3). View Full License
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:
- The "Identity Sidecar" Pattern: An MCP Server acting as a local "Identity Proxy" for a stateless LLM, isolating keys from application code.
- Just-in-Time (JIT) Intent Signing: A workflow where the LLM requests a signed "Vouch-Token" for a specific action before execution.
- Non-Repudiation: Generating a cryptographically verifiable audit trail binding Identity, Intent, and Time.
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.1.2.tar.gz.
File metadata
- Download URL: vouch_protocol-1.1.2.tar.gz
- Upload date:
- Size: 73.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
180773b95f0c1f8033b44a9de457f2c8dad85dd70a8e15d871bf4b97f4663e67
|
|
| MD5 |
d5524ba9a7d9981bd4ef0c5544ceb09a
|
|
| BLAKE2b-256 |
1340791cc5720d2935963a17fb9735cd0bd1a4629d1cee6cbbffd0675285f329
|
File details
Details for the file vouch_protocol-1.1.2-py3-none-any.whl.
File metadata
- Download URL: vouch_protocol-1.1.2-py3-none-any.whl
- Upload date:
- Size: 71.1 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 |
64731f321b78e3150818f9a615966193b66b69f9dcafd28f4f369b1f47754587
|
|
| MD5 |
75ca8caabbe0f4d8da910903c762bb4e
|
|
| BLAKE2b-256 |
a8ac10f2d2577a018cdd99dd3a39ff9b2e0de23d23407c0e5c5bb047cc9c73a7
|