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.

“changes are not saved”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0a867ee3f4db8f9d1aafca8364cc31a5058537b70c7928681187794222d55ff9
Signature (Ed25519, base64)
WOJhTRstd+f007bPRq4keIfOzgEojL7LgQKsVAq1IPeb5f6qBQQylUvMvcrc/etYfIp504YdtR/AfaP3YXg3Dw==
Merkle root
784ff8fc3c42eac43c7d399f0d67bba55d28073a7e106789ae0c6c3f5ac9dcc8
Merkle path
["0a81d26ff08144ccc7ec5155283713b2e9b0e243a7e9986417ec1d256e228ad5","b3d6b179abaa057839621e4d10bc4f8006b68188b917b6772d27fa174ab7ac6e","98e0dcfdc7d85dcaca631adb6a005624df9e17689e549e918bd9ac87a241c2e1","089a5beecbf0cac58c4c5a6b6173432501d5965cb6fcf1fc52b498986c7dc83a","327aa7ad4738f691cc86a3f8531f3dfd8cc7fe9fd7203ce6361a6effb2ac2031","64687164005940502503f81d631008cc6f90330054d3aae678d1ba8c9e53bb25","fba7c6aa9813b4561d37dcce52c194cbe8dea963fe003352a6cfb61b010a2e96","8f0b9dbf7543e3b1db9aa30834a3cae7b42f3e3edc8c25c05d515ca958ad1c0b","ed3fe1a2803838ddcc35b36a78fbcc3ea2b8e2c53faff20329ef40ad0f9c2396","54446f07c4ab303115c023972d8ae2c4584483caac109ce24d93fb0a4da3964e","b6dfd79a2c1d2a6c79a9e35caacba7bda42383d9f766320084882d228befed34","c72ebe563668e58eb29ee8ae3c5ee657adf2e41ca1680bda1301b8bc24ffd5cd","b2e795b1a28ca13f7663ed8f62127f0cc32efbf6296671f3d7800b760642c1e7","7c65cdc9460755a327943aea2ce97e2f5c6080d778d9434fe2dafbfbc1e3b04c","5fa09e3847513934bffaf71960ac2a100e20422698698ab1e19a4fe8ac133514"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3163352270 · entry 108e9186e8c5677ad020…
Expected log hash
a3ae0badac804d14d314abd0e71726d06a96c43a3840dc1d63acded9268c461e 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":"v1791543790412","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"changes are not saved","rating":4,"review_date":"2026-08-10","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 (784ff8fc3c42…), 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.