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.

“They had a couple problems of which I complained about, but they have completely fixed it.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1e6aefa7d4e109fb668d9c6d5b8d948111e5222e77bcf4fdb9209c39610ceb0e
Signature (Ed25519, base64)
M6ZR6p9B3i//q3TS4n72KOndnOmmnw9/RaU4YVVl5Reo+RLO+emSjtGrrAaFpBtoNMcGjx14iQzCSx/t9CiPDQ==
Merkle root
274a7762154bd166543ff3cdffd566852c7127b7d67c5c835965884725fa5b5a
Merkle path
["1e6e85c8876a75fae394092710ff1079180f83098afbb61b5c80e454883241fb","3f06ddecb472dbc2e417dbd20c49789f3de0fe2100552de73a6d431124e06f27","536aca8228f277a3d613298628ed23c19c1a26401391e7b74667a4a628757b13","768d1181a3dba59c0b0bca9825d0bc59ff2064cd98218e80ab41b3e61d68be56","13868031975295e47b675bcc3a3f8136bd0670a2802cc271c2d5dffff26c9392","dc5b13523c5b85b15789b9f693fb12213a9e02c4933a20469fe85444b5805970","b881b00a2b22addf97c8b259c10a0756f9bb7ccb751fb4ce3efcada67382abe9","e0b69a4d8bd114f5f7912988d90dadac405dd0d52fe7ef5435ba4d06aa4f8185","57e05955c585adbfa7deaf46814d7b282bccee33ec92055132a6d2b1eb2b1b80","642b925d3ccd67580fa459596bd58726478ac3abb40a1d3721254bc9856b8ffe","f4790315b45ac3d162447d1e34229640be176d595829cbcd3965f0a5a25ce744","a23f8c34fe7234d1604529397f0f25595125771d2c3bf2e0ea04339b7ae798ca","37e0bacf6aea102741ccf02dcd42b0de6a02c60397ad417aaaf9cff69daaf006","29e5b66d9f235b4df92caf0fbc75cded7863ab76bbe1924bd45c3ed8fea27123"]
Anchored
2026-10-13
Public log entry
search.sigstore.dev, log index 3240911465 · entry 108e9186e8c5677a3a8f…
Expected log hash
75e63ac56a22d308ee68ec8d436777d2fa26c934f80384e53bcc94d01475e988 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":"v1791863907329","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"They had a couple problems of which I complained about, but they have completely fixed it.","rating":5,"review_date":"2026-01-28","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 (274a7762154b…), 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.