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.

“be aware of auto renewal practices”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1cfad7d15210e3b53fcbc7d7fa2c06ec5e240282b5b370439febf5c0b4904ac5
Signature (Ed25519, base64)
T4osF+kxQIac+4S92A2bsU6gIQ3hDEOYa1bLzzGfnA06mDtu8DVKK0VVF/ac5N8nQsrXe+xGQyf/s1ffCcbaBQ==
Merkle root
8e481f891fa4a8f9e77c0279ca152fab4383b65a50decc840d9fd7569bdfbaa3
Merkle path
["1cfc7d57256a54625262ea56528490ea49e1fbf32cfd1d878bb2fb0c81d3c760","8c760517b0d143e1779fa2c48d77dc027402313f03d468f57dc253a03583dd98","7e02716a3e4fc0b783833341abb55be2ae70e3ec81d3839f7a8a20353cee10e6","ab138d75e4e09e6cf2288c3b15924bd2a2570e679670f08c678379a5a014b8c8","b904c46b7207e46e6d3059a7618d672798ba92051580045ada6c755bea631edf","e67f22e7689969d78151f372aa20567841af4de5d31842c1cfc97c8ef75c07d0","f1a271221ff3010a88c347f17f6eb3fb212ff29cb77d39e032670e416c1563e5","8ebb8761ade5d1756c805f738f401da582e0c87535a0e77fab3a860bb9cb654e","bc560861b038775003e38f3ff4f61129da28c25a84f97ba676b95f820be3e4c9","85fdfaddd759a45ccf9c514e46c5d5c101ac00936a3a2fe15bddc3dd69ce5b26","450f4f35f5548eab6a7f1639377fee5d357030d0291a1d4b5a0c14003d3273c7","e6e816e468ee57faede5611415d31c1593612a3fda282a14b7a9f7fb03672a5a","f12c6d940ab3feb9a920f8708be9c7f52b5aa4637463f6ea0927f2330e210f4f","391099ea13ca712ab4d3c0ebed9ae37f021122ce33d031a4f3442fcba2038ec0"]
Anchored
2026-10-12
Public log entry
search.sigstore.dev, log index 3220367991 · entry 108e9186e8c5677a60ce…
Expected log hash
9a2b3ddad9c3b29dc171a15554fc81f3d4710c01a7565bd2f28b92e7b639f6dd 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":"v1791776812348","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"be aware of auto renewal practices","rating":1,"review_date":"2026-08-31","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 (8e481f891fa4…), 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.