Audit any score in 4 steps.
No GetAI infrastructure access. No login. No trust. A bundle's bytes, the daily Merkle root, and a CLI you compile in 30 seconds — that's the whole audit surface.
Pull the bundle from R2
Every bundle is publicly addressable. Take the URL from the leaderboard or /api/status.
# direct from the public R2 dev URL (no auth) curl -sLO https://pub-7e6062188eba44668be469d941736b43.r2.dev/2026-04-18/bundle_0.zip curl -sLO https://pub-7e6062188eba44668be469d941736b43.r2.dev/2026-04-18/root.json
Recompute the manifest hash
The manifest.json inside the ZIP is the canonical tip. Its SHA-256 must equal bundle_sha256 in SIGNATURES.json.
# unzip and hash unzip -p bundle_0.zip manifest.json | shasum -a 256 # → f57ea3fd112f21272d48bc26bd41441e7039dedd04f90936f91f2b19e0c7a3d1 unzip -p bundle_0.zip SIGNATURES.json | jq .bundle_sha256 # → must match.
Walk the Merkle proof to the daily root
The bundle ships its own inclusion proof. Fold the leaf hash through the sibling path; the result must equal the published daily root.
# compile the GetAI verify CLI (one-time) git clone https://github.com/<org>/getai && cd getai/services/workers python -m venv .venv && .venv/bin/pip install -e . # verify a bundle against a published root .venv/bin/python -m app.cli.verify_bundle bundle_0.zip root.json # → ok bundle=bundle_0.zip root=1abf8c47…7a6f leaf=f97e3d45… # non-zero exit ⇒ tampered or non-included
Or skip the CLI — use our edge endpoint
Don't want to install Python? GetAI runs the same check at the edge, via Cloudflare Pages Functions. Anyone can hit it.
# integrity check at the edge — no auth, no CLI curl https://getai.getinfo.com.tw/api/bundles/eb_1abf8c473a0c_0 | jq .integrity # { # "status": "verified", # "expected_manifest_sha256": "f57ea3fd...", # "observed_manifest_sha256": "f57ea3fd...", # "expected_merkle_root": "1abf8c47...", # "observed_merkle_root": "1abf8c47..." # }
The edge function fetches the ZIP from R2, decompresses in-memory (fflate), recomputes the SHA-256, and compares against Neon — a complete cryptographic round-trip in < 2 seconds. If it ever returns tampered or missing, file an incident and don't trust the score.
What "verified" actually proves
- check_circleThe bundle bytes you fetched are the bytes we anchored.
- check_circleThe manifest.json inside has not been swapped or edited.
- check_circleThe bundle is included in the daily Merkle root we published.
- check_circleThe daily root in the bundle matches the one in our DB row.
It does not say the model is good, the score is fair, or the judge ensemble is unbiased. Those are methodology questions — addressed on the methodology page. Cryptography only proves this is the score we computed — methodology debates start there.