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.
“This app is not free”
Checks (re-run on this request)
- ✓ Signature — Ed25519 signature over the record hash, verified against the public key at /.well-known/citatio-signing.json
- ✓ Merkle inclusion — Leaf recomputed through the sibling path to the anchored root
- ✓ Public transparency log — Sigstore Rekor log index 3177778280
Proof data
- Record hash (SHA-256)
2edcdbbf6dd0e5ac34b1cc40721ad0f9ac600a2c751fd6d954d79ad8e631c66f- Signature (Ed25519, base64)
DI/yzt7pSYBOOLD0boTRjyuhz70gdHlo9O+3jwNIJWLp1n1F4ip2ZcNdeKsAhDDBFqr7YcbGAGSr6GHOaVsECQ==- Merkle root
9bf5e8bc71b8f6d2ce627972b9fb81fedd792f7b02f32eb60fb8da440673ef59- Merkle path
["2ed8d8feddf48edfff077f8cd5d8727a2bf252ac5e955a580cf9ac45445ed1f2","32774e7462241bb5be560a9581f6b512189b6cd66e4c7fa47b550ee88159148a","1c8b5bf851549b577d51df5466e99a8ff18a02a9d2ac352b997ebf6dedf17730","b204a89fe36173897a7d8b71d6a3ba744db865ce0c7ccab4f0302120a4f09ddd","0407c199d8cf784343dfe9a562d3386ae91172b2441c54d214f8f1aecc31b489","3fda4f35a4bbcb07e61e1f4249e8d34b97cd07f1d48e1c4aa86fa16f5d8da4ea","d8e975b347e4b53e7cc9995512f740c11676bc7919cb82ff62c243073ef65841","bc497e16ef1156b952f49898ffa2d90c2c9591de22fa126f0c3a212ab774371f","cd6b576c23b087ed83af50592397717799a82c8c05c9ee2f43f8c047fb25e146","59adba348ff21fbfa810849769d15b08a305704177cbdeae4a1d80dad19f4398","633dc26335fe45f33f3010a4079a2aa60318ea8374c045a7c9c1cbba090fa33f","53dd6904824ad544916531788d61c0e418742b30a49a317c1dc2fd8a01bbcaae","fb42483682b3119978267e05c9c995226602ecd8627ec630ce52b285c28faff3","09f662acb98b118c251b87092b3ab5baf38f48e2410961a49013a1c2f63f4cf6","1fa7003be7676d7952d939a45bc47245b2ced828dca06428675c885e312c802e"]- Anchored
- 2026-10-10
- Public log entry
-
search.sigstore.dev, log index 3177778280 · entry
108e9186e8c5677a59b6… - Expected log hash
-
6b6bda8efa0d998f344024bc1a70908bd21604d8857c81e0a6e6c5b1de7aa565The log entry'sspec.data.hash.valuemust equal this value: the SHA-256 of the Merkle root string above. Recompute it yourself from the root to confirm. - Canonical record
{"dataset_version":"v1791603230890","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"This app is not free","rating":1,"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
- Open the Rekor entry (pre-filled with this proof's log index).
-
In the entry, compare
spec.data.hash.valuewith the "Expected log hash" above: it is the SHA-256 of the Merkle root string (9bf5e8bc71b8…), which ties this proof's root to the log entry. -
Decode
spec.signature.publicKey.contentfrom base64: it must equal Citatio's published key at /.well-known/citatio-signing.json. -
The entry's
integratedTimeis the independent timestamp: the root, and with it this quote, existed no later than that moment. - 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.