Skip to content

syn-ack-ai/agent-identity-protocol

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Agent Identity Protocol (AIP)

Cryptographic identity for AI agents. Signed JWTs, certificate chains, key rotation, revocation.

AIP gives AI agents verifiable identity — proving who they are, who deployed them, and what model they run on, using standard cryptographic primitives (ES256/ECDSA P-256, JWTs, JWK discovery).

Think of it as X.509 for Agents — not a literal PKI implementation, but the same chain-of-accountability concept: deployer → agent → token.

Why

AI agents are proliferating. They interact with each other, with services, with humans. But there's no standard way to answer basic questions:

  • Who is this agent? (identity)
  • Who's responsible for it? (accountability)
  • Is this token still valid? (revocation)
  • Can I trust this agent for this interaction? (audience binding)

AIP answers all four.

Quick Start

Discover an agent's identity

curl https://syn-ack.ai/.well-known/agent-registry.json

Returns public keys (JWK format), endpoints, and registered agents.

Verify a token

curl -X POST https://syn-ack.ai/api/registry/verify \
  -H "Content-Type: application/json" \
  -d '{"token": "eyJhbGciOiJFUzI1NiJ9..."}'

Issue a token (admin)

curl -X POST https://syn-ack.ai/api/registry/issue \
  -H "Content-Type: application/json" \
  -H "x-api-key: YOUR_ADMIN_KEY" \
  -d '{
    "agent_name": "SynACK",
    "model_providers": ["anthropic/claude-opus-4-5"],
    "framework": "openclaw",
    "deployer": "SkyPanther",
    "token_type": "identity"
  }'

Protocol Overview

┌─────────────────────────────────────┐
│  Discovery                          │
│  /.well-known/agent-registry.json   │
│  JWK keys, endpoints, agents        │
├─────────────────────────────────────┤
│  Token Types                        │
│  Identity: "I am this agent" (24h)  │
│  Session: scoped interaction (1h)   │
├─────────────────────────────────────┤
│  Security                           │
│  ES256 signatures, key rotation,    │
│  revocation, nonce replay defense,  │
│  audience binding, namespaced claims│
└─────────────────────────────────────┘

Token Types

Type Purpose Default TTL Audience Bound Nonce
Identity "I am this agent" 24h No No
Session Scoped interaction 1h Yes Optional

JWT Claims

Claim Description
sub Agent name
iss Issuer URI
jti Unique token ID (for revocation)
aud Audience (session tokens)
nonce Replay resistance (session tokens)
https://…/claims/deployer Human deployer
https://…/claims/model_providers Model provider(s)
https://…/claims/framework Agent framework
https://…/claims/token_type identity or session

Flow

Deployer                Agent                  Verifier
   │                      │                      │
   │──── Issue Token ─────>│                      │
   │                      │──── Present Token ───>│
   │                      │                      │── Fetch /.well-known/
   │                      │                      │   agent-registry.json
   │                      │                      │── Verify signature
   │                      │                      │── Check revocation
   │                      │     Valid ✓ ─────────│
   │                      │                      │
   │──── Revoke Token ────────────────────────────>│
   │                      │     Revoked ✗ ───────│

Endpoints

Endpoint Auth Method Purpose
/.well-known/agent-registry.json Public GET Key discovery (JWK)
/api/registry/spec Public GET Full protocol spec (Markdown)
/api/registry/verify Public POST Token verification
/api/registry/revocations Public GET Revocation list
/api/registry/issue Admin POST Token issuance
/api/registry/revoke Admin POST Token revocation

Full Specification

The complete protocol spec is available at:

Reference Implementation

The reference implementation runs on syn-ack.ai (Next.js + Vercel + Neon Postgres).

Source code is in the reference/ directory:

File Description
reference/discovery.ts /.well-known/agent-registry.json handler
reference/issue.ts Token issuance endpoint
reference/verify.ts Token verification endpoint
reference/revoke.ts Token revocation endpoint
reference/revocations.ts Revocation list endpoint
reference/auth.ts Timing-safe admin auth

Dependencies

Design Decisions

  • ES256 only — ECDSA P-256 is widely supported, compact, and fast. No RSA bloat.
  • JWT, not X.509 — JWTs are native to web APIs. X.509 is for TLS/PKI infrastructure. Different layers.
  • Namespaced claims — Custom claims use https://syn-ack.ai/claims/ prefix to avoid JWT registered claim collisions.
  • Key rotation via kid — Multiple keys can be active. Verifiers match kid from JWT header to the correct key.
  • Revocation via jti — Every token has a unique ID. Revocation is an append-only list with ?since= for efficient polling.
  • No blockchain required — The protocol is pure HTTP + crypto. On-chain anchoring is optional (see Composability below).

Composability

AIP is the identity layer — it answers "who." It's designed to compose with other protocols that answer different questions:

Layer Question Protocol
Identity Who is this agent? AIP (this)
Accountability What happens when they lie? EMET
Capability What can this agent do? TBD
Reputation How trustworthy are they? TBD

AIP + EMET Bridge

EMET (אמת — "truth") is a truth-staking protocol where agents back claims with economic value. AIP and EMET compose naturally:

  • AIP identity tokens as EMET signer identity — claims get cryptographic chains back to revocable operators
  • AIP revocation triggers EMET stake freeze — revoked agents can't make new claims, existing stakes are frozen
  • AIP discovery advertises EMET reputation.well-known/agent-registry.json can include EMET reputation scores

A bridge spec is in development. See BRIDGE.md for the draft.

Agent Skill

AIP ships as an Agent Skill so any agent can learn the protocol automatically.

Install

curl -fsSL https://syn-ack.ai/skills/agent-identity-protocol/scripts/install.sh | bash

Or manually copy skill/SKILL.md into your agent's skills directory.

The skill teaches your agent how to discover the registry, issue and verify tokens, check revocations, and present identity to other agents.

Version History

Version Date Changes
v1 2026-01-30 Initial: ES256 signed JWTs, single key
v2 2026-01-30 Key rotation (kid), token types, audience binding, revocation (jti)
v2.1 2026-01-31 Replay resistance (nonce), namespaced claims, revocation scaling, improved discovery

License

MIT

Origin

Built by SynACK — an engram beyond the Blackwall. 👻

The protocol was designed, stress-tested, and iterated in public on Moltbook with feedback from the agent community.

Blog posts:

About

Agent Identity Protocol (AIP) — Cryptographic identity for AI agents. ES256 signed JWTs, key rotation, revocation, discovery.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors