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.

“it is one of my top favorite app”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
960ede36ed4dff2003e07fd7f03a99ee7e80573d4d6038f0e79a5b92143af596
Signature (Ed25519, base64)
46rC2j8mXMIMib6a0j+3yNA9m/8Xb84MceXZw8BwtN4jZMAe1hL4XDJBpvhurJwqnuUuAzX17nGdTpFdEfj5BA==
Merkle root
aacc11945f125ee3fcdef86ba030016c440bcc608f4e51f0ffffdb4cdc5e9321
Merkle path
["9611781f3c077c2438616d22ae48ac3c573514bab10f8f0b9a83dd3f3ef0b0c2","1b3e256fa4ece77d94de030a36e08eef75ceb24e72aa0c2ecca99a0cc57e957a","e1465027e985cdf240bf7a80d005adc910a4b8a8b6e5d4604c1528455ea78188","818d196dbb0a89d88a21186ba666132007560054f6279e2f73e078444f57c772","330723e2970157a69179566b5bf34d4c154dba110c3c2f9eeb0628c86af3b553","a71ecbe0a07b40cfa9ba40bad62f06914ba07371d1c77c711f79644dcb498f15","f3a0b0bde52e9e11f41a5055b9de5a84017f51a01cb57bf0fd188f7a46486d16","ded22a8a0a19dc8c6c953e6f7a58397a846762a3853add1591e2f6c382a11f07","688d0ddaaf4249380dd4c9feefd97ab5e4587f0458aa77dd50e22b7a6c06a1b3","55032830728be54c8cbed6c64279275cd31ab2990c746e687d1fbfb8caa0b7a1","8538a61bf92446c28297986d7c92f17c4e4ee721cb5d9c43646a3b78a830973b","5aeaef4f54f943cfe4bb70775fa6199e9d56782542cfe5c727b823afc0157d31","5cc879d970bd25ed7bf08e6b0ef30fd4eaa07afc421cc2c206a72deac6f48789","b1c6c1169310bc9b3706487a8b54e13d2c5256c24253b48b4df6440bd230af21","2309962142b16600f7fc4d57273f3042f382acb91be89aac7f00112f61b58f1d"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543547848 · entry 108e9186e8c5677a921a…
Expected log hash
bb93f13ee7a4a636e28586b842e19662b148eb18166a89b3ae7d189bb8e81689 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":"v1787286345433","kind":"published-quote","locale":"en","page":"theme:xodo/fit/en","quote":"it is one of my top favorite app","rating":5,"review_date":"2026-06-12","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 (aacc11945f12…), 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.