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.

“Quelle expérience désastreuse !”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2b82e12ae4159d351b3428297c31fe11da4f26d222b13ab27550ebf730b2aa88
Signature (Ed25519, base64)
7fwr5jEgU/mr3ziFeZWgBVJ+ZqVr7gRMffrRHp7ejkync7TXkSNfGEWJ+yASzW6qwM6My9ajiljIzRGcpMCpCQ==
Merkle root
8ffad6e97d1457610bec7a891f189d1ba7dd7a92ca672c69ff1ce3283acb4b5c
Merkle path
["2b838c6eab26c00315d89fe8cbcaf488a51d68926cc1e47ef814453a18419be8","8134fe236f1d48831b5d5faa66c0faf7ad1b16437b69cade0029b37f69e6f873","20c2eeef55d01acaec8e7387969255161fe4b82ee1f26c995b098f8a5a8ea4ba","fceef94fb507b8732361eb084ff334c446c7ac361cd524cfe51faa31e2036b00","c7d66b21100ea1518463f1c79b9d04f1e3d069612c672673941f7094c4af01a6","894841b446a4c0bbcaa6a35074d9b7000d57cf4840f965bd3798062f2b1b1fbe","657ccf7b8a05b044b96b7bda2f4e5d81e9df4a6950e010053ef041b599d78d3c","3dedc4e4a4357539599d515325679468fd0c5c5a2b76cf454cb7919ded008df6","c84aacd3aedb83bfee07c50deb92782f72b2b158de10c4e6a859eea5e5f85f15","b519bb67b7749026ea21b40916124b8fe60169ab07fadeffb63912bcac3c4c8c","029cc2c12787b5b81b5d0bcea893d7b54b3874920909f9a2f9d310ed1881eefb","795ec3a0ed2985762c41853d02aa00e1af19b3d1388332eb82c3d430338c7697","a96778a5baf37ff274f68eb2f3763035e6ca2771bce9e48327b04149f6a9cf89","c3da944168348f2737a3a033a43606f7965e05f20058b59547dacbfe770ef5ce","e9f7ba9964da1314f660fb2f84a68d574ffe9983879b5b54001a09ca5cb5f33e"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543266411 · entry 108e9186e8c5677a241f…
Expected log hash
443ef8f29d5167ebb4c56a46778facd07b7651afa8db2d089c14a991ce0d04db 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":"v1787284817344","kind":"published-quote","locale":"fr","page":"product:proton/proton-vpn/fr","quote":"Quelle expérience désastreuse !","rating":5,"review_date":"2026-08-14","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 (8ffad6e97d14…), 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.