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.

“Free and reliable at the same time??!”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
071bff2482c65fe1f9ba08b931a58ce39a4cdecdea5bb96d5786aa53b7511581
Signature (Ed25519, base64)
1W3FUTLPue20XBX6U+FVKUx3r/nSKU34ju6yh8lZXjb8pJus/MJKyYoYOne7Wh1oSD4yCS04p0F02MtuLt+9AQ==
Merkle root
dc262458aa22478fffe21ec338d01c6f4cae4a788ed9fea3c30831a82c06da82
Merkle path
["071ed4c859bdb776912bcbac69c597557fbf4400480c6944d252e49a6fbcdf87","69ceba3edd6dc60847836633b06305a0ed504ff2d8751c29647266385ba66d01","c7f498b645daaadef7609ad92c919779c9f900772ce7eb4ac3360cbdc1c0fee4","1423c380b816fce227b15bb245d81a715c2b4ba8c3485829762958d02e8854cc","4c506ef93ed2a38f05b480ef6017c5d865a8890b257dff6a35e73655a429f4b5","1fdd51a0f6e52d407d47f600b8c95fa81f64305f800ea1f3843e879b23de5ff1","c9893aef8d41df03c8b3172d1e8c89c79a397a76737a3e3fbdc2f7cc245810de","c6038961ab1d4db406c06e1d550817f03ad460dc8f764aac22516540ad2b4fa1","a5a72b50e62b377c36a2385f09e15859f8d692275ebffebdcce405f9d03d1f5f","e451063a6681ce9fa7b699c63a40569358f3f68c67456de8af6e7e37eedcf509","263a5db8f7e34b426267043379c0096bfbd08f4226072627615e1eb1ecea704c","109feb850a277e0b490ee3c60767eb9380b9740ce327bee7637be3a60c0cd37c","bdc9b750f877995745e1cab86bfadadf81a699dc296c03b30c7a277ddce4ad9f","05b68ff1f996fd6d87089c04d3b63d00c2f9717b69cfa4ae5a0251e3fbd668f9","fa0b5c0e2afc2db7f6b3a78d277777500a36d9f343119b2becbe97376b611a16"]
Anchored
2026-08-31
Public log entry
search.sigstore.dev, log index 2658211220 · entry 108e9186e8c5677a6833…
Expected log hash
34743b52c53937c552d8f13f390474d4daf1803bc63770b1d5dba985fa233896 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":"v1788149612113","kind":"published-quote","locale":"en","page":"theme:proton/quality/en","quote":"Free and reliable at the same time??!","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 (dc262458aa22…), 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.