AI agents have no identity.
Your agent makes decisions, calls APIs, deploys code, and accesses sensitive data. But there is no cryptographic proof it did any of it. No way to verify which agent acted. No way to audit what happened. No way to scope what an agent is allowed to do.
API keys are not identity -- they are shared secrets with no audit trail. OAuth tokens are not identity -- they expire and carry no action history. Logging is not identity -- logs can be tampered with and carry no signatures.
AgenticIdentity gives every AI agent a permanent, cryptographic identity rooted in Ed25519 key pairs. Agents sign every action they take, producing tamper-evident receipts. Trust between agents is granted, scoped, delegated, and revoked through signed trust grants. Everything is verifiable by anyone with the public key.
Problems Solved
- Problem: no way to prove which agent took an action. Solved: Ed25519 identity anchors produce non-repudiable signed receipts for every action.
- Problem: agents share API keys with no individual accountability. Solved: each agent has its own key pair; derived session and capability keys isolate operations.
- Problem: no audit trail survives agent restarts or model switches. Solved: chained receipts create a persistent, cryptographically linked history.
- Problem: no scoped permissions for multi-agent systems. Solved: trust grants with capability URIs, time bounds, use limits, and delegation depth.
- Problem: revoking agent access requires rotating shared secrets. Solved: individual trust grants are revoked independently without affecting other agents.
- Problem: private key material stored in plaintext.
Solved:
.aidfiles encrypt keys at rest with ChaCha20-Poly1305 + Argon2id.
Quickstart
CLI
# Install
|
# Create an identity
# Sign an action
# Verify a receipt
# Grant trust
Rust
use IdentityAnchor;
use ;
use ReceiptBuilder;
use verify_receipt;
// Create identity
let agent = new;
// Sign an action
let receipt = new
.sign
.unwrap;
// Verify
let result = verify_receipt.unwrap;
assert!;
Python
=
=
assert
Architecture
AgenticIdentity is built as a Rust workspace with four crates:
agentic-identity/
crates/
agentic-identity/ Core library (identity, receipts, trust, crypto, storage)
agentic-identity-cli/ CLI tool (aid)
agentic-identity-mcp/ MCP server for AI agent integration
agentic-identity-ffi/ C FFI bindings for cross-language use
python/ Python package (wraps FFI)
benches/ Criterion benchmarks
tests/ Integration tests
289 tests. Zero unsafe in the core library.
Core Primitives
| Primitive | Purpose | Cryptography |
|---|---|---|
| Identity Anchor | Permanent agent identity | Ed25519 key pair |
| Action Receipt | Signed proof of action | Ed25519 signature over SHA-256 hash |
| Trust Grant | Scoped permission delegation | Ed25519 signed capability grant |
| Key Derivation | Session/capability/device keys | HKDF-SHA256 |
| File Storage | Encrypted key persistence | ChaCha20-Poly1305 + Argon2id |
Identity Lifecycle
IdentityAnchor::new("my-agent")
|
├── .id() -> aid_7xK9mP2...
├── .public_key_base64() -> Ed25519 public key
├── .derive_session_key() -> scoped signing key
├── .derive_capability_key() -> scoped signing key
├── .rotate(Scheduled) -> new anchor with rotation history
└── .to_document() -> shareable public document
Receipt Chain
[Observation] ──chain_to──> [Decision] ──chain_to──> [Mutation]
"Error spike" "Rollback" "Deployed v2.3"
signed signed signed
Trust Delegation
Alice ──trust──> Bob ──delegate──> Carol
"read:*" "read:calendar"
depth: 2 depth: 1
MCP Server
The MCP server exposes all identity operations as tools for AI agents. Add to your Claude Desktop config:
Available tools: identity_create, identity_info, action_sign, action_verify, chain_verify, trust_grant, trust_verify, trust_revoke, key_derive_session, key_derive_capability.
Benchmarks
Rust core. Ed25519 + HKDF-SHA256. Real numbers from Criterion statistical benchmarks:
| Operation | Time |
|---|---|
| Ed25519 key generation | 8.80 us |
| Ed25519 sign | 9.17 us |
| Ed25519 verify | 19.34 us |
| HKDF derivation | 972 ns |
| Identity creation | 8.78 us |
| Receipt sign | 11.55 us |
| Receipt verify | 21.77 us |
| Trust grant sign | 12.41 us |
| Trust grant verify | 21.84 us |
| Trust chain verify (depth 2) | 43.51 us |
| Receipt chain (10 receipts) | 123.77 us |
Single-threaded. All operations are independent and scale linearly with cores.
Install
One-Line Install (CLI + MCP)
|
From Source
Rust Library
[]
= "0.1"
Python
Cryptography
| Purpose | Algorithm | Standard |
|---|---|---|
| Identity keys & signing | Ed25519 | RFC 8032 |
| Key derivation | HKDF-SHA256 | RFC 5869 |
| Private key encryption | ChaCha20-Poly1305 | RFC 8439 |
| Passphrase stretching | Argon2id | RFC 9106 |
| Content hashing | SHA-256 | FIPS 180-4 |
| ID encoding | Base58, Base64 | -- |
No custom cryptography. All primitives are from audited, widely-used Rust crates (ed25519-dalek, hkdf, chacha20poly1305, argon2).
Documentation
| Document | Description |
|---|---|
| Quickstart | Get started in 5 minutes |
| Core Concepts | Identity anchors, receipts, trust web |
| Integration Guide | MCP, Rust, FFI, Python integration |
| API Reference | Complete API documentation |
| Benchmarks | Performance data and analysis |
| FAQ | Common questions answered |
| File Format | .aid file format specification |
Examples
Project Status
v0.1.0 -- initial release. Core library, CLI, MCP server, FFI bindings, and Python package.
License
MIT -- see LICENSE.
Part of the AgenticOS Ecosystem
AgenticIdentity is the cryptographic trust anchor for the Agentra Labs AgenticOS ecosystem, alongside AgenticMemory, AgenticCodebase, and AgenticVision.