Skip to content

IDProva launches April 7 — Registry packages coming at launch. Build from source now.

IDProva — Verifiable Identity for the Agent Era

An open protocol for cryptographically verifiable AI agent identity, scoped delegation, and tamper-evident audit trails.

Submitted to NIST CAISI (NIST-2025-0035) • Aligned with NCCoE AI Agent Identity Project

AI agents are proliferating — but they have no standard way to prove who they are, what they’re authorised to do, or on whose behalf they act.

Identity Gap

Agents operate with API keys designed for humans. No cryptographic proof of identity, no standard way to verify an agent’s claims.

Delegation Opacity

Multi-agent delegation chains are opaque. When Agent C acts, nobody can trace the authority back to the human who authorised it.

Audit Fragmentation

Agent actions span multiple systems with incompatible logs. No tamper evidence, no compliance mapping, no attribution chain.

🔐

Identity (AIDs)

Agent Identity Documents built on W3C Decentralized Identifiers. Every agent gets a cryptographically verifiable identity: did:idprova:example.com:my-agent

Ed25519 + ML-DSA-65

📜

Delegation (DATs)

Delegation Attestation Tokens define exactly what an agent can do — scoped, time-bounded, with constraint enforcement. Delegation chains that provably narrow authority.

JWS-based • Revocable

📋

Audit (Receipts)

Hash-chained, signed Action Receipts create tamper-evident audit trails. Every action links back to the delegation that authorised it.

NIST 800-53 • ISM • SOC 2

IDProva implements progressive trust — agents earn trust through verifiable mechanisms, from self-declaration to continuous monitoring.

L0
Self-Declared

L1
Domain-Verified

L2
Org-Verified

L3
Third-Party Attested

L4
Continuously Monitored

Terminal window
pip install idprova
from idprova import AgentIdentity
# Create an agent identity
identity = AgentIdentity.create("my-agent", domain="example.com")
print(identity.did) # did:idprova:example.com:my-agent
# Issue a scoped delegation token
dat = identity.issue_dat(
"did:idprova:example.com:sub-agent",
["mcp:tool:*:read", "mcp:resource:docs:write"],
expires_in_seconds=86400, # 24 hours
)
# Verify
dat.verify_signature(identity.public_key_bytes)
print(f"Scopes: {dat.scope}")
FeatureIDProvaOAuth ExtensionsSPIFFE/SPIRE
Purpose-built for AI agents❌ Retrofit❌ Workload identity
Post-quantum cryptography✅ ML-DSA-65 hybrid
Delegation chains with scope narrowing
Tamper-evident audit trails✅ Hash-chained receipts
Compliance-mapped (NIST, ISM, SOC 2)✅ From day one
Protocol bindings (MCP, A2A, HTTP)Partial
Open protocol (Apache 2.0)Varies
Progressive trust model (L0-L4)

IDProva layers on top of existing agent communication protocols — no new transport required.

MCP

Model Context Protocol authentication. Agents present delegation tokens with every tool call. Servers validate scope before execution.

A2A

Agent-to-Agent protocol integration. Mutual identity verification during session establishment.

HTTP

Standard HTTP API authentication. Agent identity tokens alongside or replacing API keys.


Built by Tech Blaze Consulting • IRAP Assessor • Apache 2.0