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's the best VPN app I've ever used.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0d14947a921a480735e2e20a9c87d456e22cbe54b2fc217127f032b8608697a7
Signature (Ed25519, base64)
lSfeTKytMsjFRntB/PEwl2R3Z3gvv38J7SOgZYRQDEcG6g9y0Nks+QO6N5yzmRo55eHARbSxVcoaVdXneG9WDg==
Merkle root
4553ceda64e0f7e200f881e3be80f06ad7ad366bd41ae2637340e201b97fd992
Merkle path
["0d1a1c311d7e62fad02628912f8a3401e9112079c38910cdd35bc4a497cae838","62b5c3d8c08243bba249238cce529b7b29c8205e55b246b3e4e841edeac2ba7e","e46ab67db0a5778198314cfee27d97d90766172b3e84646dcc2d8743d17a5631","03677122496e2185b3b51ee5a3c3b6db6168ef1540a02a8d6ea8c7134f1d5463","83eca3a28d6b406f393ec0bd14a698ce1cd78243b95272417aeeb4ab6d351199","c867117751deee3c302da561c480f2b6b6ad20325cdd2b5a9dedd8e13430cac4","eda366f27d48ba47b42970e0c1e696838595e1b29e1611e9dacd1eab2e4b1060","6d470722adbe3def094378006883998c867dacc93814577d5a420ad64206b970","f100c44088286145b755a3d64b9b1556770bb834f6001198d449a30ec25fd1ae","7d8c135c140c6382c4758454e3c00cba67e37040666506925d0ec1d425d87649","c179ae14d676ac8a92755430e673d01bf67e1ffdfa0b1527e16febdcb147dbeb","f9c3d44efaa3124514ee4c64b3279841948ff3e6efae5d5c9176edcffb63b0c4","1b9ac25bd72956239649fced74f841271bb5362800775be62c8a4c65a89114b4","198676edee22eb362b9f42be6e45e0c6688564326d7ac8c78c49d4b535692f55","a8f2b1eb226c55ba6a50b4f9e41f7daf82ed22f31e84ebf68e8ca69f1d094df7"]
Anchored
2026-08-29
Public log entry
search.sigstore.dev, log index 2631896876 · entry 108e9186e8c5677a5ea0…
Expected log hash
82d6416ccfaae92d072047c1941611dbdc6106e011bca285ba92fc51ad50f4c5 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":"v1787970342088","kind":"published-quote","locale":"en","page":"subtheme:proton/quality/vpn-speed-servers/en","quote":"It's the best VPN app I've ever used.","rating":5,"review_date":"2026-08-13","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.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 (4553ceda64e0…), 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.