Verify · nothing sent · no account
Paste a signed card. Recompute it here.
Two modes. Cards recompute Ed25519 against the key the card names: estate cards use did:web:csoai.org#card-attestation-1, and mill and pod measurement cards use did:web:csoai.org#board-attestation-1. Public-root mode loads GET /root.json, verifies its Ed25519 envelope against the pinned board key, and binds inclusion proofs to that root. Root membership does not individually sign a leaf. This is not a certificate, and it is not a training record.
Attestation trio for strangers: VALID (signature and payload match), INVALID (signature fails), UNCHECKABLE (superseded living stamp, missing PQC seal, or verify path not wired) — never paint UNCHECKABLE as INVALID by default.
01
Hash
Recompute the content identifier from the exact bytes.
02
Signature
Check Ed25519 against the published key named by the record.
03
Inclusion
Where applicable, bind the leaf proof to the published root.
Verify a single estate record
Paste any one estate record — hash and signature are recomputed here, in your browser, against the published keys. Share a permalink and the recipient's browser re-runs the same check on the same bytes.
Free verification → optional commission receipt
Free preview loads a historical signed governance card into the verifier below. Its current board admission and quotability are not established by this example. The paid commission door issues a receipt for a named subject and re-serves signed cards already on file; it does not run a new measurement. Before paying, check the 402 challenge for the signer state, corpus date and cards available for your subject.
/interop/mill-cards-signed/signed-governan-e9bc92b7b39b.json
Chain replay is not claimed
Board stamp — living board, not your card
This is the published board stamp. It is not a stamp on a card you just pasted. Empty fields show exactly why they are empty.
Attestation · live from GET /api/gspc · click any row for traces
Measurement freshness · derived from GET /api/gspc · measured_on
behavioural axes 2026-08-12 · jail 2026-08-18 · financial-fact axes 2026-08-25
living_stamp.gold_run 18 Aug 2026 — payload stamp, not a live re-measure. Board counts stay derived from GET /api/gspc; no new MEASURED invented here.
These run dates are weeks old. Freshness is labelled; the board is not re-stamped from this UI.
Living Stamp — SIGNED
Do not treat this as a valid attestation. Check site_attestation instead.
Progress · 23 axis · 23 measured
N→N+1 drift · UNCHECKABLE
No published board time series for N→N+1 drift. Empty stays empty — do not invent drift numbers or a Merkle seal. Cite GET /root.json and GET /api/gspc for the living snapshot only. Living snapshot only — cite GET /root.json.
23 axes are on the board and every one carries a measurement — no declared slot is empty. Both counts are DERIVED from the axis array, never typed; if a future slot is added with no run behind it, this line separates the two again on its own. A measurement is not a separated leader: 0 of 14 model-comparison axes separated a leader · 8 TIE · 6 UNTESTED. A point-estimate lead is not a measured advantage, and UNTESTED is not a tie.
In-lane measurements · not board rows
2 slots measured in-lane on a smaller fleet with no separation test. Published as measured_in_lane on GET /api/gspc — never stamped onto the board. Board public_count stays 23 axis · 23 measured.
What this button does NOT do
- The estate-card verifier recomputes the payload hash and checks the Ed25519 signature against the published key. Current v0.1 signed cards are under 1KB; the envelope specification allows a maximum of 3KB. Authorship is carried by a card signature checked against
did:web:csoai.org#card-attestation-1, public keyd4cb0eaa16d5f50b…— read it out of that document yourself and compare it to thepubkeyon any card. A card's trust path is an Ed25519 signature over a SHA-256 hash chain, verifiable offline against did:web:csoai.org — no blockchain and no timestamp authority sits in that path. The /xrpl-attest page is a reader of GET /root.json (signed root envelope; inclusion does not individually sign a leaf). GET /api/xrpl is a reader of that root (writes_board false, live locked 16, same merkle). Historical DEVNET Payment-memo / CredentialCreate hashes are not this feed. XLS-70 Credentials are live on XRPL mainnet as an allowlist primitive; we are not issuing GSPC grades on-ledger. Separately from the card trust path, The current canonical public root has a proof-derived STAMPED_PENDING_BITCOIN calendar proof; it does not yet prove inclusion in a Bitcoin block. That witness covers the exact public root.json bytes only, not the separate signed-card index. Queued and candidate atoms are not automatically admitted, published, or anchored; a pending calendar stamp, where one exists, does not by itself prove inclusion in a Bitcoin block. The current canonical public root has a proof-derived STAMPED_PENDING_BITCOIN calendar proof; it does not yet prove inclusion in a Bitcoin block. This covers the exact public-root bytes only, not an individualcontent_idor the separate signed-card index. The post-quantum ML-DSA-65 (FIPS-204) path is planned and scaffolded only; no PQC signer/runtime is built or published. - The 3KB envelope ceiling is binding; it is not the current card size. An ML-DSA-65 signature is ~3.3KB and cannot live inside that ceiling. Hybrid, when it ships, is a second receipt on the root / DID / inclusion bundle — never a PQC-signed card.
#board-pqc-1is ABSENT. No PQC verify helper is wired. Fail-closed: a missing PQC seal is UNCHECKABLE, never VALID. PQCBench is the GSPC continuity arena (csoai/gspc-asi), not a post-quantum signature on these cards. - It does not contact a server. Verification is local; you bring the records and the WebCrypto implementation in your browser.
- It does not assert that a model is "safe", "compliant", or "authentic". Those words are not in the button's vocabulary, on purpose.