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)

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
d994a621bbbd8dc49979b621c8ed37c232baaf4093de999a10f35ab0baca4376 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":"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

  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 (1ee209bed1b4…), 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.