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.

“I'll definitely recommended it to every learner, reader, editors”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
5b0b6e1ef74a7cd39b00ff9dec6f34f4780caa932ec54985f7e6d3e6297ca186
Signature (Ed25519, base64)
BraYi8GAM8I2PtlP2U2sTGI3peyGgQ2Ur0/01idqr214YAGNTqbdFWLd5XHu5vmYdgwQ94F9K/dniqrJIy8OAg==
Merkle root
677e672fa444dfe5152ab91687c577772e13723ca441b5c8063508daedacfe44
Merkle path
["5b0bd909c21a02d0497efaf2f49f9fad573f718e0959e976a64dc8a566b16372","b1338ba9f05bace13761b863021a5aacd0ef0034022b6d589c10493aa38a5bb9","1b6ccdbf14e0e9b8bfdc8b10491fe253812b7484de4f27bffa90c954daf56ab5","6932ecc99d9b22907a6f3fd3c816ab4f7ff9a3e0e9c2c59eedc0f56a72cbdf16","ea19704c850fa94a1c82a960ea761c3970b27215f84c8d9d8919ce20ac66a541","f23e92fe01e40e43d81680c8919f01b685e74b5fa33f3a6e9b0ab9c605673360","d03e96ccc52a856e5ac92f33513eeaaa11395c0c4a61d299bb929fac8e21e89d","8ebaca93745686d6a773571b909a3d0d8644052d5d4e388124f79335c3550da1","959913af61bfedf6f92c958f46b835a3203fd4df2d2cad6d87cfc65162fb357d","16eaf94d8776093fa00e1313f9c3e88f6100478eb2b0707785de0ce31926a39b","60a7784cbc91dab9ef64f13ea3efb0b7d58884c2a949cafb01c0ef3eec198773","6d0314f31c38e934968ee8dac764e4849575f56bca662e0e3aed0a15797b4dc0","1b074434db9f65ac83f955b267ab98f99350feb9751fde25d350ed3bb4cdde81","4160c2bd6ca5556fcece7b88bcddb2c951ca86b46a4df6829fdfab8c09bafb4a","188420cfe03d9830600dc87f84622c41659cea53d9b8db8954bfc926ce1d4dac"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514013184 · entry 108e9186e8c5677a6b00…
Expected log hash
a596e5a342226b61371cdf76b5c8be8e37a3d00e7ffe8f7b0b550e1a8d1459dd 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":"v1787122978040","kind":"published-quote","locale":"en","page":"product:xodo/pdf-editor/en","quote":"I'll definitely recommended it to every learner, reader, editors","rating":5,"review_date":"2026-08-01","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 (677e672fa444…), 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.