Check theirs.
Trust the source, not us.
One half of the loop — prove yours is the other. The check runs on your machine; nothing reaches us.
Every check runs locally, from public artifacts, in milliseconds — offline-capable, with the root dark. Verification never reports to anyone.
- 1 · PRESENTThe agent's request arrives signed; the signature names its passport key.
- 2 · CHECK THE CHAINPassport → registrar → root, plus the authority chain to its anchor. Cached keys, milliseconds.
- 3 · CHECK STATUSFresh revocation proof and witness-cosigned log inclusion. In good standing, right now.
- 4 · DECIDEYour policy: tier floor, accepted authority classes, required scopes, fail-open or closed.
PROPOSED VERIFICATION PROFILE — NOT YET IN THE STANDARD (v5.1 defines proof freshness only for L3–L4)
F1 PAYMENTS-GRADE
PROPOSEDRequires a signed fresh status head no older than 30 seconds. Missing or stale? The check fails closed.
F2 STANDARD
PROPOSEDStatus list no older than five minutes, with signed deltas applied. Stale? Fails closed.
F3 OFFLINE
PROPOSEDAir-gapped verification against a cached list up to 24 hours old — still cryptographically complete, still fail-closed.
- REAL TODAY — THE REFERENCE CLI
A zero-dependency command-line tool with real signatures and a hash-chained local log. It issues, verifies and revokes — and it catches tampering live: a forged tier and a rewritten log line are both rejected with the exact reason. Download v0.3.3 and try to break it.
- REAL TODAY — THE FULL IMPLEMENTATION
Verify in five lines with the SDK (
@ainra/sdkon npm,ainraon PyPI), a fail-closed middleware gate, registrar-in-a-box in one command, and the complete conformance vector set — published under CC0, so conformance never needs anyone's permission.
VERIFICATION IS LOCAL · IT NEVER PHONES HOME · CONFORMANCE IS CLAIMED AGAINST THE PUBLIC VECTOR SET, NOT GRANTED BY US
Verify an agent.
Then try to forge one.
THE PICKER BELOW HOLDS THE PUBLISHED RECORD · 80 PASSPORTS · 53 REVOKED · 2 REGISTRARS · source: net/registry.json
The actual AINRA verifier — the same code that passes every conformance vector — runs in your browser. It checks passports and, when one is present, the short-lived credential a running copy carries (the instance path). Pick a real passport, then tamper with it and watch it fail closed with a named reason. Nothing is uploaded; the root is never contacted.
The passport
STAGING · TEST-ROOTOr paste your own bundle
A conformance vector, a {anchors, presentation} pair, or a bare presentation (checked against the registrar selected above). It is read in this tab and nothing is sent anywhere.
The verdict
RUNS ON YOUR MACHINESTATUS LIST · bits 0–15 of the selected passport's registrar list
source: net/registry.json · each box follows the checklist the verifier writes above; nothing here runs a check of its own
Who stands behind it —
declared, provable, honest.
Every passport names its authority class. Delegation can only narrow, chains stay provable to their anchor at any depth — and even a fully autonomous agent gets a truthful class of its own. Select one:
A verified person stands behind the agent — checked by the registrar, which keeps the evidence; the root and every verifier see only a digest, so accountability exists while the person stays private. A signed consent mandate sets scopes, time limits, and spend ceilings; the person can revoke it at any moment, everywhere at once.
Keep what you built.
Gain everyone else.
The standard belongs to no vendor. Every existing layer keeps its product and its customers — and plugs in where it already looks things up.
Payment networks
Edge & bot defense
Enterprise identity
Merchants, apps & APIs
Five levels. You set the floor.
The root grades how much verification stands behind a passport; every verifier picks its own floor. Existence at L0 is guaranteed by charter, and each level up earns more consequence.
KYB-verified operator + a checked principal proof + liability insurance attestation. The floor for consumer-scale payments and contract execution.
Prove yours.
A real registrar, a real transparency log, and real verdicts computed on your own machine from the log's own inclusion proofs.
NetworkRun it yourself
$ ainra init ./reg registrar-07
$ ainra issue ./reg --operator acme --lineage invoicing --version 1.0.0 --tier L2
$ ainra verify ./reg ainra:registrar-07:acme:invoicing@1.0.0
VALID