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 costs everyone time and annoyance”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2aa1e5984917d0c8a94fb037f0e13bd06b59fab0e656bbe30643504cd94bd0be
Signature (Ed25519, base64)
FCFiazIFkT+OwZlS5sABO7oRowBqAJLhTwo/YfhRjMkN3h0jp+gOci51c7q0slX4FjeUlcgBxzJjJ7XjvmEWAA==
Merkle root
00eb1252356f6576712ea4fb614a5236163b3b1821e2db4cf332fa9ac5a6c4e3
Merkle path
["2aa18a8c56287b36d8a199d9d0dd84f5a9ca774bf62d94a72e230fb729422e1e","8432dcd8becacc16685ce0b4f5a1809c355e59bbae2daec6822672c73423e922","cba3d8b086afabadc476cab8bfd45758b03da92e23b3452873affdf5d00d09bd","1657365c597940c225c7e7a324657549b6215a60ce1d6dd953766db390e988a2","f03e17d7967a06e8e3e9db4291a84bd3cdc73201ceadea0903d1b2e16db57e28","11a899d96b3882eb312f848e94453ed540b7e49af9d080e902d555cf3998a50a","e2bc63314e0ec443cd003ff9660e738c60b14498e37ac75f1f0989fc8d904026","8a046fcd7f57cdedd8958d00e8d2d8f261c1d9b1e45c76f94f76ddc1af2186d0","fa8be03f014f9f34aad9ef4990a96f0895b324f3c77e3cb4b2e897ac2319fedc","d739e069bb9ea51eb47ac4bb5e2dbb87360640ffd727a4a1805fb38a9609969e","926cb1ae0f46a2402972a2725590821d31092c1ab3c48acf36692561ed5b7536","cbb8d7eb6214a7c50d0e5882819412f63b1580e46b6de02ff26433012cb08a5f","a7b86baeeff583be985d9b11344856a35a889289dc600aefc4e2b1a3564fefe9","5dec716281725808bed0364df1f1b242a9cce0f53a1e675331a87d799bcee6c1"]
Anchored
2026-10-11
Public log entry
search.sigstore.dev, log index 3199819547 · entry 108e9186e8c5677a0b40…
Expected log hash
54bf23963e2d2d167d69cc8eefdd91558bbc8835be34c5469b6e0b1af30e4d15 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":"v1791691808362","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"It costs everyone time and annoyance","rating":3,"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

  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 (00eb1252356f…), 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.