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)
1477d91ac9bce64af7e9faf100c9fa417cd063088a712920dbe87880eaacd184
Signature (Ed25519, base64)
PYr6x/LayXcp23KbG6jGv1nHChcRtjMKuq2k4Ue4o8crslcMCBWSReVzj0WtLpEEbxzSKMJVDfv4ngtRc6g9Dw==
Merkle root
0d7fec37eb7aa7ca022c461398d36283692153bdca7d5292b2302abb6878e5f6
Merkle path
["1481df1efeeb406881d006a12f4ff5d08b7e041b59fbe3dfeb264d8fa0d41207","6ce23e2121d6a79d4e45bf06af0f2dfc4556732864178c7c03548ab5fefecb4b","ec38d9fb6c50e41f4bd371576f9c33bd265d7ea42cf72bc200db7f6c82c576bd","8256cf972722f688561ac0b7df1e6ffa2748c1808861d36fc84106ddcbc71234","5e151c1959d8a6b67b3fc211cd2d0c651fbaa614c561b50215be6dc721687560","6a27a82f149ec1c27e8e7df70688900a66b670fc1b49b9186eb9e78c8e219da7","9ecfd520d8485cd71a83b55ae41e2d3facc1ecd1d74d98e040cfe832eb78f0da","a26312f5abf8507182b052dd64c0585010a8b53e99a70701b44d6834c99808fb","8c54ed417c00ed1c17ad58ec2187c2c418865d936650f1f27354b7c54ac0d8ab","355d92508b6e203436f6708e61c6a6072c9b14fc6f41a741069644dc6aacfaf1","498a995a451a89fda62a7aab1d10ce4a52245b89ba6022a89e97fc46cf6b71f7","37ca272887db2c64195a73e7dab85600982c52b7a0288bcdc54529ffa1513fc8","f77c5de7cbbb3880e295e9751b837c38e25497099e33ceb7e9621a8a350397f8","7c6f9d1168e8a2f5a015e8aabaa46428ad67e71a9293d82f20ec40d2ad6c53fb","8c6d73d3d8b42a55077d4061fe37663a0906972431ecb9eb374f1f8461206839"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3126883925 · entry 108e9186e8c5677a6678…
Expected log hash
7790667e260445bf729ea3061132c2116b163a0e0b944eca343c9e8408350ef6 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":"v1791359818972","kind":"published-quote","locale":"en","page":"brand:xodo","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 (0d7fec37eb7a…), 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.