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.

“it doesn't have the annoying ads others have”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
eeec25031226b207e48f4b64220b91da7f2d7acf5157e3166a3c65a8b5f19500
Signature (Ed25519, base64)
Uere0VIbUfOw80aSDkqWjRpP9oGTfDXM50LFfX/diBWoT1c4c+IN777oR3X5Jgq77J6Vlyy/vnlMRBhMrAccCg==
Merkle root
3030a3ea5b39192cafd732e0b397cfa387f40a2253f2715cd6a4d9d218dba468
Merkle path
["eeeb2b7aa9b41ad5881ee5150570cb0732718e8b74e95fb84e150d8f1ee9fcda","89bce41a1198ed018a883ddfc465235498d06f3899b7b803e49bea8e4af8845d","029a7814c5f61a36eef1976dd7321239ec2923f4d120c76c71701158fc443c7c","757796b481ec0daa35af69c3a05768dc9941c7dc92f04eb23285ca3c637e4d01","ffc40e5cff194f43d404063548c87d36cfe04ee3f5396ac0f6656425d2681814","f98c1c2ec459fb00dff7c45f73debe859dbcb167e94e817cd07db0b89d4fd19a","eced52c7750acbabd0ffb669ad9f2f4264852a38421330f3c197a3af7284daa8","21edd208ae968eaff037d28d9a90110cd73974d8a8c84ad635be5f360585cdf3","e2612b0a1ffcb90057d42e399d42c0cdd7ae2ba03eb6b064e2cef076b40ec977","bcb2da48e3b8cbe6b04aa838d3dc32da7bed07dfff2333819feb9038bab4c13c","352e356f27cf91538d0d3c629642f1237b5888c1900128ceecb0cdcb7d85ef74","0ea42471057aec8c3ac4ac6621fda487ec59b98607af6dc1ccc9c03a24175618","1c0d046578e667374df87204533133657b4a39b1566c3798d3efb2b6dff73361"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514446349 · entry 108e9186e8c5677af084…
Expected log hash
901e903dca7784cbcc0b860ca8f2ae684aa8c7d566efb3654aface7bae409ccd 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":"v1787128322154","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"it doesn't have the annoying ads others have","rating":5,"review_date":"2026-08-08","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 (3030a3ea5b39…), 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.