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 the email for refund”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
06f588d338e4ff008d8b323d7d8a2b005ac0859db77d45bc0cfefb2bbb3fdaf7
Signature (Ed25519, base64)
VjyJ40Vr+6BfhNsXlWGSZLJryEEY+V6GBxgdyM8mJ0dQodYfs+8dLE+zW9Ob9z0cy2Ze6SbAvXBvy3j+jilzAA==
Merkle root
405d85333c1c03a7ae86f6b232380a3f0e8a386e4cd2c9bf5bd2480ae9ba2988
Merkle path
["06e5f086f8aab3d9f82a08ed0ce867579b4fa1750b18192ca1168c27b8bbfa45","0c133b4fde2d0eeb387ab5eae24fa372110398c6ef335e2daf36e3184608a426","779a75baaf133500f0312e7e766b27bd041414e700f662a249ff074395e39ae6","3284fcf249de0215ca3d87c3052634f1796d797455432f0cc3927c62d19fb2aa","e37cd13fc4f79666d45195006dfffd57a0ef3bee29a6ee5dceabe71c52b3f685","3d5406849d3a47e6e3c28366ecf6aba9e9c67517d38a24208ffc61d47315af21","f3df55741929e4f9a4c5c7e9c5455ceb8785d56e83cc888a384fcdb0a9f66ad4","021cfa2f0b6e60344f967f090c39c3b70102388f0f0ff154f4255914d86d3e01","76e74f0fe8f494438f2b6b5a579630f164c7e6a7cdfd1afc580d018bb4a11dfb","53166ac6aa2d72eed2c595c332cae2572567bc4d29a0d413a0bb93a319bbf727","9042b1a9a265251aa85b8f7a8cb217e986d09163da8aee80a3bf1f89ce1ddc8f","786bb926eb6a5735d53cb29a06ff3e65b4d29ef8fd39d596873e263e6e08aa4b","19a71f7971408d12f874f3ea09b06e4f9b44cd26f6dbc08d0466f033f9881220"]
Anchored
2026-11-03
Public log entry
search.sigstore.dev, log index 3668983302 · entry 108e9186e8c5677a323f…
Expected log hash
f9f0f1b08ea9ca6d951fb003d493c517d980826708a70b4fc99c8b9c98e286e6 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":"v1793707617662","kind":"published-quote","locale":"de","page":"brand:proton","quote":"they didn't reply the email for refund","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 (405d85333c1c…), 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.