Verify, don’t trust.
The Anulum portal and Hub are designed so that the server does not have to be trusted. Every scientific claim is sealed, every seal is verified in the browser, and every key is pinned out of band.
Offline root ceremony
The Studio root key is a hybrid Ed25519 + ML-DSA-65 key pair produced in an offline ceremony on 2026-07-02. The private halves never leave the offline vault. The public halves are pinned directly in the Hub shell source code.
Root key ID: anulum:studio-root-2026
Published evidence key ID: sha256:8e59ea1452e127dd32e886b3e634cb68064f9c326c9f74682eb81389901d92bc
Signed well-known keyring
The Hub publishes a signed keyring at
/.well-known/scpn-keyring.json.
The keyring lists the evidence-signing keys the Hub uses to seal benchmarks, databanks,
and federation manifests. It is signed by the pinned root, and every key inside it is
addressed by the SHA-256 digest of its own public-key material.
1. Fetch the keyring
Download /.well-known/scpn-keyring.json from this origin.
2. Verify the root signature
Check the root_signature against the pinned root public key
(anulum:studio-root-2026).
3. Check content-addressed keys
Each key_id must equal the SHA-256 digest of the key it identifies, so a
key cannot be swapped inside the signed document.
How to verify an artifact
Every published artifact — a benchmark databank, a federation manifest, or a transparency
checkpoint — carries a studio.publication-seal.v1 envelope. The envelope
signs the canonical digest of the document under the published evidence key.
1. Download the artifact
For example, /federation.json or
/benchmark/databank.json.
2. Extract the seal
Signed artifacts are wrapped as {"federation": <doc>, "seal": <seal>}.
The seal contains content_digest, artifact_kind, and a
signature.
3. Recompute and check
Canonicalise the inner document with RFC 8785, hash it with SHA-256, and compare to
content_digest. Then verify the signature against the published evidence
key.
From root key to browser verifier
The root key signs the well-known keyring; the keyring contains the evidence-signing key; that key seals every artifact; and the browser verifier checks the seal before rendering.
- 1. Root key — pinned offline and never exposed.
- 2. Keyring — content-addressed evidence keys signed by the root.
- 3. Signed artifact — every published document carries a seal.
- 4. Browser verifier — re-computes the digest and checks the signature.
Append-only log
The Hub maintains a transparency log at
/transparency/log.jsonl. It is a
Merkle tree of published artifact digests, with signed checkpoints and inclusion/consistency
proofs. The browser verifier re-checks the log on every load, so a silently altered
artifact would break the proof.
Run the verifier yourself
The @anulum/verify package is the same verifier the Hub shell uses. You can
run it from the command line or import it in your own tools.
npx anulum-verify https://www.anulum.org/benchmark/databank.json