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.
“They didn't reply to my refund email.”
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 3637396099
Proof data
- Record hash (SHA-256)
0b8a866115b7d2a0137f67dab7d9c8a1649140564e41369f5ead72cb89abd65f- Signature (Ed25519, base64)
G/RoFWTWc6dJFDPE5h25bWAQXkTfWCWe4GLCUKXcpd+HtK15ydM3TvdyWv1u/CFCeHW2V+Aznu6mRNaZU2cBAg==- Merkle root
8f2c2f05f88c969dd850965729c24c32c52cc6403a26008c0bd53784ae27507c- Merkle path
["0b9230aa2c6642def60cc6972d4cde437a7262c35e680c4d299063a3793b1b9a","f187ba51bc736c93c3ad7db1483048e92fa8f18e02421d99cb35a821537c2f40","2d913c7736c09af260563cf2540f78b3df9cf2c070ad508d45f3b3d47fd7b41a","343e7a02b17abe6ae773565d493be70229d42c0e129bd06ab2c7105819b17061","07e4adb8e059e9f01004d3d102712321eb4dee38d6517363696b49c208ad53b8","bc64c684c0adf6c5efacce3f069418673d929e30dd2fda936d471a5752abf622","2175d01900fdb93c47164fecdc3a9dc055390cc48bc9d0eb30dcee66e4877b4d","3c919dce2211f672e3a162ef89383700d5caadea4bdca60fb01db6a0aa716c9b","04c30f8c1817fdacbe3ef9d512a9b33de4a33a3e33dc60c0afab972064e14e30","acef9474edc08c67f71966b565f0fb1c62067a443a9dc5e4943324a57bdce542","9e3c04fc08bd62849a8af91b719f66804ee8710de126ec9bcaca27dd74c0b3ba","a4032a234c9f4713654e6a84ab5dbda9df3bf27d86ebb8ee6e761e0263dc017e","1cc438269a1190f75ec95ac8b661278f7f1bcbf699a11b5ba685e615e03039c4"]- Anchored
- 2026-11-02
- Public log entry
-
search.sigstore.dev, log index 3637396099 · entry
108e9186e8c5677a241a… - Expected log hash
-
e2625e03ca8112d902567b372759b1b1cfdf1591befeb5c03dac093cdf478b4aThe 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":"v1793587598614","kind":"published-quote","locale":"en","page":"brand:proton","quote":"They didn't reply to my refund email.","rating":1,"review_date":"2026-08-10","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.android","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 (8f2c2f05f88c…), 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.