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)

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
e2625e03ca8112d902567b372759b1b1cfdf1591befeb5c03dac093cdf478b4a The log entry's spec.data.hash.value must 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

  1. Open the Rekor entry (pre-filled with this proof's log index).
  2. In the entry, compare spec.data.hash.value with 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.
  3. Decode spec.signature.publicKey.content from base64: it must equal Citatio's published key at /.well-known/citatio-signing.json.
  4. The entry's integratedTime is the independent timestamp: the root, and with it this quote, existed no later than that moment.
  5. 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.