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.

“Multi color annotation and portability is what i wanted”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
9b4403fb576ea621ad7820e48c501f0cb54c42ee00b4432602b7cbf6e7ad14f6
Signature (Ed25519, base64)
F+aruxFxoG1P2oTgFOx9yzB3m0dWUeDWxbiBXJeEXV9IWmrlmoWnCRvH87IeJfMCew7epZqsfYub9O55OxR6Dw==
Merkle root
5c4849a28e8624d6f6d3204e1f81a6b24f2188b6690e8b122801054617ca25d8
Merkle path
["9b439afd8f64c902c7552484c49e142cc94245bf0a1324a6ca4068ae32ed53d7","b1e33c8093acbe92c8418a745b92d84da31f79180f0deb3df097bb6b070d0e9d","0dd9ad7dd45dde60593d37ab68275e1338dac475072dc94eaa44b8a47eef469c","ee5930ebc3a1a2591e3b1b6cb013a294b4b933b7c964a2196efe397e779370e4","61ee524656c1f557e00ba2571b94c98efdda40887a2dad2a674d4edaffd2a636","a227828d196e2b9c42d83f5ebf3136049dfafc4411803caf594317618f5c5864","8e093654cc7a8db7f0e3abbd09c84da93ed77107e61e056f992beb99fa8e8235","9923b2ed368deabb52cdd9dd1661d128e4759af844517930e6d5f9416e2cdc9e","78a46b35ef2c2c20ce8e159ee98867b62241f4343fc6238b7b31c93d69483b51","550bf089a7a32c13a458fe85a7b3187bea57f02fffb6c1c47b94e32bf048212b","950693b38b2a8aac855e0101a3d4e62279f084804189e51e043aed9b39182b8f","a6f0393e672db1f7a42a0e48f58d1ab397f70d4769af231ff695e788c43f5323","6f1e467d4fa619cb3e08538173acf01a50b505f4c6c960921062ac94dca51c01","855df8175222f9db398f9629c729494a6b2f86ecb26c7fc54bbd061fab2ad520","649f189ed3a422a3ffceae7f7673f3e683a1fac940fd27a4d89bce585dd48e49"]
Anchored
2026-08-20
Public log entry
search.sigstore.dev, log index 2524617489 · entry 108e9186e8c5677ab139…
Expected log hash
2051fcd76f2ba790414bb1c15fd4d3d064889742ea46f8e55b5028f1f571c27b 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":"v1787193158162","kind":"published-quote","locale":"en","page":"theme:xodo/fit/en","quote":"Multi color annotation and portability is what i wanted","rating":5,"review_date":"2026-05-24","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 (5c4849a28e86…), 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.