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've been using it for 3 years and it's generally good.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2a7e5f72bc8f24b996cd2b18f139319205bf1d39e76386a25e1285e39d9216f3
Signature (Ed25519, base64)
FVHtFLFJqhgPO+cKeGtZ4VyEryXr+XGqNMfBzRJZb8f5VHTwDEeg/fCA7+OLXWTxRThwLbaO6uowCCtFiy0PCw==
Merkle root
ffbc979c8901fdf55f43c5151768b18a738fc1c271c9b2dc97349c3fa8ed35d2
Merkle path
["2a7a18a6a763da4e779093715cfe6da374bcc53fdbc72a82729d97646a3b97b4","83d5ac87b1488b49d097bcd4e2479a66a0a6898e3488d8bcee8ae7f7641738ca","f328f47ccef5134931558c0f9e56dba30b1a952fb76be10f75ec2bab939dd9d6","9c723cdc9f13f6b093595569f4e31ce691a1d0a1e8fbcbc29a98527fa85ed0c3","6e92a994730e88de3315aaf3a96d40def8aa01b24a9c8046aecd34a60e5f9c84","384bdf8ddc6298173d29985816fa5f8c63d05d5b9a358247c6c658ba3646c398","4ee9e4ae5654cd20209f74336d1cc2c52c5925309d08c6fd93318f682fc21cdc","f176d93f63bf66d39eb956852089f5f60064834075cfe33987b81969d3827384","99a0265e0affa8e2bf04f216308e2b8f7c17b56cb1983878872dd64a1f17d6c3","b36edab723caaacf652a98364cb5b5c80ecb3e3db537d01627a6448fe8d1ae7a","93e9ef4d70b0bfde7627411de1f2a7b2718f2effde73028a86eb469cb3475c49","7db894157ed9dabb03cb2365fb7f1c3175f5c464a5f6fd3024b83b95573cd6d5","81757bca5afdb109f23b2b1ab2e08f434f626af25e986d2585973e2409a82e36","2f35432083547a52411b4b8128ab118601abc6a6e158a38894add0923255dc0e"]
Anchored
2026-10-11
Public log entry
search.sigstore.dev, log index 3199173952 · entry 108e9186e8c5677a85d2…
Expected log hash
3bc66074c7b0a853326bf5ba0590a111eee6455dac5c98c791c22eeea9a48920 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":"v1791689192448","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"I've been using it for 3 years and it's generally good.","rating":4,"review_date":"2026-09-06","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.surfshark.vpnclient.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 (ffbc979c8901…), 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.