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 is impossible to enter a new activation code for renewal.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6a976537637a36a261c7171a779ff209da9961561ac862311d40a8063ac518f5
Signature (Ed25519, base64)
iZhLBj86JMWE7NfHP96b7xrKRjEeowiGHHw6K7H+MpZx2SGP3F+DCswZfOS51M3TwM2uBQ+0jLq3vQVefOyUAA==
Merkle root
68ee5f8618d9ce1aa33f2cb5b6f3145b5f909a3c35a03ccc3d10e979b2f81082
Merkle path
["6a97395ee4b835344756796d0aef65e4c14b47156320524b3047519d0152e8fa","0d52a7f4bba271debde66b798a461f1d00da51bd3f0acea8982e63ee68dad5dc","dae24b3137504afe452a5d259c7ffb9f82d04b154c3a48591aa0fe7c58dbb2c8","be5f049288538ecc58b21a9e972bd884c35931e63b71101fa9ae28f42ebcb884","dabf52377088e0e112fe8ab51260b9c6eba3d08d2626c4c20b0d9f8d88802129","0e2a68cb9f64701c5252be0e1222043955d177b584c73e87658016ce28323f87","2adaf4202897f72d35d710b96052650ec735647ac5f2bbbc7b087ed6e737752e","d52ad7b42272612b21edb6b37bf623f991d8707b04eff4dccbbd4022250c4126","f458073752f60e7621a9fd66dee55ccdf9f12769396eeafc0e9288e695e34575","decef75bc89356bdf94d71dd09885708440649c75607701c0b4dcde104a219fc","56d68862d4b49a1aeb6a09aa559f42310fc778f38c79d53bf34ecc54b851ce80","c6e64e12e0b8b2f5eca9fac3d3f3899ea445ebb78d97caa0a799132e0d17d541","71e82fca1bf2ae48cb6a9adcd3ce0a0d0fa2dea7d80e41cfa26b2813f59587ef","e66299710f80b56c392136748910ac59d79a991f3e479ea8a96c5c23e200aa78","418554fa0ebde54d6cdcc03145c7126505ed96d3734e8e7ae56dc0dfd8ca0a2e"]
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 is impossible to enter a new activation code for renewal.","rating":1,"review_date":"2026-09-01","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.