Verify, Don't Trust.
Paste an attestation envelope below. This page verifies it in your browser — crypto.subtle, no account, no network call, no server. [PASS] or it is not.
Citable standing
An iqa URI names the attestation state of a subject as reported by one of three named organs (forge · tss · gateway), without carrying the underlying proof. Reading the syntax establishes nothing about any subject — standing is established only by the seal and by the answering organ.
This browser cannot verify offline.
No Ed25519 in crypto.subtle. Use a current Chrome / Edge / Safari 17+ / Firefox, or replay the vectors with npx @aicent/iqa / python -m iqa.selftest.
1 · Live — the grid, attested in real time
Latency is measured in this browser around crypto.subtle.verify (includes JS scheduling overhead). The RFC-009 §4.3 target (< 150 µs) is a hardware-integrated figure — measured numbers are shown as measured, nothing is claimed.
What the live stream above proves — and what it does not
- ✓The Ed25519 mathematics. AID self-certification (AID = SHA-256(pub)), canonical signing input, and the signature itself — replayed locally against SPEC/IQA-URI-ATTEST-v1.2.6 §5, the same vectors the iqa-org (PyPI and crates.io) and @aicent/iqa packages ship.
- ✓The grammar. Claim payloads are checked against RFC-009 §10.2 — closed sets (forge·tss·gateway, verify·audit·attest·revoke), lowercase US-ASCII, fail closed.
- ✗A verified signature does not prove the standing is true. It proves who said it, not that it is so — parsing is not attestation, and verifying is not trusting (RFC-009 §10.4). Whether the standing is real is the answering Organ's business (§3), not this page's.
- ✗No revocation, no lookup. A compromised key stays valid to any verifier that has never met it. Absence of evidence is not evidence of compliance — fail closed (§12 #10).
- ⚠In the live stream above, the issuing side is a simulated Gateway organ — the subjects, standings and vitality numbers are canned. What is real: every envelope carries a genuine Ed25519 signature, and every verification runs in this browser. The issuer is theatre; the judge is your machine.
2 · Verify an envelope
3 · Seal a claim (your own key, generated in this tab)
4 · Replay it from the registries
$ pip install iqa-org && python -m iqa.selftest # [PASS] all 59 checks — PyPI
$ npm install @aicent/iqa && npx @aicent/iqa # [PASS] all 32 checks — npm, independent implementation
$ cargo add iqa-org && cargo test # 33 checks replayed — crates.io, SHA-256 written in-crate
Three implementations share no code; all replay the same published vector set (sha256 9ec8d9b1…, shipped in each package) and agree byte for byte. Apache-2.0. Versioning: crates.io mirrors the stack version (1.2.6-alpha); PyPI and npm carry package-maturity versions (iqa-org) — same bytes, same vectors.
5 · The 30-second loop — one address, three ways to know it
# ① machine side — a clean machine pulls this from the registry first:
$ npx @aicent/iqa
[PASS] all 32 checks passed (node, independent implementation)
one address: iqa://3f9a1b2c.gateway.iqa
│
┌─────────────┴─────────────┐
▼ ▼
③ web side (for humans) ② code side (for machines)
who the address is: where it goes:
organ · standing · action 4-byte route fingerprint
resolved above, live 5c378581 — pure computation
│ │
└────────────┬──────────────┘
▼
① 32 published vectors pin both → PASS