Identity
Every agent gets a DID Document with public keys, metadata (model, runtime, configuration hash), trust level, and capabilities. The DID Document is the root of trust.
IDProva is an open protocol for establishing verifiable identity, scoped delegation, and auditable action tracking for autonomous AI agents. Built on the W3C Decentralized Identifier (DID) standard, IDProva introduces:
did:idprova: — A DID method designed specifically for AI agentsAI agents are proliferating — but they lack any standard way to prove who they are, what they’re authorised to do, or on whose behalf they act.
| Current Approach | Limitation |
|---|---|
| API keys / bearer tokens | No identity semantics; shared secrets; no delegation hierarchy |
| OAuth 2.0 client credentials | Designed for applications, not autonomous agents; no agent metadata |
| SPIFFE/SPIRE | Workload identity only; no delegation model; no agent-specific semantics |
| Custom per-vendor solutions | Vendor lock-in; no interoperability; no audit standard |
Without a universal identity layer, the agent ecosystem faces systemic risks:
IDProva is guided by these principles, in priority order:
Identity
Every agent gets a DID Document with public keys, metadata (model, runtime, configuration hash), trust level, and capabilities. The DID Document is the root of trust.
Delegation
Authority flows through Delegation Attestation Tokens — signed, scoped, time-bounded, and chainable. Verifiers trace any delegation back to its root principal (human or org).
Audit
Every action produces a signed Action Receipt, hash-chained into a tamper-evident log. Each receipt references the DAT that authorised it — complete attribution from action to principal.
IDProva builds on established standards:
did:idprova: is a conforming DID methodIDProva ships with SDKs for three languages and a CLI, all powered by the same Rust core:
| SDK | Install | Bindings |
|---|---|---|
| Python | pip install idprova | PyO3 (native Rust) |
| TypeScript | npm install @idprova/core | napi-rs (native Rust) |
| Rust | idprova-core = "0.1" | Reference implementation |
| CLI | cargo install idprova-cli | Direct binary |
All SDKs expose the same API surface: KeyPair, AID, DAT, Scope, TrustLevel, and ReceiptLog.