Independent verification · the escalation path

Don't trust the page. Don't trust us. Trust the math.

The verdict page renders results from Rubric's endpoint — convenient, but you're taking our server's word. If your job is to not take anyone's word — you're an examiner, opposing counsel's expert, an acquirer's security team — escalate a rung.

Rung 1 · Raw data

Read what the endpoint actually returns. No rendering.

$ curl https://rubric-protocol.com/verify/v1/verify/tree/<attestation-id>

Public, no key. Every signature result, every lineage link, every ledger timestamp — machine-readable.

Rung 2 · Your machine, our code — inspected first

Run the standalone verifier. Rubric is not in the trust path.

# requires Node 18+ · source: github.com/0xsims/rubric-verify
npx @rubric-protocol/verify <attestation-id>

The tool's only baked trust is a pointer to one message on the public Hedera ledger (topic 0.0.10416909, seq 276123) that only Rubric's operator account could have written. It derives the federation's signing keys from that ledger entry, checks every ML-DSA-65 signature itself, walks the lineage, and cross-checks every record against its on-chain anchor. Hand it records from a hostile source — every cross-reference is hash-bound, so the source cannot lie undetected: --dir ./records verifies local files with the same rigor.

Read the source on GitHub →
Rung 3 · The records outlive us

If Rubric disappeared tomorrow, everything still verifies.

The signing keys are committed to a public ledger. The attestations are anchored to it with consensus timestamps no operator can rewrite. The verifier is open source. Nothing in the verification path requires Rubric to exist — that is what generator-independent means, and it is the entire point.