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)
7b3cd4ea435319ec2e55d833a669d3ef0b6b282068be46eb20b165953078b706
Signature (Ed25519, base64)
A/Y1gd3lE1+AKN7w3voyfw/gx2nk4rUFp/jIb/ioYdyCukYjv/aOO02kIpOopm35aufOct23CcIf8kllIZfZCw==
Merkle root
cee60bb6c0816d1bc69326ea12cf0c5c00cbea13afa283147bf24b52e30f839c
Merkle path
["7b3c580af70fa8321d65eb5685636b32b5c3b7e93a461116161cc71ef885259c","a39706de54e820224f67fce484dffcc17909cbb535c668a9e519d2e6e9b50e9e","e2379415d6e8dca5b646ffbc9d439c1bafeb86d2bb900fbb891bf45ff301f033","49fe8c16f1f2c2b23e4cdc3e9b2fef1170980ea7753e2945d96862573334a27b","933e944f45155908d489e22725fc066f4042550c45bfb7ce02788cfc4a0db8bf","882d308ae0b9d2abaf4d7dd4043963d919afa200560c6b9c3c89d30da8f8b74b","97a698eb6a22ca0ce26545006a308214357dc1bd98afe1ea98f598fc1ce7bdbb","1c750c04d31ed810f0fa9870dea5c33d775e14fa2022724d31dbb61f12825b26","edc9182dc27f4303bf8ffca82baae3ee37365ddcd431fa140a74cec0cbdebba7","e443f0f8580b818a9708f80bf229c57ac99a0b6169cabb9ea59813b635535931","a3501a6d2a9edf966c0204787c41a03ff621e2eb69a360ba3efbd50d65d4cbf4","09fb425de3f5eb75dcc6828118a0c5e77820b80df9298b1e4f37e1dc6d0e15a4","1a634c86608f8872bc200c568ce8705aeceaef5e6ca2a6b293c8a08d19857cba","6d215dc9023570789455be9902e0d62b0310ab7bcbe811daa69263c90da55ffe","57e3801fc0af4bd2492130e334ef2d0425fdcd10c95109df38ad0d371e279fbf"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543857133 · entry 108e9186e8c5677a5231…
Expected log hash
d8e1ac8b740526c2915424d7f7c6bce881a4ef05d0a3a3dbd88e4c760e36623e 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":"v1787288037224","kind":"published-quote","locale":"en","page":"theme:xodo/service/en","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 (cee60bb6c081…), 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.