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.

“Fix the bugs with "free highlight" tool”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
a56949c1fefe1c3616accc16b44e9f94ab6041a62b6a499150e0620998569b0b
Signature (Ed25519, base64)
0339fmuTiiTjRzYns01NTSDQwpkzq30VpCOZdy1aCtvV/iGSfUjlnbx6lvOq93BGMHJtTlxneu4/wsfz2ZwiBQ==
Merkle root
c35385e3159410853b606ace3c93abcb561dc35874bbfae2272c5b0050f06a48
Merkle path
["a566f22a6e7faa53051fe4b5ef7ef9981e499ce8354ce6763dd78e4fa3854725","5abea9de8c4fcf38598f84a2198dcc72cb49aa79c633caab51bf1de306c077ba","977cf44597c8d2245488739401321b12711f50e00191877a474843a28c9759df","e0ed0d96b77438bd33c6f30370261061d406369aa05b6fbef804f5c2f7b25d6c","f99dd3963a99e177c3a6349ecda8ec678126f9aee602bdc25f9ea61114e1340e","11a1d84535ccbacc27ab0a3a21e5d50313359ee4c0c4436e3a5c469f3e1f1ddb","98b190e64a22ad7815713d4f746a3638d08fd0eeee0f050d3a6db126729a957c","209ad27c6e08ea89ebca08ef8762e4ccd6de500f704df5d33d32925dd5758939","c473105e33bb5503559bcb98263e9f3ee6bcdb31338d27f811b29a02d0b95d45","a42af929937a2706627de2761e4cb4cd1a30e6e5d1d2b8777c725d8595f8d763","d3dc7bb2a0325e8e751be99f685f472a3097c3f4b4d6f7bbc27782dc976f85e3","e682a382404652d6f6ce0413e845555cc0dc6426d17e47274f9ebf8077f1d614","860b31df03a270c3b86a89d4ba2a4aab000509a0ff7a15579395addf9af68b11","eb865981e8703d40e97f7a1d500cef5e7bd341c0e720b4ca75d23312d5aa5f63","19399f0af13a2147dd8ceb83692caff2214adce3d49571e366dcfb3633df2667"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514083622 · entry 108e9186e8c5677a81ef…
Expected log hash
eb47f42546fcc705387579993679cd6250c0b995d01bbd10805cb4c8d66efe2c 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":"v1787123762743","kind":"published-quote","locale":"en","page":"theme:xodo/returns/en","quote":"Fix the bugs with \"free highlight\" tool","rating":4,"review_date":"2026-04-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 (c35385e31594…), 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.