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.

“I never used the paid version after paying”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
02cb3e726f13db6cc861ae0a7fcf1d18ae2372ee194af7267b69ada5781b36b1
Signature (Ed25519, base64)
4b4lW8LLf+UJY+ZnYqgCwaW5VIp46EhbzG/3NgWGandcJb+bSCXqpM0RA9xyvhONnV0/1DpmM9oW0FqsSKGFAQ==
Merkle root
0330ee7ba8e00d15f6426658b22fc27ca31e59d35f748e4fce3d7515247465a9
Merkle path
["02c95cc3ad5d287d9100dc5278ae7a6549fbfb0d1dc6cc984b1f8b6c0e5ba241","50b314c3f68c629a046bc8acf5dc9f63e2f6d737aeb9dd968daccad9bc72f8c9","4ecb28d8b3bf9843d26f8b44977c559149169abcd22e8e6fa25148b5d102f014","eb777bed2fdc1bc155026c6cee290e46deca7174e058b68c6f3b9c1cb075c8e6","d8518f3ea1eab781926de092231be131cda5564bffed4725481b0c67ab660b34","b40597a61a3b34c34733f3715f6f4b1f11621728163b0fac0f7a38e2110f61cf","0eb5216626626c31cb22eae174a4de9b33f60588cd784c758870b13feb906f72","b0cbf82d3218e133da701b3446bbf614d0ed91b97ade8204d80cef1afe460938","7958eb299dedaf3f7392d591a6a1a8156a87778260f3749f1affeec7cc98e879","5cda2ab45d04d266615324978fc4fff83403a4aba46cc76d983c471ad1d751ea","26ae8c5eef09856942f81b4fc3bfb19837c34e41aadbe21fd6c59996ef2c3d01","6cd33a246b09c3a683aff5ce977e0f0a484d42a8ddad2b2a0aa309ecbb9d62d5","d2273f3e7fcc58954042e67e1b5e452db8462b769fd73af7f44aaf6e9dfd66bc","ed4e39ebbb5872b55140ed929350a396fe817203642e6e65038bc747a571190c","e840d0519b86830bf6feb5135bd7342a46b8fe53cc7a93dcade23c2aa6372980"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2680529400 · entry 108e9186e8c5677a5261…
Expected log hash
1808beecdc671d46626ee766a7fa4743ba6aa74779b9fdbb552c4293852a77bf 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":"v1788296426818","kind":"published-quote","locale":"de","page":"theme:proton/price/de","quote":"I never used the paid version after paying","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 (0330ee7ba8e0…), 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.