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.

“simple and to the point”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
09411d13c7a607a15d8438a330c9aadf3ec15dbde29a1a58aed0000b852e1f20
Signature (Ed25519, base64)
oILwL83Ew5DjVoD8lph/+lF1iGPZ1yCx5bz9b1ZArHVnC9qDxEbzTV4w8GwErF0dibdukdmZfzZeyo6a6xzpCQ==
Merkle root
a5d88709ba617fe812c94d00606cf582d21e964e3014eeed21e24c3822682a40
Merkle path
["093e7c60c61936d07743d88f00fb4657505272fddf8b0e85f22090f205e358c4","87d097b7d4b8227f005764c086603309146e4015997f130b5dd0e98b01924040","d78881eb398ea1d65a49451c2716878a0cf47e1c7d57aced1da54fc69cea81a4","bbb9e37c347e61bc03a38d7a822d0a109095b72a9e580e274a7260ad9bcce313","663fe73afc85b62523d466203e4425b423180ac55731946c44f2b9fcc2bc925e","2d2ac88774329d5fcb9c4cd307bbf4a8a712efe82fef09d8d1aca85b12d559e5","4e969c58db64fdf68fbe6043e25a995ed639ad2ff1fe697f681340ba36f744b5","40f9ec61d9d0410a4a49b66ba0941a825ca90383451bf950477e02017347553e","51a3044737a65af266a7d85cc782a54b31e7df5ef76d9dfffa983b99c6e73d85","f2e16f57a9892eec07dbeb78bce79273e2662e20b5810bc808241b4e79dd765a","23b11cdfa7d4c9ec55287e1683565266f583df3c5b5b4a9c37905da9d2f32bd2","0d90287140c688b078bbed5856c891d1e5d8314dfae0b71eb7981526e520adc5","7b48dcfd125d0832bd7f5a9c76821165d9d78970ff8029ee47dac7ef938d86a3","aa514b327a9841f1a8b8f1ee34db42dc890d9a3d820327c14f52ced1df128a39","33e990fa14b58c6037d59a973c8935635ce911b2e7d4249f5e781ce19fe14ee6"]
Anchored
2026-08-29
Public log entry
search.sigstore.dev, log index 2633155673 · entry 108e9186e8c5677ac961…
Expected log hash
59d0143474a5e64649e00814367477c4772bdc0867286cdc45867421d3d54959 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":"v1787979141339","kind":"published-quote","locale":"en","page":"theme:proton/quality/en","quote":"simple and to the point","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 (a5d88709ba61…), 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.