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.

“hard to use and/or to reopen the fil(es) that you wanted to open”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
7c0ff71465e47db2c880baeefc2f9b504abc6dae916c9f3f6f2b5fbdff780334
Signature (Ed25519, base64)
rhlEFKgFudIcQMU7bb1kzs+aNk4B08zKBUvVmBQSUNKJVqrNw8Fh35XX9PLA8BnYNpK+1hFdSvWAJB0YHrDbAg==
Merkle root
2cd516e344e4be63e12361494ae610d89d15708131c24034ae0c7b134b8bcc53
Merkle path
["7c13d7acc3fb739c537bfe67cf02e8fe469809358ae4122f3f8217013a2bc205","4d52c99df55fc800770773a6a404275006e213fc00658c5347f4a67cfed32940","fa13b89c1190542c2139dd84b192892765b04a79281fbf919f344b4dabbc5712","266edf59fc7535ae11bf951bcf8f25b3c9faa1748aae0ae38810cbebc56b541e","78c600eb3b9180425457ab0c46937e398dbfd495457ac9cf2b9bef3800f8a77a","51928fbe351efe032435ff27772645c2ef56df32e2698d7c235e150f846fd4c2","07040d1e40e362acc459e7c5dc30539d2bbb84e374aaa4887540ed58c7221568","304d91cecddabb92b146d3eebba07da052923b97dc3bf68a43d66668e6d2f18f","34138c15aba309c2bb55cb17d2c3bf7da1922e8267869b938dded4ef32c82a01","45adce4f435c29a3e1a1b1e23115e8c2fb0084a6f4ffd26118db276d004bb894","5313f94f01175f9031bf9feac9f0f2f02572fec1ce9db41f3db63ee24f5a60c0","95907e0472013b64a88fa42226f223effe8d462155044bc174271f7cdf83afcd","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":"theme:xodo/service/en","quote":"hard to use and/or to reopen the fil(es) that you wanted to open","rating":4,"review_date":"2026-04-19","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.