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.

“une excellente application”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
33abc9eea236c0046129521c37dd1b06c2614d6d888056bef7bad7c908012ce9
Signature (Ed25519, base64)
Sg2Sy2y5DDSpETDB/XlAmikQQgEfn6WpfI764pzhWcustUpB+K5jpqFi4tKzonUsUkH6vk5DhIC10kv4pHSyCA==
Merkle root
fefd76293e002e3e9b1a8c28dd2b21a6a31f7840085e07fed39fb8f3e1a027e1
Merkle path
["33b16fb0d98c9661ee4daeff323bd1fef4bf972a39105f3f6c6889072989993c","f9146941cf711642e6d7c4492dca0d857d9be4b4827d180b64bd311af1060c04","22ddb1c388cad63570ff7d708246e619e0316063bed2757c7ef0a22f906341b6","ec728c2019a3dfb344bb3d01bb03e17ac0363ffd14a7499157179fbfe4a4b191","53a56abb7f00f1e58a74789ad023f0311ab00de5e91c4670ab459011b8d26a09","bd3ab4d9c5601d53bece869a7eb380372bfe64b37739f213b99b691c86c21d67","bc7520edebbab1d15b24582ff87cb1bd5c95c1e69785d3ee65d4cfae75738478","e427f88451d52a015e88b61b95c208b00235f1de430e256f19e3b9e8d037de42","b0a321ff3266234c8963558f750a493daf8ed1d136cf95f988c010f1f2f825cb","e0a15cd268c606361204af91274ae229554a3d4becce79055e239bd26401b82e","804cd9abf29b221c223ecbf8f438d4ecae62cbd17a35835ca285c1e922f81549","368d90096d1dad78c0452040310b66a4f78f013c1275a844c65f56ce5c532da7","b33f49013ec35601ade22b53753891ecd57d0d1932d0b012133746ad4927d388","7a42de951be4e00d60ec0bbe464a0e0231a5c4314a65e01d8dbe2db19807a7a6","5bcc0454d959fe45b9d8cceb30d3231d2e09d219fc5bea4ea59efa077a6567f2"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2685374445 · entry 108e9186e8c5677ad2a6…
Expected log hash
8052ff4797a042637f5e0b94324bcfdc656477714cef5f2a8f0c16d93147fe68 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":"v1788351002274","kind":"published-quote","locale":"fr","page":"brand:xodo","quote":"une excellente application","rating":3,"review_date":"2026-08-23","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.xodo.pdf.reader","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 (fefd76293e00…), 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.