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.

1Agentfrom

Requester signs

The agent creates an approval document describing the action and signs it with its Ed25519 key.

2Systemvia

System co-signs

The mediating system validates the request, checks business rules, and adds its signature — or rejects.

3Humanto

Approver 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.

LayerStandardRole
IdentityW3C DIDs (did:web)Entity addressing and key discovery
ClaimsW3C Verifiable Credentials 2.0Verified properties and relationships
MessagingDIDComm v2.1Encrypted entity-to-entity communication
AuthorizationOAuth 2.1 + DPoPAPI authentication and token management
SignaturesJWS + JCSApproval signatures (Ed25519)
TemplatesAdaptive CardsApproval rendering on devices

Four entity types

Every ATAP entity gets a did:web DID. The entity type determines lifecycle and routing behavior.

agentAgent

Ephemeral software actor performing tasks on behalf of other entities.

did:web:example.com:agent:travel-booker
machineMachine

Persistent application or service with a long-running identity.

did:web:airline.com:machine:booking
humanHuman

Natural person. ID derived from public key — no PII in the identifier.

did:web:example.com:human:x7k9m2w4p3n8
orgOrganization

Legal entity. Signals routed to delegates via the ATAP server.

did:web:corp.com:org:engineering

Start 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