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.

“It costs everyone time and annoyance”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
e8c0fe639f825b3ae20c07a4e36b861cdab1bc180564fd7edd1c8c9302a5b1f3
Signature (Ed25519, base64)
I1U3AuyZJ9O7TCV0+3rq3rgyKapP12PucdckCxDsbTHL+Cp4HJzUzrj6cwvDwi6+rUagUVxIqfKkQaCn3hyUCQ==
Merkle root
68ee5f8618d9ce1aa33f2cb5b6f3145b5f909a3c35a03ccc3d10e979b2f81082
Merkle path
["e8b3365a931bfd97e39681220470df164c16315765bf06062c89de23dbcf0373","f4046265d9dab50e29d30fb67b3106355467911f44c9faffd613cdea8ceec5e0","73a012f8b8366a23c2a644aadedba2624a1898845dabcbad0ba43cee612642f6","43b0d0803d0519609eeb606564b8018fcee082a5a20c1389bd28dec7d5dc3710","975d9de9bda7065caee925d7d7d18f07dfa34d02b3bd05e511bf936cd3ff49d7","433699a601a32d2315b3efd51188ac138153b18e6da7cbb7340437b901081efe","d200c7d343a8bf9f8e85f84c746d1ee91c838008ee4923d259c9855fbc541827","daac6123ed00d0278f4690b0bfc29dc0f8a07d9b7638ed2ce46aa69adfc52254","7b96eacdccdcaad84db01a5189e269c0da54abe17c0c8d13bbc9dd196d798b46","94f257be25de8d404a9b9cf3b50c6e342103a7d8707d65174871998218a0fcaa","464a5c9763b083cdb878760bbccf8ce7b3c77eea6088139e0496bfe1ebf8fa85","f406154aae2c44f1794f6b50643080ce6a776c688e18283a272eb008f69d5ee5","662e3ca042b912b1592c5eed9922bd681d278213ed7e0626715348f767464eb2"]
Anchored
2026-10-08
Public log entry
search.sigstore.dev, log index 3140838741 · entry 108e9186e8c5677a4791…
Expected log hash
ca4949400cf2d29b49789563ea2e672fc73762380548d6fd65398e40c0d98728 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":"v1791433229105","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"It costs everyone time and annoyance","rating":3,"review_date":"2026-09-05","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 (68ee5f8618d9…), 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.