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.

“The current one is showing it's age already.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
699e5b3fe3bc32614de120436893a0ba06ac9b7aaa216c04a5b9a9a2406e87f4
Signature (Ed25519, base64)
q5XGJJjgjIn6QS5N5oWgVX38HVM3y9Ed0EtDyYrp7QkliyXwho4Z16ZxGeN0UU78rHLhxeK09dD7scORgGiBDw==
Merkle root
3ea09355a1b22a15fffcd33ac0d37e4039cee2896092e637dd8c4e7dfb5d507a
Merkle path
["699d9e8b50cd432e4efc5d47f14e38352fc5235eea28730a4aac538200fccde9","1c760498f1a2e117716d4c8306770007fa5b5cd078b44510ed1c9bf38324aa42","e8f5eb45f1863bc97b85b2369bb919fed5104ab38427e01132ea01638976dae6","7f84d283f0047fc80c983aec9958a6a37a5814097891fa97435b719fa458ef68","b4e7e94c41dedf17b31c79d687facb79768291d63366064671720a3bd96eaf0e","04f6a39dbbaa61db532c00618808b16337d521b3251fa02431d96565c0d9486a","8289270727eecd5595d292cc692d7fbdd0039e837b6ba7698ab974245acd06c9","9ca8e0561870de310c6bbbc8142a91795452ec6825f16250ee373c1e4840d950","f6c5452c5c605cc474aa4eb8e163b3f1e6a5d0c691f0f3aadc6e52658db5e19d","7605059e458cc6a3312e4e9ea2521c3daa3daf4b942d8abb7805bcce6c57a893","d7abfdbfe5bc0af3421bc238951e987beeeb93ca32ff00a20c2d00aa55df26d4","4b61e0ec42d19f86b24664c45aeb415bcdc17f750f06fa8c661a8baaf980e7d3","0ead555428295332ed003e76021a0f41139c28278eb5ac0da90eb0f864c2f749","d8ed3a5c7d4cd902063782d2b816101a433fa513967f9352f92e3b3b0172862c","331ffac0f34e1f76cacd782a04285f7bacef5f5dffbd1f8163703fce9b22280d"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543978942 · entry 108e9186e8c5677ac836…
Expected log hash
69ff2d97383073bd392d75b79533a80cb25c69be55aee7dcb24b1acf4a379172 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":"v1787289230204","kind":"published-quote","locale":"en","page":"theme:xodo/quality/en","quote":"The current one is showing it's age already.","rating":3,"review_date":"2026-06-26","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 (3ea09355a1b2…), 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.