Run the checks yourself
Fetch the files from these URLs (or the GitHub source tree), then:
# 1. Score the reference runner against the 14 fixed vectors node score-runner.mjs # 2. Prove the runner itself is the tested thing (24 checks + 10 mutants) node runner-tests/runner-tests.mjs # 3. Verify the third-party Rekor anchors (9 checks, live log) node anchors/verify-rekor.mjs --record anchors/anchor-record-v3.json \ --statement anchors/anchor-statement-v3.json # 4. Rebuild the published npm tarball, byte-for-byte node repro/verify-rebuild.mjs --manifest repro/source-manifest.json
Nothing to install beyond Node. No accounts, no API keys, no trust in the publisher.
What is published here
Test vectors
14 complete card artifacts with known verdicts. JCS-canonical bytes as hex, base64 and UTF-8 + SHA-256 — verify signatures without guessing the preimage.
Browse the 14 vectors →The runner is the tested thing
24 behavioral checks against a recorded answer key, plus 10 mutant runners that must all be caught. The scorer stops being a trusted component.
See the oracles →Rekor anchors
3 immutable entries in Sigstore's public append-only log. Countersigned, timestamped, inclusion-checkable — the publisher cannot rewrite what the log holds.
Inspect the entries →Reproducible build
The published npm tarball's inner tar layer rebuilds byte-for-byte from public source under a stated rule. Target downloads from registry.npmjs.org.
Run the rebuild →Reference scorer
Two-sided validity window (issued_at ≤ NOW < expires_at), ground truth derived from card bytes, fail-closed sidecar policy.
Read the source →Machine index
Every vector, verdict and digest in one JSON file — the artifact a verifier downloads first.
Fetch the JSON →What a stranger can prove
- Verification without the publisher. Each vector ships its exact canonical preimage, so signature verification is reproduced — not guessed.
- A runner with teeth. The answer key pins the runner's bytes (SHA-256), its behavior row by row, and 10 known-bad mutants — every one of which is caught.
- Immutability via a third party. Suite digests are countersigned and timestamped by Sigstore's Rekor log; inclusion is publicly checkable after the fact.
- Builds that don't drift. The npm artifact is pinned by digest in three places (registry, repo, Rekor) and the tar layer is fully determined by content + stated rule.