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.

“user friendliness”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
695265ac9ae58a571f35f744610f671ce012ce2fe645b4ba0845fa77b159f6f9
Signature (Ed25519, base64)
5wzzMq5gZZ6WXaMvsmtQZH7sMlsKxNzbFZpNno8mA4axffti2Pc3wgPuGm2+DBTYjY0r1qT66WlLCJZVpGnGCQ==
Merkle root
3aa12e5b2bb49befac906908c9a841e9a421f12d0bee8acab9c1f906487adff2
Merkle path
["69560c6df4c5cb87a5ca5aa656279a2f5300bf602e87517dbe0c9a312b709645","cfdf25ac1c1f0f5fdf0da012704b1c13c35762a9db4f5c561cba471a0d01ad86","4de7548033b7d8adafa05bbb2055b07f0d327ecfc8c358b666008e92bc09a98e","2732de6bdafe43befbcccf143f1c22c147a90811ac0bc7646237d4f513420a22","9d3fcdeb0d1874842eb8e25f2e03c130d4cb3b4096b62e6efbfbd1a91bff8b4c","50f53586e649bb816ca04be5d8b0afeb698879966faebfa0810e839e37a42349","b53ff0c332d0e681d3d4f3176dd012fe737e70a021a12eaee64a4a8d42f5a9aa","361c37d1571399418325282a5905438fce691a1c7a78a89a37d691a64ddae0ea","d1838e1386ed9da9bcbbc9693c6482e0eca7a6ae74978d4b3e4e46d0ca494cfc","8fbd98a95dd72089d35d4355a0420a92f1338cc8779699e8dcbbf80400dd7d32","017cfa23e6573ca802a0e0a59eadde8ec4fc7cfcc8a919e905bc86249e550129","e7a94d04437720fd8cf992ee6dab38693216414c2bb6c93ff213fee7a308d432","f012a8a26dfa958fe562e54b8cec123a4f52269d633080fe9e680be84eb62329","2f00626bc88d01c042a52bec5a9d951d8fcf3187df280beda8f094e8085a220b","6099970369039e9ea9943621e6c4ddbe6cf64be652afb6debc70debb01455286"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514629481 · entry 108e9186e8c5677a8c32…
Expected log hash
d923130994e40329302180560c0ed5b43e4400136d037befc932b83910626f34 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":"v1787131980797","kind":"published-quote","locale":"en","page":"theme:xodo/ordering/en","quote":"user friendliness","rating":5,"review_date":"2026-04-20","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 (3aa12e5b2bb4…), 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.