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.

“ZERO advertisements”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
09358c437ce040ab4b1fa2173076e2b60c59b5fddc22646cdd85215db25faacb
Signature (Ed25519, base64)
i2MS3jOCXeteZgjMTwz9mjCCaYDaGanrRfWVtX1hjDp6ENqqN6IovCqTldFAuwyqwe+Y4lbyZHhJcFgtRcm9Cw==
Merkle root
c481d62412848235567fda063ff4784e8e49df41ad8b5c570de24ba396415d22
Merkle path
["09334dd33e22683414a47824ad7e260425e93fb35b226cbda594eca3677bc81b","1f339f565df7ff91baf031f9e522bf3ce7c15deb41c3e44b2f59c697f66bb691","a9486149d174c31207275826493a2d5ca59812a188151992fe8fa64d038670e4","98ce3691d62e26aa9d50992634cc949cfacb8cb9a73070c791d4b180187d0ab4","72d64d2a273f40632e753b5e8c12977ffa94d26f63b167d8e6af6f9791776d2e","53d4003a8b7436acf93be80549e0a4ebc7c88fc8638f6c83d01051dc8b42c2ab","21d88fd71cc8e7c98519b1345e561902382b2744c74287f3642f741d084bff1e","2ec19b8dfa0cda9af71d8777849129a45bb7035714cfdee59a86a17e53b1561e","09d9d129e622fbe643ada0d657e1267009b2d2db679a9bf1f84f405ddab325e4","1a644558cd15dcdfd13e6a3f0e8c7ac645ed1a50dcec06b7de62c3939a968376","05ef8f764d5e2e1d337d2625ac3c0827f82e8574a89c33de74187101fc420dc3","1e420c13b7798af08501fbe6365ddc5b44e5ea7ed3d656d15db245d747c77a23","818f0135095488afaa32256706f222f09138af7de4410ea79d618f621eaf5cb2","ed99a4b837bfc052822e7d0dbdd9c56431a87e8600550f5deaf9f7068616c82e","0cbfc145d581a4c4b7198ff8f397c34cb4ba6263e9e9892372f878302426dbe6"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3124493015 · entry 108e9186e8c5677aee70…
Expected log hash
0056b042c00529af1248b70a0a2fbed761990dd7841ea722369c29a2685ea6e1 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":"v1791350987184","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"ZERO advertisements","rating":5,"review_date":"2026-06-01","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 (c481d6241284…), 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.