Quote verification
This proves the quote below is recorded by Citatio exactly as displayed and has not been altered since it was committed and anchored. It documents Citatio's crawl observation; it does not imply endorsement by the source platform. The quote links to the original review.
“Pass suddenly stopped generating codes”
Checks (re-run on this request)
- ✓ Signature — Ed25519 signature over the record hash, verified against the public key at /.well-known/citatio-signing.json
- ✓ Merkle inclusion — Leaf recomputed through the sibling path to the anchored root
- ✓ Public transparency log — Sigstore Rekor log index 2657725656
Proof data
- Record hash (SHA-256)
0b50d50fcd9d3a330c53aa8c71c9c73db31ab22c2211df05843de00b5fbf8d23- Signature (Ed25519, base64)
tROFvy79iLnnps7/Ft/TT/+Xfq2LH6A6fEdGTU2D/OwYlSK0eWqtV+PPmqUpD+ND6iGkzV010U6ue80++WA+Cw==- Merkle root
d019a962265fd99700bb41421c12bf721bc431ce9725f4e9d547011775ab56ec- Merkle path
["0b4f9e39c4dacfd56ea674f7b59ca29fbbd29fe2ab88cb4d419f1995b87972ab","16e279776cf1744698c0bf202962747c27d6e449ba8c33a6bb7326f3866b89c8","f7ab903c9b9e5fbe797465ca373d701864247b66f179efef57ff13b660c18f67","f718b62a5659942dd0fe08bd1f7ef827d11d9b5ee26f52fb4279830dc9e2f89e","953067d4303574ed0dc040d4d8de32d61bd195d89f0d894947869452a0607999","dc262a2418446649b9b15fa8655eb217d623da2a24f60c64a248643e7a50a39e","8f948f5530db090ed5f7380ad5387caa87506c8fd9068edd68b82de6ef2d89f6","e2e1ade2a1b450230b10f21e64adc1e37aa49e3dad985d5af0a772524206e672","da531636ca8589a0bb866c9f012ce723f6e1392415c3c1571a431384ca31378f","eb3dd5434fe96df428da5de67b44043d1e0a655b59c16fccd9d9ec4f640938ad","4cc034251d442e8c2f32660ba00b05d7f7b553c1726d84f939c0940a5d928aec","a3af7151d6a244480abe5bc8ada397c9af55b3431df57672865c450809772fd0","8d7f9bb84a33c413af9063341c8f5160bc8725a67ef59bd2d044580fb9f3155b","65b176b4a433b701cea4a24b83deb2fa9ed09be9f26f9fdaada87e8434a57f00","a28f44db157d986c9333d9e3edce8ce71060ce7f7d8f4bff70f57fc26d48546f"]- Anchored
- 2026-08-31
- Public log entry
-
search.sigstore.dev, log index 2657725656 · entry
108e9186e8c5677adf65… - Expected log hash
-
b4666dc064e94c6d0ca3a2e9a0c5f9ff5cb70ce3ce9e0a74343a10c712c15a62The log entry'sspec.data.hash.valuemust equal this value: the SHA-256 of the Merkle root string above. Recompute it yourself from the root to confirm. - Canonical record
{"dataset_version":"v1788147462663","kind":"published-quote","locale":"en","page":"product:proton/proton-authenticator/en","quote":"Pass suddenly stopped generating codes","rating":3,"review_date":"2026-07-15","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=proton.android.authenticator","v":1}
Verify in the public log
- Open the Rekor entry (pre-filled with this proof's log index).
-
In the entry, compare
spec.data.hash.valuewith the "Expected log hash" above: it is the SHA-256 of the Merkle root string (d019a962265f…), which ties this proof's root to the log entry. -
Decode
spec.signature.publicKey.contentfrom base64: it must equal Citatio's published key at /.well-known/citatio-signing.json. -
The entry's
integratedTimeis the independent timestamp: the root, and with it this quote, existed no later than that moment. - Locally, without any Citatio infrastructure: SHA-256 the canonical record (must equal the record hash), verify the Ed25519 signature against the public key, and fold the hash through the Merkle path (sorted-pair SHA-256) to reach the anchored root.