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 gets stuck at 35% and won't load any further”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
204150bb02cade5b2cb6fe1782a0516e905a81fb7c259a46659ea0941c536a0e
Signature (Ed25519, base64)
MYZmtMerf1L8dlYGd0SZDjFxxg+U0OypEzIr9hUUbp35zk0bGPzXNoV0ktViw9zJpFzB86HrEYwZSBzKW8GKCA==
Merkle root
ffbc979c8901fdf55f43c5151768b18a738fc1c271c9b2dc97349c3fa8ed35d2
Merkle path
["20439ad6ffacc1ca00218a652e29426e6386bf460b82d048fdb3d6249c48047b","8167d4f114b8d7bc22fc544cc72dee64dc4a3e28a890ff60f9d22a2dc4914577","95abbeb7245e730888937e2e11bc4c09c315722a858d2e9d81ab7799d8438dc6","e519ee3dc46256f09216661d2cc9df6aab00b32ff9503a992deee4e92ad3c81d","e579f28b9604d85a0b89bfae0113d0563c52f194e80404fa594192f57d6f31cc","3cadd90a93af9249b79c92d2fb5fa646318e3bc3084c6c4f6e9d9824a7977f6b","e940ad18ded8158002654b60ae8bfc0ac084fb0076e9e08e40fd48876ed99ecd","43f7e29a27f3d98477e429e59b992c8b6850685512270f8b5ae4d1f8bd9e0e21","2a28bb82ca1756bd605b29cb34cca67266bafc825e7f5f59309d71515fab9f6a","2f67c30991863a3de7410fb2ac9933c1a1bdb626cd9aa5238ed7a509691172cc","c1e301c933406fd6db9108a2931b00d4f0fa66e93d9f930859a67b8bf903e209","9ef508adee40f106af5da543ac881bee98966b5cbaa60f63357b505631495631","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":"it gets stuck at 35% and won't load any further","rating":1,"review_date":"2026-09-02","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.