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)
15eb28040a03ee768dee70a7b17dbeb5bb122c76bb6fdf1a8462fdec14441825
Signature (Ed25519, base64)
S6RTp17+Dc9kxmRraMoYN98E1U1EmYNPyoBE4OU7tp49IZyc6yChm+s52YiPyLd+5wKz5buSylqGkr6PC7XtBg==
Merkle root
4900b1080bdcd3b4c9234f01647614e7004e0a1ae01ead44968e31abeab33265
Merkle path
["15dd41a3c5cfa620b628b701e2e31847a3c0f48faf715239ff42124593499ab6","8e4b0d2fd2fc341648707a9cd88a0b0f7e000f034c959d3ed691c60adc6e58f0","5d50bc74d4157c852904a80b8fa16a8861340964d5ede1d8f0447949f1b44cf5","5f4734f676b341ebb699b7409eeb140d24f15a223bc121c1a46d0271d01cb1b9","8f5fa3d85f4a769c501be16b18496b53133f00367b0cd713290e79eda213aca2","3fc971834911a13ac18e712272238a159cdb59054218c450b579e43b8b7a6a1c","6a3a14117d792b9e4903f75001dc1fe5df62937b0bfa9a8b4904a1323780ae65","dae98b41a162cec747758733eb0bfe98a2b2e8592399ad33a8dbfc0a791e08b7","595ba9396357e32186165e4cc00293f1d074066da0e69fe62ed42325a3e77986","0082cae84f47e1ba46cbf246c30f2397f57017a07f5e1e677bdadf19556ebda5","5eea0c065cc9023d7325f7537d5b56f514ab1dc88622b30c5c8dec5113ed99f8","4f4d0831440aadf9cdde8508ea8672cceb008a30da8e04261a55c46ea8a8ea6b","acc667d852c71a0e84a086ab20f7bbad3d8ae083a1e44cd20501ad641f662bdf","0a4842003c61f69c5923b6aafd56426e7fe934e483f7d15b620c07fa61f89152"]
Anchored
2026-10-13
Public log entry
search.sigstore.dev, log index 3241341297 · entry 108e9186e8c5677a0e53…
Expected log hash
39342fbb95f8cce5be4111719e5450984494edcdff99b8bd9a5c0d2303b67943 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":"v1791866192176","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 (4900b1080bdc…), 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.