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 app for editing of pdf”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1a6631748a464d13cbb30251fc303792a0aa4ca09ad4be81a03add154be03cdf
Signature (Ed25519, base64)
J21nHcHSmk+ecOqUs+ZR229ErAAz2V81RoIn56PmB5MIojFh8v5XsBaEi+K4l3JwtDh19GBOIJA88ELpg4WICQ==
Merkle root
ab8d4de5853e13d360962f03dfb915842a42e1c5601cdaac4f2b37ad0ba96b78
Merkle path
["1a67a4ab59b06ad46eb057f1624327b41c3e3d5d306b9c332de5799f1cf02bec","59e03878fce3a232fe3415965520e36c55d02e9ed165b06e89948db732da5119","a94c44b66a568e64703b53f7b92df38bfddcdb3b61f15676186de88a314b6063","0a6582b943328e48d0e4c74788a842335ccedc146c0a45d89e5e766f16e42205","d426531d71a445ca651980eff2d59bcb6ecc6b06860fac91c83041dc2a0d5d5c","bba892369412fee02269f013607a0caa42d8494edd140860589cc5e2d588afe6","2666d3e38a23920745182b759a8a591965ee5cc8b3c324a2fca950944aac6c25","829905989ccefcc702257a92ea2aa578a4d6c184f7a757ac6b908b349bb9992e","6b30e0373c80667f4b8b4a6832049959129730a39f3b0209a0e9c9bd52b27021","cf496d04bbbfd6727e92d40c5b1fa0c9043f26e438eda377c1ac99c6f2071e35","d1c8ff8c8bff6e1437d1d0b99928fbdfbaa656a852f36b4fef47a399f2e983af","cc82dcedf1803fb9cd4fbf2969503996cb7816723bd49062350004454130bee0","b5d1a48b6642f5e918335ff168c322a90c6461c94c3bda6ded76ea663842f62f","6b7938d0463f2b633e195d7021170023360849e40ff5e64ffe0633d28e084f81","90ac6c76618b09f3702b50a6410c80828bbcb4ead0d9d85dda294a654717f483"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3162293789 · entry 108e9186e8c5677af0ef…
Expected log hash
49c1b9c7cf9c0180248092c94f6cb48d5e59f6c65f471decaa61f120e90874ce 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":"v1791539611981","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"best app for editing of pdf","rating":5,"review_date":"2026-07-31","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 (ab8d4de5853e…), 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.