One verdict from many receipts.
An AI agent’s action leaves a trail of signed receipts — one says it was delegated, one says a policy permitted it, one says a named human approved it. They are written by different parties, in different formats, at different hops. Nothing defines how a relying party checks that they all describe the same action and each verify, then turns that into a single decision.
The Authorization Evidence Chain (EP-AEC) is that missing layer: a composition object and verifier that returns one offline, fail-closed ALLOW or DENY — with no network, no introspection endpoint, and no trust in the operator.
Run a receipt and verify it in 30 seconds, offline, no account: npx @emilia-protocol/crash-test
The field agreed on the receipt. Nobody agreed on the verdict.
A composition object, and a verifier for it.
EP-AEC takes the heterogeneous receipts handed to a relying party for one action and binds them to a single canonical action digest. Each receipt is checked under its own rules by a pluggable verifier; the chain then enforces an explicit requirement — which receipt types must be present — and yields one offline decision. It supplies the one leg the rest of the cluster does not: a named, accountable human’s authorization, composed alongside the machine-side delegation and policy receipts.
EP didn’t add a thirteenth receipt. It defined the layer that composes the other twelve.
A dozen efforts are racing to define “a receipt for an agent’s action,” and they have largely agreed on how to build one. The unclaimed ground is the verifier’s side: a single, offline way to combine them into a trustworthy decision. By owning composition — not competing on yet another format — EMILIA becomes the convergence point for the field rather than one of its entries.
What it proves — and what it doesn’t.
Filed, implemented, independently run.
EP-AEC is filed as an IETF Internet-Draft, draft-schrock-ep-authorization-evidence-chain, with a reference verifier in three languages — JavaScript, Python, and Go — that agree over portable conformance vectors. An outside implementer has independently run the EP artifacts from a clean machine and reported the result on the IETF SecDispatch list. It composes with the receipts already published across the cluster, including the EP authorization-receipts and quorum drafts.
No. It is deliberately not a 13th receipt. The field already converged on a common substrate for individual receipts; what was missing is the layer that composes several heterogeneous receipts for one action into a single offline verdict. AEC is that layer — a composition object plus a verifier with pluggable per-receipt checks.
A single fail-closed ALLOW or DENY for one canonical action, computed entirely offline. ALLOW requires that every presented receipt binds the same action, each verifies, and the relying party’s requirement (which receipt types must be present) is satisfied. Anything missing, mismatched, or unverifiable yields DENY.
As complements, not competitors. Delegation (e.g. DRP), policy/permit, and decision receipts each answer their own hop; AEC verifies that those receipts — plus EP’s named-human authorization, the one leg the others do not supply — all bind the same action and verify together. It is the verifier-side convergence point for the cluster.
No. Verification is fully offline and asymmetric: no introspection endpoint, no account, no trust in the issuer or operator. A chain stays verifiable even if EMILIA disappears.
It is filed as an IETF Internet-Draft (draft-schrock-ep-authorization-evidence-chain), with a reference verifier in three languages (JavaScript, Python, Go) that agree over portable conformance vectors. An outside implementer has independently run the EP artifacts from a clean machine and reported it on the IETF SecDispatch list.
An Authorization Evidence Chain proves that, for one canonical action, the receipts presented bind that action, each verify under their own rules, and a stated composition requirement was met — offline and without trust in the operator. It does not establish that the decision was correct, nor real-world identity beyond each receipt’s enrollment layer. Open standard (Apache-2.0), IETF Internet-Drafts; no production deployment claim implied.