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)
1b776492728d015e643c201151b2ce7f9364e5931ecc40e86fb2eb614bce6ce9
Signature (Ed25519, base64)
JWKo4BpqUN6GP1Qd9BsY+Qtj/x8Umi3R78eOYHXdmrXm+wbM7ak86qywK/fVSWWH3H3WpZNqXKRTtLuRbSFgAA==
Merkle root
2cd516e344e4be63e12361494ae610d89d15708131c24034ae0c7b134b8bcc53
Merkle path
["1b79291941ff30407abd055ebcf900ba953a8b484e1644536cbbbea12f6dbe01","a4be09abdbd94699ecc673966d30839120cc50f9656da8d87f3576788fef6ba8","c93d11ff0fd430e682f69f70b677f6e71ce8024c6b5f34afbaf99c6759bd86ab","0d311d4e84a903cae1111ccc3bdd417e1859cfa59679e4846b1e13b7dbfefb47","fe0256cb3019e7ee1979e322be2aff5a26d426908505992691a03b2a37f9e0e2","597b57da99f29642604b3251ed0cbaf4e9abec1fd96a7408489f9e8e6d457f03","bad77becb3676ee114495e78e211fec15ca1ad35a668dc81e77373ab1b0e4b37","0f16668c0cf6897aa85afe47b08c062b8ef8cb1c217e26559af3a6ff1e35e1e3","54ced6ff205bf15641ae915969647b5a92b34611b713c42931a81447e654b168","0383dc0c4055eb07a41d80d5f594fda665449c22f45fc8edd43ce344df2d4a84","a53edfa10937d82abb601886a62ae1eabdbd15a9ee5429c7f845fc91c40cf9a2","459f37cdd03f4a6a725ce09d35b95692d328ddc504d850b70a0f5777199693de","ce748a4ea17609932077a2ddf349ddc25b0aac234841b63b72566db9472e9268","223b4ba84a44374ab9643cd0f0caf0fb6697417054944b56228a22297574df64","22334ce08b4f33f031252a9b7a089423436312a37092b6e742f7471c7ed075e3"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514341362 · entry 108e9186e8c5677a67a1…
Expected log hash
81a850cd5c32c6b6ee86a2774571659cf829f205adaa17a6b9e9a6f5bef7642d 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":"v1787126744998","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 (2cd516e344e4…), 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.