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.
“You have to disconnect every time.”
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 2621931690
Proof data
- Record hash (SHA-256)
0f743d7ce9b406a0b4459dba4c600d375c29252ed54f7844b597f4a646e7c0a3- Signature (Ed25519, base64)
jbNtbPx+VvIR/L8RrCsYSzlDdNAV7V4cou5fC//MbwyW4cFV5jrWCUtPsDnYe/hh7pB79yDSllvEcrWtoNeIDg==- Merkle root
1ee209bed1b4afeeee81ef09190ce0d3b99a421ee0d9b4b532771d9d3d94cb97- Merkle path
["0f73e9ad46d8515d947c5e20b243b6b566d7c05a0a473cf1117bd72cf012c56e","0c4d71109161cd8d9d33b83c76b0965112bbb1e899a7a7c3ca333377eab115bd","83865530e816a4c257edade4efdbb983cb81b66fb3bf303ee29c69e293c8fa1d","e23226da6143ab147a3d7f8718af404445a114601cbcc5ce9d8b9ffa1a53d9d1","3c8affa47e5e31126b02148cf04134d05dec448dd8600edca587a165c28b9d52","b997fec4b3b3179e48ed4d108c86c708d43dec9a4345873c36b05480ae57c7a5","baf544b6f3bd78214113bf62a278d8fe2fb5a4d507b4b78420b1cdc626347900","1dd78d1e09b0df67e0c80e5fc4fe7c6dbb07167658896626f5013dbc47aa88ce","d09d1b1b3d20c7afe8e99fd88bcd228b0cc70d1278de4d5e6669316d8dfab35f","2be8ad43e6b65cf9200529ecb35961c2c92ab601effeb291c5da788f89380761","a87294e2d2638764ecd8054e425b8ed8fda7e26420ecd48b7f4b1bc9ca3aa79b","be717d82336b8a702823d0e7af4f2ae950108670f84436b6f309cf0c6c06e1f6","6e8057b232d63636c1f7dae5369f2ce496d13ac0298d4e729a4f5fea7d1d003c","228372f289d42aa4e04ea339823d2801b30ff06ea98e88b25dedfab148039385","5ec5da736cacffa4888d1200ba9c58ec751132aada3e6a09e36cdbe25e528522"]- Anchored
- 2026-08-28
- Public log entry
-
search.sigstore.dev, log index 2621931690 · entry
108e9186e8c5677aeade… - Expected log hash
-
d994a621bbbd8dc49979b621c8ed37c232baaf4093de999a10f35ab0baca4376The 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":"v1787892752320","kind":"published-quote","locale":"en","page":"subtheme:proton/quality/vpn-speed-servers/en","quote":"You have to disconnect every time.","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
- 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 (1ee209bed1b4…), 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.