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.

“The membership is worth it”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
09524cd97824c5ccef83bb03c37c8bbf8d80a937aa4433eb8bb2b1a22ee4b0c9
Signature (Ed25519, base64)
iAq2iHS6Lh7PB8ct8gLnse3rsMssTYOJrmhESdo8Wxixc3tRDuypdw4DtTOe14V7wPMN2LAk1GIJv0Ab4ib6Bg==
Merkle root
30b81ce96f52ff8c37a1dce6a2cf1045c2f51663c1ddbd5ca071d040e32c05d6
Merkle path
["094d4499377e468e043000f7d260b953ef15c7b5090aebaaa3b6e7aeaf1e50b0","43f883ba2771c5afbad66454f7a99e5d5ec80fad13ee242d59d0a1cbfeffe2a0","f9cec9550a9e87a24d908aa3163eb66e505fed0cffeb1f8804630336f12502d0","f90f1a80e64182c9a1ceea72afeb0066e6750bb0bbb38feb0f4e57fde453db60","03a810a9c5fcfa85a6f35a2c94bee20e9e0429248342054816767103346cf935","f52380f43596f1cfe98cbcfd5cde19637a5a488ae4a0d0184939ec87a8640b27","1e8b3164e54ff702c17a326b4872f2ba1eb4c586836f3cb6278143928145ec7f","93e1c61fb09bb1741f5a786033774323104b2e9ebca25a863f4a26a4f57dab11","2974affd5c0306196b6840c80239b83a15203af13e998f33d61ce01f02b40130","d8faf66eaa3e8375c032aedab706ce13be49748f4f953dd9a213715e32b15134","21b842f37e0f8ba1901a50bb45c82d69e997d816f2f9ca6c720bad1ca0da477a","a2256427495313e98c459069132e7417853c94b24e75c257deff8b35fc6b26f1","bd7ac11e6e3167391f14df63bc65a4bf46202d1841b8198af1861fe0409c39d8","d2f0bde8db363c9acc10fb20e031bdddc43b684fa5984306f2efdec113caa9a4","dd9b0a9d584b044c4116e1c10c4b8cf4a06383a771a07c9f3d39f998f23cf36d"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2515243153 · entry 108e9186e8c5677a8eb5…
Expected log hash
314ca716b1ad71ca29fff6da960e81a719fe30fa5fc14d8646acca79a7c09353 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":"v1787138594002","kind":"published-quote","locale":"en","page":"theme:proton/price/en","quote":"The membership is worth it","rating":5,"review_date":"2026-08-12","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 (30b81ce96f52…), 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.