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.

“ce serait mieux si je ne perdais pas toujours ma phrase de récupération”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
09a9fc756ccede6dda04a55b7f1febb9e62c21102f864dede46ab0b5ba9f9e33
Signature (Ed25519, base64)
DC+LI2IOKBZ1yLwsnIi94lBm6EthVhjHGN5ZgRST1qeqbyoVx8ET2IgqizzA1cJ9PQGAxuz7ep3bUuoTIMwsBQ==
Merkle root
5397210619679ac63434abd334c13f5aaccbd1dd184ad9d8cac5ebeceaa346bd
Merkle path
["09ab0078c92e36d3dd85746290b20c902b03e21fbaba4f12fa2c9ffe639cd30f","f406dc3ca1c8b1fe047ee0f1c8b0e898cd631398850939e276e95b920ad2a874","0c7786dcd3d2b3d67d3746cd24de5581589534979dc00bdf91a760eb4bfc6172","14501f4df7c7ebc1fa6758c0bb2ed6fe90b37c33d9ff2b8240838c06a15f5ec9","d56775f6e214ae47811d7e7ded99274b7c79b6f13acb6d50dd2cebab49a3b529","9fc9723bb00ef139d6d8f26a77f9741d8f3261fb7f6f6c163b43fc0a5d89143f","22b63a4a5791f31a30cf39d4461f7bc919e4138542a9a43ab92939148d8a3a68","331f96dcafdb9e71c6dbd4ce8cde925f90642e47d2ed8ef88eba8f372bb12bac","8de1bf36fda9a9fb4a03123ffdbab67cf2b504b2f7f10ad925349b47d1f1c2aa","2a7b11a4c8080cc9858ae51f64bfa3986e1cd5ae1c61f625207ff7df04baf585","ebd887b95c65ad2e1eeee485ce3f91f11639667ec3a8cb8c2ad90e2bb352e451","f16a91ba7d5eb8499cdb4b6b74f78187d85f6744d7e21d3a134538037c0f4c88","a46038d90afa57a10c269469667a209623fd066d3f084698343feb099fcfeaea","e892ec98bb605644ecd2848bdd788a136c626ca940d293df8f2f1ab99110b2e3","eb97a4ce74ce5f5fa16f1703481b35cd770316cd3d34167e9b76f4403804f896"]
Anchored
2026-09-25
Public log entry
search.sigstore.dev, log index 2948162176 · entry 108e9186e8c5677a61d4…
Expected log hash
5ff8f25b7934b5d72d363d6805344624efba4d637f2c851f11783b259b9d81be 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":"v1790226990092","kind":"published-quote","locale":"fr","page":"product:proton/proton-mail/fr","quote":"ce serait mieux si je ne perdais pas toujours ma phrase de récupération","rating":4,"review_date":"2026-08-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonmail.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 (539721061967…), 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.