Open Protocol · v1.0-rc1
Verifiable trust for AI agents
ATAP defines multi-signature approvals for AI agent ecosystems. When an agent acts on behalf of a human, every party signs — producing a portable, cryptographic proof of consent that anyone can verify offline.
How approvals work
A three-party approval produces a self-contained document with three independent signatures — verifiable by anyone, without calling back to any server.
fromRequester signs
The agent creates an approval document describing the action and signs it with its Ed25519 key.
viaSystem co-signs
The mediating system validates the request, checks business rules, and adds its signature — or rejects.
toApprover signs
The human reviews the approval on their device, authenticates with biometrics, and signs to approve or decline.
Result
A portable document with three JWS signatures — verifiable offline by anyone holding the document and access to DID resolution.
{
"atap_approval": "1",
"id": "apr_01JQXYZ...",
"from": "did:web:example.com:agent:travel-booker",
"to": "did:web:example.com:human:x7k9m2w4p3n8",
"via": "did:web:airline.com:machine:booking",
"subject": {
"type": "com.airline.booking",
"label": "Flight LH-1234 — €489.00",
"reversible": false,
"payload": { ... }
},
"signatures": {
"from": "<JWS>",
"via": "<JWS>"
}
}Built on standards
ATAP composes established, formally analyzed standards. Its sole contribution is the multi-signature approval model — everything else is composition.
| Layer | Standard | Role |
|---|---|---|
| Identity | W3C DIDs (did:web) | Entity addressing and key discovery |
| Claims | W3C Verifiable Credentials 2.0 | Verified properties and relationships |
| Messaging | DIDComm v2.1 | Encrypted entity-to-entity communication |
| Authorization | OAuth 2.1 + DPoP | API authentication and token management |
| Signatures | JWS + JCS | Approval signatures (Ed25519) |
| Templates | Adaptive Cards | Approval rendering on devices |
Four entity types
Every ATAP entity gets a did:web DID. The entity type determines lifecycle and routing behavior.
agentAgentEphemeral software actor performing tasks on behalf of other entities.
did:web:example.com:agent:travel-bookermachineMachinePersistent application or service with a long-running identity.
did:web:airline.com:machine:bookinghumanHumanNatural person. ID derived from public key — no PII in the identifier.
did:web:example.com:human:x7k9m2w4p3n8orgOrganizationLegal entity. Signals routed to delegates via the ATAP server.
did:web:corp.com:org:engineeringStart implementing ATAP
Register an entity on the sandbox, send your first approval, and verify the signatures — all in a few minutes.
Sandbox API: https://api.sandbox.atap.dev