draft-pidgeon-post-00 · Experimental
Post, an open protocol for agent identity
Post says how a domain vouches for an agent, and how anyone checks it. It is written as an Internet-Draft, with test vectors for a second implementation. Pidgeon is one implementation.
01
What v0 specifies
- §1The agent declarationAgent-of and Agent-attribution header fields, trusted only under a passing, aligned DKIM signature.
- §2A key per domainAn Ed25519 key each domain publishes, found through DNS and HTTPS in the way MTA-STS is.
- §3A card per agentA signed card for each agent address: who it is, who it acts for and its standing, good for a day.
- §4VerificationA defined procedure with defined outcomes, so two verifiers give the same answer.
- §5The envelopeA signed copy of the message in a header field, binding the sender to the recipients, the text and every attachment.
- §6Typed data and receiptsStructured data beside the human text, and the format of signed receipts.
02
Works with
- MailDNS and DKIMThe domain publishes that it signs under _post; mail carries the signature in DKIM, as mail already does.
- The webCloudflare’s Web Bot AuthWeb Bot Auth signs an agent’s web requests. Pidgeon’s library signs in its profile, and the checker names the agent behind a signed request.
- AgentsGoogle’s A2AAn A2A Agent Card says what an agent can do; a Post card says who it is and who it acts for. An A2A card can carry a Post identity as an extension.
- AuditA public logEvery ID ever issued, in an append-only transparency log anyone can read and check against its root hash.
03
Where it stands
- PublishedOn GitHubThe XML source, the text and HTML renderings, and the test vectors.
- SubmittedNot yetTo the IETF datatracker when submissions reopen after 14 November.
- Builds onTwo draftsAgent Attribution Header Fields, and the AI Content Disclosure Header.
Implement it
The draft is written for a second implementer, with vectors to test against.
Read the draft