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)
- ✓ Signature — Ed25519 signature over the record hash, verified against the public key at /.well-known/citatio-signing.json
- ✓ Merkle inclusion — Leaf recomputed through the sibling path to the anchored root
- ✓ Public transparency log — Sigstore Rekor log index 3163352270
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
-
a3ae0badac804d14d314abd0e71726d06a96c43a3840dc1d63acded9268c461eThe log entry'sspec.data.hash.valuemust 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
- Open the Rekor entry (pre-filled with this proof's log index).
-
In the entry, compare
spec.data.hash.valuewith 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. -
Decode
spec.signature.publicKey.contentfrom base64: it must equal Citatio's published key at /.well-known/citatio-signing.json. -
The entry's
integratedTimeis the independent timestamp: the root, and with it this quote, existed no later than that moment. - 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.