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.

“il y a un renouvellement automatique, alors assurez-vous que c'est bien ce que vous voulez.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0cf49b9cc304bacec6dfe1d02e41fd95a4e5faa658ddaab60b98944ff774d68d
Signature (Ed25519, base64)
q+ypbXsRkQE4ZRP08ymR3Gd6hjJ7uj1BTJoS5odRd98BIViVCn3KqdhhZVIu5p/LncZb7wd4KemKUsqCQsdiCA==
Merkle root
08eb3e6232b970fffa0a7da96e731f873d4cf55f95684ec0dedf601bbc51f2ee
Merkle path
["0cf4168b7af0a5cf777bdfa22086cfc9635bfef2662d4822b50c9ef1b670fef1","a7d2aef35e659d66549343b205f245045bd70f6481f58940e0c9cc05282fc5d1","bd6467b013bdcf8f261bfd5991dc8fea204d9a5ab8623e0ba83a8f7718fe596d","36af9671116d31b712eb9673eca55d9875e4c674960f8d14ce2e86ac8950089f","a99869342da3d100b9d108ab552a3e16a220f9992941f775900c33818fdfeaa2","ef0db1daba20900cdc6bb9ced72b7c3bf3f22a9fadc959c82e7c78ac45d5521e","8dad698d2b59c4a8213ba2a316ee3732da4e90e4d408579fdcd98a1d73966a03","ad3399ec9c650d1d873b5407f112a4dd844c80660401bb8476175754a5d129ef","4c47c14384bdf03a59fd4b8419b42fd3c45f8ed65422d7d85f073a6bf28771cb","4507df2e716ac2c7181ba027502442653736e2780b0bcd7267ca45dfdfc59aeb","03a51cfc185dbde86f9dd8ab10dfcaf24baad10bf03152f87c61d19d29e9afaa","3149b61b57c4e96fa00834b286a1ff293ce8ef38f6f777816e1d2dd41a95ba0b","98cbe703203235f49a2fb2cecc87f15c98f35d0c849de3d425aaf9b8931c4db3","92f8c29fbff219d0ab0b99f5f0be0f6964909268376072a2083586d45c724879","c693a67e16f063a2f4365caa457d1ecf98ca32ea2eb04b046c75e9b48de76711"]
Anchored
2026-08-30
Public log entry
search.sigstore.dev, log index 2647354920 · entry 108e9186e8c5677acd5a…
Expected log hash
f04a9b484daa74444d31d63cfb27f6c40253e74f51c2c82ff5f2602ef35e2419 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":"v1788059498741","kind":"published-quote","locale":"fr","page":"theme:proton/billing/fr","quote":"il y a un renouvellement automatique, alors assurez-vous que c'est bien ce que vous voulez.","rating":4,"review_date":"2026-07-24","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 (08eb3e6232b9…), 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.