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.

“Xodo has been really helpful for my studies”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6bdfbe0799f62874f5ba3589090abf69871129af903f346cc063acbb7c09ce49
Signature (Ed25519, base64)
0UIxoLbUbTEw8z7bBBAJSl1SaMp/tEJTC1bx+Jipjgi+ppk1Huc6i2uZori6NVuSexSQdIOFUjF0Yryy5wAJDA==
Merkle root
3030a3ea5b39192cafd732e0b397cfa387f40a2253f2715cd6a4d9d218dba468
Merkle path
["6bd14fd4a77de61f852bf21ca1d733c373cce07a1a9971ebc6369d59d8fe5438","249a6b538eab659f98a3fd8db4b3cd8a707c8041560bb44598df3d429311c81e","b767e25c4651060b75f37d4262d97dedaf94ebd1176bd23d0df70358ea3b6807","61237feebe1badd4d0f972a351050779754363fe45bb7d66d4744c45d83fad89","9f5cfd2742b4d7a7cf1304875bcf702cb1ae485dcf07b226d957689041015253","58a3766882c03bc3844b43ab5af962f1bb14a2ce10eb51012fda85b5997335c1","7bf4ba55171308e0eccc3c48863a6548fdbd46ace5734cfe4d4d15fdf9154cab","f10280ecd77ba0a69ecd132f29eb1bd58f5109048d263a1ac34b3ac1c7cd4aab","ff45f3d84abff4e7ed3816bf52880c265177b4cad771af79c7504f2b688b78e2","285772cdba4a3d26f13a913ebb589266c94dca4c2562a97371e9b8fbef1df445","178112131752d188401518bbc1252d62047b56e315678552854b018911e00000","0f257034541900399484a35ad33dd1abeb8d1b7611cbc2bc7417a6638e5edf50","e19c6eff657ea7d0ede33010cd88abb8a9e01c28c7b3ec485b702f7e37c24957","fa236bbf83f61e60a6b63c899666e78098c5b5cc95b126245f16085503380c3a","559fcf7745d7b07c729ccd960c18a4660eed501cde8669d27c3235203d371b20"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514446349 · entry 108e9186e8c5677af084…
Expected log hash
901e903dca7784cbcc0b860ca8f2ae684aa8c7d566efb3654aface7bae409ccd 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":"v1787128322154","kind":"published-quote","locale":"en","page":"theme:xodo/quality/en","quote":"Xodo has been really helpful for my studies","rating":5,"review_date":"2026-07-25","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 (3030a3ea5b39…), 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.