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.

“xodo was working better when it was free”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
80948e3e7d95fc564fb9394ed519c30d4fa31422e4ca1a2f5ec556d6ee50d98d
Signature (Ed25519, base64)
iw8QON7n7COzEckueKI3kRzovxpp8Ht5DCW/Pt5hNoItmAqQ3SGQN6f5sY/cjxntlXRzdL4NUuWtGSChSveoBA==
Merkle root
ccae92ceb3dcfba104788424188fa34a8cb1410075ff6c1a21fa513e89f0c4fe
Merkle path
["80938c863c1b3f714e0d51da5471e1ab3362d90d76f53a43abab9f784caf4bb5","412448e8ac9bec187e17e36952b13b8b585fd4c614e3aec020542a9425543eb4","9b7a938e934c9dea1b833717f9ad85004faeedeb1c78fb09bd3a65dc6b9b76c1","593b984ba19dd3cd3322ecf9d7eac431b755913f1872add766ff0bdbc23f24f6","3a3649e4a39cdcaaf34939c5e46be678ca136c3caeeb36c391b17fc73be134d7","581572c531b859c7d6c2eb48a839eba8c511863c95fd478dfdc77266d452acf8","6dfb3d3355c8c2b62d0573963146c15d67e97a1e418587593fe3d1b2e1272097","db0e704c64e02581453f3cf56214f9da4d1f2511c311332df4c469bc991302f5","319846de52ea5872e187425108601d433af27ad845c99ec6d3106d34bfa4e2fd","e84eb99c306cd61ff87abc5089e182ffa04a0e24456a4fb165383151c60902bd","a9df9f526e0a507d20ef8f6e003e4476cd3110a9def44c07501ba1d8a99704cd","bfc394086b825672e160b5b92fd378af53572fbeac6ebc2549ff664ccb1ab140","e472864955793aaa2d19219057558dc2b6f5214abf252963626c32870bd50cf3","35f1bb6574fe343de1c8512e58fe7937cd8ac075d63d989ecbfbabdbaf4d6344","f73291c2ca924ce4b3764e4b6ff1da65a701069f04fad47c52c8b693a0ec7e41"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2515282333 · entry 108e9186e8c5677a6652…
Expected log hash
af455e73500113c158c8df9793eab703ff863c9c98fe38560752c9a1772810a8 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":"v1787139531268","kind":"published-quote","locale":"en","page":"theme:xodo/service/en","quote":"xodo was working better when it was free","rating":1,"review_date":"2026-06-05","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 (ccae92ceb3dc…), 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.