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 connects but the connection doesn't work”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
08ef84bbb1b1a6919f2672d3057affeac4330fd67f588aece28a15eed5c1f3c1
Signature (Ed25519, base64)
tGHAgnB8RiLcnupEoNuXd9OOGQDp2160K3NN6O/UjKlcJNOy084C5GeRoprljSbu5y7R+xyopXEiuMjvTDylDQ==
Merkle root
a4c18639252762e8592e52699d716003f75d0f7e56e7fa6339035d798c5faa4c
Merkle path
["08f526b0a743edb1d1c8b22c6d10d3589d7b2edf4c3d2000c58ce7f1d7d9b8ef","b410552e63f1371b7227281df45f3d797270c2aa21ff4e88089da0c4f5a72698","b49cf773088f64942754a472482bf99a9c4e5d989dec3209c040af3933d09057","5cab9469ad929afb2627fb6f2ecee21d36a0c642c48a169d34c15f3393e90393","69b155d9fd3c62ca883f936300d944e6ba81a7b3706cd21cf0d407bb720370cb","8a956fd7029464b8a7d91aeb8ab5be7b3a7a5db4e62e2d572362f7b5bfa74047","5f23b54796d7f7807e53674d1bdc56eb1387c5550a4450421547deb4e045a011","da6f4986c74fa7594f956f6f372d5bcbb3e4a484de7e9050aea0326c5410d80e","e606ac6fd13073fa4426be549cbdf4f417145bd321e76096b373ab004373660d","0ee843a520abd0bee90a57da50d0b49f813e35ce9da332878af1194312c4595b","0b173c715a5f3084889c2022194fb83eb9ec0c3d79187995f69b3443609b5cef","ea39482b5a7e0d45d9fb3ae639170732241133dd31b00e5a83bcb03533f8d238","a54fc815eb1b1840822e4a876caf80ed05f30705f1d63949cf36ecaf8a968901","991436b9578e675394ec672133d1c374d83d4a1e2c908b8f139d4d517c2af4b3","38817b8565345ec373a63f174b7c8fd25668576b72ed4022ed922334dd0dbde5"]
Anchored
2026-08-25
Public log entry
search.sigstore.dev, log index 2582656976 · entry 108e9186e8c5677a65b0…
Expected log hash
918fc3881cd55f75123813e7996add0afe4b7e68bfa1a75328681c18d541d464 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":"v1787629605596","kind":"published-quote","locale":"en","page":"product:proton/proton-vpn/en","quote":"It connects but the connection doesn't work","rating":4,"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 (a4c186392527…), 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.