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.

“C'est simple et ça fonctionne.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
247bd1a12dc30baabe038aafd6e42e80863a1fe54fb01bb156f3b2932670d5ba
Signature (Ed25519, base64)
j93IqbHhbHYnM1TxkfkAx+uQqBxV7B/YI81QqQ5PSFaLuU14/slsjIz5o/J/WOMCzBXeV4L5yQkrRYx0+5a3Dg==
Merkle root
aacc11945f125ee3fcdef86ba030016c440bcc608f4e51f0ffffdb4cdc5e9321
Merkle path
["247817aebd49e10c6c63a3a36672caa3e0eaf96439e8141029fc875ddcf50971","2027e89fc6248334ddae16338e82ce8b43b66b3db5811c147e8c63502d8f5845","e036c0aecf57ebf1a560bfc477db24f63e43c5d8848bf6d028ed2c7818338021","a2eff8c6fda79eb53d35f44fa2aa2435f09da57ea7d4bccc2da3992e81e01fe1","cba70f410810e1ae3e7a07f87cbab343a38e9d302f586166501c0d66c42465e6","17b82ca0313f00fa0f52265805fe3dfdec9161b51c6a0c005e90d8f325ab88d0","884bac885ac0b403357cad6a068b8952f0fcc1ab6fe5cac381a4fc0ee5cd6957","ded785b5d9570557eb7bb5937eeaba4711b61c03c25bcfb4775a696c6c13e41c","18bb2da06be520686b9cb425a12bd1c4c18d6c8e7643ef97aa8809e3cec467b6","b6291cb5ec4e9825966adfbf8839f94bbc42fbce4c8657fa3a0f60186162058a","e18bf79390a9d5dddfa09130e3000ef092da83b997cb7bc96d44e2e4340f5e54","7b8ded1b49351694655c52a46b67cd12e02f2a4c9ca9c29916bfa197957ebfc1","24192d1fe3fa8596b225aa5d8055e7e92d26709ec190f1226b913a3e227f64c3","5366af6eb1ce50b0f459da15c1d7eb12649d0477ecd930804e506d3f2ff66aa2","2309962142b16600f7fc4d57273f3042f382acb91be89aac7f00112f61b58f1d"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543547848 · entry 108e9186e8c5677a921a…
Expected log hash
bb93f13ee7a4a636e28586b842e19662b148eb18166a89b3ae7d189bb8e81689 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":"v1787286345433","kind":"published-quote","locale":"fr","page":"product:proton/proton-authenticator/fr","quote":"C'est simple et ça fonctionne.","rating":5,"review_date":"2026-08-10","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=proton.android.authenticator","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 (aacc11945f12…), 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.