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.

“The only option is to delete the account and create a new one, which I think is stupid.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0de637777ea60075e5f0e04bed3901aef1549d2d1ff3e4babd4882aee15c9739
Signature (Ed25519, base64)
Fdg3z3uPi07JzBLQ5zg3fMyUq5OQDIKdkFMJDBbAWFRfWkIfKgft/B+efiBfwL6dDuTMZiPhO0IeEWjbIrnCBQ==
Merkle root
80545feed588a969110bcd2c8e526c8c2e400cad7348c7872c323a1674d2355a
Merkle path
["0de5ad3243d7d59dae9c4306688bcfda6cd2cd33bcdbeaaf2896a2af9f165a34","306b7afafa127589e18bf3806829d9517a52eadb0b5986cbe93682d9161b95b2","84e6877513577c31eaa4f0328431faf817cb3926b6b598b96f089ef1bdc02fe1","bb564d7ba26098cb37190d345cad41daf148221281d27c75dc5b5d011fe6e72f","fa8c14218a710c4885b47333e7205b46fc8ca0ca00ec3e9a101c23e4715d8afa","00724360559e172a994e33d5afad1c215ee3a803c3cac879b7d2be956939c129","8b91b6105b44d17d52cc51836f480cfde601e129b567877f2b4234af07439290","b7dfe5bb3ea959684cdb06179d9f6a41cfc234efef639e03fdfe69d5f0609eec","b17ef15b7bc73dc40ef4bf7c93c5e3160a3630877d9119abd832d760d720f1c5","60797edd9fdefd42da4b986593bcbe55b0f91b04f36ec8dab1bbfb0a84cae7f2","37981614f0ed279c371bfa005ef160504923efac9093e01ab20c3da0c1d9507f","0ca1719d1668d120a6fce323cc79e9d42ad7abb5c9a5dac5c512164c0396f635","cf85b24fc1eda5aee2e6660fb94d01e1afb915d56f864de60a3987cc95b2cea1","8378d9d6ade0d6214a847a4a8145a9f89a0810e29d8d29962807c9aaac17e271","fca9ab6e6247b2eeb89a8619f295121cacecd7391ef0e06251791813430b969a"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2681318538 · entry 108e9186e8c5677a4bab…
Expected log hash
663cb0c78a61cc964eb6f0e00407fec6844129fb0623d2ac072b7b2e4274054b 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":"v1788302168109","kind":"published-quote","locale":"en","page":"subtheme:proton/ordering/free-plan-upgrades/en","quote":"The only option is to delete the account and create a new one, which I think is stupid.","rating":2,"review_date":"2026-07-17","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 (80545feed588…), 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.