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.

“demands a monthly subscription fee just to be able to save PDFs without watermark”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6e3eab9a31e891e082384b04144f9d4997cd54423a8af5c67cc679681dbeb95e
Signature (Ed25519, base64)
vqw1QcQmJZt/zicPlO9v+I0CgJbxYq6kTifeqZLJ99jXnPqhk4oPZ7q1GCuNDMLq83Ruaa26MTGECE/Orh7ECg==
Merkle root
e61c2598d4d03770603e24740bcc427581e87bcbeea2e56dc34fd81a9f496465
Merkle path
["6e45dfcf056da1338f3eed7e4bb7dcece5fed37806b51064b7bcd500cc5656f3","da3b1250a1ad5f955ed934270ff3dd4ac0568f1b32ca421210c66b9fb9dbd2cc","8b29dc9458e8f9a429d0b3eaea495f54c43cafe828e3e5bf311ebab3a0fb9b77","21f43863bb515f43aa4544bf11c78da52780ef53b08fa85a13a3d45e3e3ce440","fde5905ecf545b6672b2ae85059e755d36030fd6e44d852aab0e7f78ec8c51f6","9de893e2da352478c5b2d9310f1e131ef10036eedae660ba6873dccd4cec2bc0","6c350b6c007dc92d66f9b90ea9691a735d6c7df298f085aeb1acc09ad883a265","dd04ffbbce208eb8f376f5754734ff0391f0f7989e2f5ae007e33deda0ea7b8c","49385fe0aae4830ffaf0a195158db13d78cadf5223e12c181a549f2ae4e4e7b7","0958985e1b9dd9a5c0a0ef4574f04df1c5a82f68b3313a65b0ce81c586bfea9b","acd5cafac690445723b3e3644ce2775e8255f307b002db7e098bcabaf68386fc","d6a60e2106352e5dc4a29403d9d5c2ba3b108dc5f0ffc3f9ff74c9776290fc3e","7f1d0c445bb13ae8c90e977abd9f4b017f1736dd8a0b6837e8297de8e292d186","f1950e4af29dd22cc94bc58ead6e376c41b02edc9ab0ebaff7fa6fa0f9bd3732","11a62e67a9d98d919358ca5b8855f911ccdc865f14b203213de31adc67657443"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2515345787 · entry 108e9186e8c5677a749c…
Expected log hash
d9a90b5e7311041bf4315991ca7f2fbceee461daa2ae70a8b8b95323461a31cd 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":"v1787140356347","kind":"published-quote","locale":"en","page":"product:xodo/pdf-editor/en","quote":"demands a monthly subscription fee just to be able to save PDFs without watermark","rating":2,"review_date":"2026-03-29","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 (e61c2598d4d0…), 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.