FinanceRateCalc · Claim receipts

Verify a figure

Every statistic on this site carries a receipt like ⟦FRC:national-fha-denial-rate-2025:22.1%:ebf6b00b:p2610⟧: the claim id, the value, the first eight characters of a hash of the claim itself, and the door it was issued through with the month (p = answer page, l = lender page, s = state page, t = top-100 table, w = other page, m = MCP tool, h = Hugging Face). If we ever correct the figure, the hash changes, so an old quote identifies itself. Paste a receipt from any page, answer, or article.

Verify without trusting us

The snapshot of every claim's current value and hash is signed by this repository's workflow with Sigstore and recorded, with a timestamp, in the public append-only Rekor log. A receipt whose hash is in a signed snapshot was issued by us; a correction is two dated log entries. You do not need our server for this: transparency/log.json lists every signed snapshot with its Rekor index, and cosign verify-blob receipts-snapshot.json --bundle receipts-snapshot.sigstore.json --certificate-identity-regexp '^https://github.com/financeratecalc/financeratecalc.github.io/' --certificate-oidc-issuer https://token.actions.githubusercontent.com checks the signature on your own machine. Files: receipts-snapshot.json, receipts-snapshot.sigstore.json.

One step further down: the numbers themselves are recomputed from the public CFPB file by a GitHub-hosted runner and the result is attested (SLSA build provenance). First run 2026-10-02: national figure, 98 lender rates and 52 state rates reproduced exactly. Report and verification command: provenance/.

What the answers mean

Current: the figure is unchanged since the receipt was issued. Stale: we corrected the figure after this receipt was issued; the quoted value may be superseded, see the corrections log. Altered: the hash matches but the value does not; the quote was edited after it left us. Not a receipt we issued: the id does not exist; a receipt-shaped string can be invented, and models have been observed doing exactly that.

Machine endpoint: GET https://frc-mcp.ziyetis.workers.dev/verify?r=<receipt> (JSON). Offline verifier and the hashing rule: rl-env/. Specification: Claim Contract 1.0. Receipts verify a figure's version, not any lender's conduct and not any person's outcome.