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 pay the second you open the app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
25841baf9f5cfbfe8ced19caf9af666a2d5f30a14ff3196280af7479cf0f36a0
Signature (Ed25519, base64)
fTAhLa2s1wfpMplPjthAqIdJ5JNRom4LJRN99l8JyDoKltfTlaAsYtUx0HhfpBo8++3LY5ALYBwjO6xhAJfiCQ==
Merkle root
f157206eaf0681e32c282b6c87b482d5b05edc0371242c4555dfe07a805d46ee
Merkle path
["2580e179dafdb381124339213e04b1fec3c7bf17bb5a000df01a1250cf324f8c","49ed4cebc909ba200946022aeda4747cab89af3f0ea09a6cf64efde308d25a8a","af83a8a11995cef6c7534bef0368ccc8d81919fd679e9c12e9d8707abdc8d3d0","f2a5401552fe431191a6012942cb075642289dc3215e78f4aac0a1d8ebb393c3","7f6dcde3ae892f48c7c2ef1e4993022c91255cab30d07ca0a7fc3e566461472f","ff09de815451fd9c83f242f52a6de50dce5e3341697e1accbdc4ac3960544953","92c35bceec249f786fefae3e42aa35692c58343ac01f07c30d1cd14ef406ea3a","86478e7078102c69d48410eec0c25e1bfb84aa51d57304d59856c83cc9bf8d2f","5ff6f798c63fcd2ec9ee52441264f4d2831577345b8f4e3c2b4368f43c09ccb2","8abf25d7b44f5105053f001774e2c224b51db2eab044348e2f06331eceff8f03","b76ee18cb88fb0eadeb62b2f78cbf13da6d3fda1e321c45e4448f5580f333312","c983079c81f3fe3701fa74b1f3d07ba4ae521d2aa67e53391f4fd7e312ac9423","18d3f68accc8835a5c40f0c374bff5769347a644756ac8ed830a1459ec4a0187","72cec015fa128b419dcf741d3ca687936e9595c259ab78dfd4256d8340270e61"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3273402563 · entry 108e9186e8c5677a6df5…
Expected log hash
d39be9954db9139b182dabecbcfa2b9510337ba2b23ae56a3f9ebed18578385c 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":"v1792122859337","kind":"published-quote","locale":"en","page":"brand:expressvpn","quote":"you have to pay the second you open the app","rating":1,"review_date":"2026-08-29","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.expressvpn.vpn","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 (f157206eaf06…), 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.