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.

“Account status did not change after making the payment”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
069e066a6fefc35cd1f93e61f8bb8b416bed90796226b2bf18a13aa3a36733b6
Signature (Ed25519, base64)
+k/ak0Fh+1HlTbmPYmZvt1vwmAl2beQbIjF7/vJaZmtQJrECgy4ooH9UYfaqvnM5/OKt6X9OhG0Xu/hrAu8VBw==
Merkle root
310b64369d9dd4f7c8b82e9d51fc60783f65ea997f09c79fbbc0b2f157e320f4
Merkle path
["06a69f05d90ba0071f4ea7ad1adf24798eb060aeb45fa32e0dd411dba68c7c5b","b78c5db9f6a4ed03e6a1b0fb1c8ec223141503449fd24b442fab2b2d663dad92","b346c83b201cd8301ef14b2fade720b18bf0cce3be326a45e94b65e8d3f6f84e","074b9892efea251a3a50c110694062f6c45350ef576b74725874810c68c1f399","935abd603a7c3781c2d6b39de3bc9a07332745cd26fdb549e931dfa923dbb32a","6b52ca8688a9811e1d467cf83edc86046279dc9cc20d71b040539844a1aee57b","ba8b6de04b730cc0b477773f0e19b358d73d7c098e731e4fad6e17be558fffe1","bde4069034f36f7362be4b715ce67c304a4f0c9cf03076ccd083ad9ea52d8e63","6c6142aec6d6fcce7847989fc3f1e25d9d99838673ff91f4380ecfd1f8bb3587","a90c16787e0da8ced771c7d8fef6f95ff78b4a1f8641e1a625c18b8bf39ddfed","376caef7bc817cb00f9a62cbfae4ec58a0512bafd2221a44f1ed8241081eda0b","5322f96a7b239e91cfd7a27c238ef9e8d8f262b62a815169b73496f781239733","8e148846dc01159f1d851c01edf8fc4473b549b2982c2167fddf072d6df0fe4a"]
Anchored
2026-11-03
Public log entry
search.sigstore.dev, log index 3667758936 · entry 108e9186e8c5677ae637…
Expected log hash
9a33982f3342f86c5c272d43e34326c44949ec2e7c02d33c4c9f74b2890c7752 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":"v1793704544999","kind":"published-quote","locale":"en","page":"brand:proton","quote":"Account status did not change after making the payment","rating":1,"review_date":"2026-08-13","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 (310b64369d9d…), 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.