Your AI agent stores API keys in plaintext. We're fixing that.
AVP is an open protocol (Apache 2.0) that defines how AI agents interact with credential vaults — from encrypted files to hardware secure elements, with the same 3 lines of code.
vault = avp.Vault("avp.toml")
vault.authenticate()
api_key = vault.retrieve("anthropic_api_key")- 7 operations — DISCOVER, AUTHENTICATE, STORE, RETRIEVE, DELETE, LIST, ROTATE
- 4 backends — File → Keychain → Hardware → Remote
- 5 transports — Library, USB, Socket, HTTP, MCP
- ~500 lines — Minimal conforming implementation
| Repo | Description | Status |
|---|---|---|
| spec | Protocol specification | ✅ v0.1.0 |
| avp-rs | Rust implementation | 🔨 In progress |
| avp-py | Python implementation | 📋 Planned |
| avp-ts | TypeScript implementation | 📋 Planned |
| avp-go | Go implementation | 📋 Planned |
| avp-cli | Command-line tool | 📋 Planned |
| avp-hardware | Hardware secure element | 📋 Planned |
| Framework | Repo | Status |
|---|---|---|
| ZeroClaw | zeroclaw-avp | 📋 Planned |
| OpenClaw | openclaw-avp | 📋 Planned |
| LangChain | langchain-avp | 📋 Planned |
| CrewAI | crewai-avp | 📋 Planned |
- Read the specification
- Try the CLI:
avp store my_key "secret" --backend keychain - Integrate with your agent framework
- Contribute — we need reviewers, implementors, and security auditors
Secrets belong in silicon, not in config files.