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 doesn't let you choose where to connect”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0db3b041ed20642b1db18f6f3b48ef92b2b78738577f98c435f78171750d2bce
Signature (Ed25519, base64)
eQ34pQxCkNYFh7p9BCRIimqJbC9XyhB+edJ3RnejsUfYMM0gl9WiVQGIZHa7LZibDZ3HZl7E0sbmhp/aTIZsAw==
Merkle root
6e81627552f2ac346e22c9eab513b5697475b3faba110f5b1d208622b33b78e9
Merkle path
["0db1b2336930a5b67a54adc934ee8b0312fdb04630652b4334950cae1ac2d238","0b4df82badf66d5a214be086a948f8444776abc965b795d18b4b0c6c0e1cbe7f","c23f099a3a7fb2ebe6fa3b4bc8d5e41bceb00dbd458f8fcf2b4d5c56ec5c0ead","ff2ba6e94f286cc064f930cc73799cb0abbbd69e48def55c601346e906b00acf","8378142f8ea08964978895218cd6c52b6d029467c8d8ece89b1807b8688dc292","8bed81b8aa502b987abd3bfde5f2aa4a65afb32359a7a3981ee51f3c95305ffd","d9795b859789df1c24e425368c0496e7b49f9c2314713d93ecce12c2b9069786","4a7b07279badfd1c253cfa198e27283e9d1119172860cc6a37f7e1b898a5386d","849f239c8dd67035229f73c80fc328d40a2cdca8dd950195705f2481cca3bf4d","03c27126f2c2ee4ef685118d5f43188857eb384116761e4a9230865998a0f67b","ea63d489fce3ec7bf2f1d950b301cc036b2a1ea3e19943ed0f11c27474d9b4e4","2d5b76f36d376318023bb0ddbd33722f1e6c2445842808cfc1c4eec244f77816","2de2337567418e9730d9935ac48504a2961df590512213a68fd44d97ca49c300","92865c042267b50b2e80a085961d6bc0e14e984b1b1736b31a5406d17d7c28c9","a140bb68429284d6b768e6e83ab2503eb3818b2fc3adb438e4e092cd869726ff"]
Anchored
2026-08-30
Public log entry
search.sigstore.dev, log index 2647647551 · entry 108e9186e8c5677ac48e…
Expected log hash
dcb20aeec915a281d96e164bbd9aaff5ca0e571eaf509f60cc28a86099f52bcf 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":"v1788066004428","kind":"published-quote","locale":"en","page":"subtheme:proton/quality/vpn-speed-servers/en","quote":"It doesn't let you choose where to connect","rating":3,"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 (6e81627552f2…), 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.