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)
1386f962586b531b93f63bdba74ec769cc20b552f4d516d007642bb101f0b0d3
Signature (Ed25519, base64)
wKRFUBDYXgeWDmpEp1Ceb54qJowgyFdRpXfCuKkOESoWp2Tpi1SeZUEF+GT0XZmlm2e9EmCvIk8ypaIs5WgxDA==
Merkle root
c1d49fab62e94ee1796f3eb15e1a21f856756e9a68ad117a17ae6c9694ffe1e9
Merkle path
["138cc147e3abf66a6abc0ef258e6a37fba4c7fc38c14a89244c7b8070f7dad09","a15f86614ca5ea2b1095fe0fe12511e3616f5a139a5221b5d85f2d6edc358d51","97823f91e5592f5dc88798cdd81e6c0599bc06092c688027223a0eeab10fda4f","6b803e913e9f48a29136608ac0803bdc65db00461a38072a46b422a380a47f4a","e3af77f39b20061b01394481077a654b44a9ae16680c180576b541529757d57c","ba5385d97a8df557dd74d417afbb9a8d865dd5699ee0cfe320b5118b3eba74b4","92367ce85ef0bb3fd0d113cff474ffc292fab156912815b59bcd0ffacea050f2","5057182d26cc468efd6c018ebc06582949060e802f72f72c963eef8091259e27","5ebba5408cff73f0e4c15548d059aa23778ad71a731df494510c38f62fa429bd","f6e5ae05e516a3c6d9492416729c19c67852323436a8151fc1e8804b1291cfe6","d3ed394b86f69b760fb77a1c3c31f997206df8fc3466086cc195eddf9b175789","219bd599cfb89fbe7096defae6a66c994562ac0a422a5db43368bd9cf9789683","856d9a6a3e94d695a98fa0bb5ce8d80e9fc70a3794652b53ea754ef3c0720b7a","436050ea3288f64644ca44d910bc166b737265d33885dda72495c78f7429279a"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258717636 · entry 108e9186e8c5677abf47…
Expected log hash
30640a6c2a3bbbd5aa6e5244e634da7339a6d42d7209b3c3a5dde0fcd662474c 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":"v1792034121129","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 (c1d49fab62e9…), 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.