Verify yourself

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.

1

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
2

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.
3

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
4

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.

All paths above work today against bundles already on the leaderboard. The github.com/<org>/getai placeholder lands when the repo is open-sourced (currently private during Phase 0 dogfood).