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.

“Best PDf Reader and Editor ever!”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6a88e72a4608a8e507178686c2c88045d2244724e6b17eecc1bfa182b098ba10
Signature (Ed25519, base64)
iInZglg2vt232oatsv5LUkAwn6PopLUMFwp7jbi7G+zgT13wtbeYmRiUoaVRtzFD5LxGRt5QozG9yn+dNhtmCQ==
Merkle root
2cd516e344e4be63e12361494ae610d89d15708131c24034ae0c7b134b8bcc53
Merkle path
["6a8d4c338a5ce8844a812a3cad15d0431a3ab71a92021fc34c90dabd24ce0c6d","ae67b56968dea64fe49abeebe8851b5c2ddc24afa9ef36441702ec1bb638ae47","136de0d2e703b55a194c225860589cc72630ff805ba06630540c82cfba7cb312","072da8dfe7e0e609c6d99aa03d9d06da7a6c365efd9a0e2deb19c240250fc25f","18eb39fcc6fc781128dd33dd573634cc31d08038fb9181df67dec7b4a66ef92f","7771cd63e69dccfa5125e094e76f73d05a9f6a83f3b274217ee9ccd758e45cbb","47759594d08a2377f863db970977e28bff84621f040fd180eb138fce41a39080","f0184fb27396c6034e7024a56c7eef968186417162f55c697912f2fccf6d1ec3","f0ea2089dc17c03f2a41fb2e3e52f0549acb669b966d87175fb7343dae9da177","b27d6986ca6633b92220b610c24118a415b25429a0ee4c2193b6f67cc5d5a519","865c287294b22314b0f3f2c7f0efc8bad2cb4f7b01b996a9de5dd524bb2e033f","796cf9ea108b9a9048baa6f78f1315b449d5173aca6114b571a48a18d03a2371","1ea599b4152d264cd8b482e9bcc303e2f6987750c7c2b5a87cca39f2b78ee024","54ec8fe35b61032acdd3a795b276aa22207de669eab4043c431a0246c2258612","22334ce08b4f33f031252a9b7a089423436312a37092b6e742f7471c7ed075e3"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514341362 · entry 108e9186e8c5677a67a1…
Expected log hash
81a850cd5c32c6b6ee86a2774571659cf829f205adaa17a6b9e9a6f5bef7642d 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":"v1787126744998","kind":"published-quote","locale":"en","page":"product:xodo/pdf-editor/en","quote":"Best PDf Reader and Editor ever!","rating":5,"review_date":"2026-07-02","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 (2cd516e344e4…), 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.