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.

“J'ai été totalement déçu”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
07f945a238eb3670448f6be278e87ebbd1814386dcdbad03ec560c41cb96c879
Signature (Ed25519, base64)
wCB3U1kntqPk0KoCpdGjTkphh5ijyARn8zwofVl29aAiSKwI/ojWFnjLH1tBFw/AVbavyOOeXrTZhk+zx9B8Ag==
Merkle root
e650e75fd77078528aa305533eee5d0a1a546628fc8516773e724c8dbfd143b3
Merkle path
["07fc81d3b468222b925a60a8c36e2a5450e5cef0dd1856e157f0284df1158658","ec3dad662d6dbb2b5390bc72a76d4b6b43fe2cc46823f5ae3cd94b66c249f83e","26c9d50ca4209900d37b0021d903e175e49dbade26a73e9d8f01000174224b5e","ca17a586be6f8f47f40f2fae01ed17992111a5c7eb0e58cb7087a1d2d4cf680c","d8d79eb8d9d3da5bc47f7aa43a71ba27c0673cd3f1ff077d21c88ee171fe2cbc","fb60e059668a4ba3b16f8b3b1da88f6e42c4281b063fde4f38687b89aef1eecc","e6818c1efe3badcc1cb98e4c884549c5bd2d3b56c1c6febe499393faa578b015","6f093d79718517ade71f2e34da22071b2972f150542028f1f264361c55eb7fe2","e0b84f57fb2860be91e416a32da8a9b1802adcab01ec75b8fa002c577a59f4d7","990a175807201d3243142bc77255ce1e9e5bcb1b0c14f38e5e2308588630a301","d091556122043933f3541ce9698baf36c60a2bddf02ac0e7aec614d9f6274e7a","9cbfd3204b3e2f5027edc155e8333a2328120eaa38808f017553940b835c0837","03229a02d4ef23689ac574ce2fdb2e91509dccaab3854dbfc8d9e90af4ef8953","de4b01acb55e434b8077712a3cea8899c69e63005b6b5c436594f06bca9b060d","bd662811507e1e874bc6ba02d614a311af652dab0714938ac7c98aadfaf42cae"]
Anchored
2026-08-30
Public log entry
search.sigstore.dev, log index 2647299953 · entry 108e9186e8c5677a1824…
Expected log hash
d76177f6a64b24e24552f49a73f627dcd7dc14dd72da9a30f95c027c24a50fd8 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":"v1788057950482","kind":"published-quote","locale":"fr","page":"theme:proton/service/fr","quote":"J'ai été totalement déçu","rating":1,"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 (e650e75fd770…), 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.