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.

“Gratuit et fiable en même temps ?!”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
061ecc283f74fe659461d4c693d4d230766fa5aa61a2d0a9031732d8f4b48267
Signature (Ed25519, base64)
OL/Me72rIqe07QW0lBjvAkMNidW1q44UhSrdD7fxMBnZNNkYShKKmA3LOPerN4dT8IbI7xftGKXBEQjtzOW8CQ==
Merkle root
f94b7945af97849f26ef2dada74d0b3783c54f0f0489f19fa8afe8ee306a6c96
Merkle path
["061b6a11c833f1fb6dd30f5b86a8d16f9aeaa436107f1568b2ab33cb03252f19","ba305632ceb9ee39a3ab81340505e3a52e068abb7b055b4b77505a101b50b4c8","8d29b5ab4339b9938ce42a28af43299094d2add550f6d067fa5c5726218159d4","475d3e4ae0bf46f5d2b0038c8c32fbd3d5936d32c0146dc86af492a0f1aec92d","a6bc75824000f6858874056ebc72ca6e4108a6f2262978a22a2097914deba168","3a360ed8c6410fb7a659ae6d58aaa48242490db203f2cafd72d659e87283ed6b","a28a7f67a38ab1ff697eadad593bf8e9b7204fb4aedf74696937784c44b73300","069810512f466a6324a67b80812b634f026d4f207f714cb70c229649538d451e","df949323a211556c0ad1a2ab714fc0bf22c6539d0390052d569550dc81965bdd","370b3a5a6653be28bac46ab7cef9a208bc99119de78422717764926b25d7c581","317044aa14bb7e2116210beea9a02588d53460578c64c32d16cd7d066cdc8b27","1697037352813b33bcf4d10f91b33995fb41126d130156943b0cbb232ffd1394","8d181e118eb520028e822513e5f03efc18ae7d991856247d5241ff56e3087bb4","05ea93df99fa5b6206acd69f9b4a356a643dac0eb1d52f83bd65f540fb57f2d7","64e76f146c9d4ad3d72b8919815ba0c8d2e8bcfcfb5b9542dd4561af793b7d27"]
Anchored
2026-08-28
Public log entry
search.sigstore.dev, log index 2622121140 · entry 108e9186e8c5677af74f…
Expected log hash
551b1035d8649aa3719c4625314f5a126b89dd0eaef0d44a4d7c207189a414c4 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":"v1787896046556","kind":"published-quote","locale":"fr","page":"theme:proton/quality/fr","quote":"Gratuit et fiable en même temps ?!","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 (f94b7945af97…), 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.