2026-11-02 upgrade
We tried to break it before anyone else did, and found one real hole.
The finding
The public route
POST /api/v1/quorum/verify, called without a pin, answered
NOTARIZED, cluster cain-mr-02, for a receipt we re-signed with four keys we generated ourselves,
for a digest the cluster never notarized. The only warning was a "pinned": false field in the answer.Why: without a pin, the verifier checks that the receipt is internally consistent, and a forger who controls all four keys can make it internally consistent. The verify-yourself page and the homepage demo always sent the pin, so they were not affected. A direct API caller, and the Hugging Face Space, which sent no pin, could be fooled.
The fix
- Server route: when the caller sends no pin, the route now pins to this site's live cluster's configuration
hash, and says so (
pin_source). If it cannot load the membership, it fails closed with 503. A caller can still pin another cluster explicitly. Written and tested (5 new unit tests); goes live with the next gateway deploy. - Command-line verifier: never prints
NOTARIZEDwithout--pin; it exits 3 and tells you where to get the pin. Live now at /verify_qaas_receipt.py.
Also new today
- A 17-forgery kit anyone can run (qaas-forgeries.py); all 17 rejected.
- The live 19-check suite re-run: 19/19.
- A browser demo that tampers with a real receipt and sends it to the live verifier.
What would make it stronger next (plans, not done)
- Validators run by independent operators, not all by us.
- A second cloud provider.
- A passed 72-hour soak, published with its raw logs.
- A batch endpoint so one consensus round can notarize many digests.
- An independent review: try to forge a pinned receipt.
FIRME AI CORPORATION · CAIN-42 is a Byzantine trust fabric. Numbers marked "our own check" were run by us, not by an independent party. Nothing on these pages is a certification.