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.

“using this app is one of the worst decisions I've ever made”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6c12a1f95fe341c5bba6eb2357551165fefb3100cd8134f8f6c579b5b49ad60d
Signature (Ed25519, base64)
arsZq9mHpZE62x2gVelsyoWkU3YTbSFvbbGKCXTZVLEv/U5TaKR15w/n63hM+Cm3po5pxr0Xezd9OgVA6EYlCA==
Merkle root
fc0474f2ab9253f8c52a81a0b2f1ae382f5f022f9b54f4e3fe06eadaf19fcf31
Merkle path
["6c110298250eeda73c0dac294504f84b688723358d8934ba58129238ee9e4ac4","67a1ac60a08ebe1b27cefdf08489039a1e9c03d9d1214d6cddd6766e798e9638","391140cd84c72aed421f4f3a96dcc68b7758a0919c1ebf20a1c818b80760ab33","7895041f8c66f8a3c91b3ba14dca876d2d668293edba3e21f21332a40ba2371d","4fe3f2d78174c8a96cf2e190e28b4b8c952683d497057080b0b6ebc6b986be92","a5bd29bd356959ca20cc342f9b2c12a30e6e9bd4cb9d74fe7f86f007559d329d","668bfa8aaceca84a89d6ee5630fe7439515245c87ddf993907a595622eca5738","55a1abf7f2f49eb825374d82d9bcd2c8e69111713084b9adbf93ee217bf592fd","fde2224ad253eac9f94be06f68752b947c219bf22569a6c315dc28bd46790d28","4054dbded90df5cd8850cca016ec37c42f2b7fd699a23e95478f6cc569e5514a","f82b62ed393df6e75c6eaeebf74f077be510cc4b9badc5efbbd62a5c0df8d751","4b473519aec772c9e255916dd393be76b9639055882afbfb7981bc3d09a6ab5e","45c0c0e230e3fef68f32d677676bfb42e35f39fb2908713c2469479af7a56696","5e3e14a1ecafa84280522a5086c1c4eb7da1d2c5613bfc63f3fbb10c0768d98b","df2c1289894581f6e22c526afc719be15b70c61ef4fbef0978dff78cc8fc6054"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2544092674 · entry 108e9186e8c5677a1b30…
Expected log hash
e3ca1014bd6a1a766a29da72cd2b9f7f9c6c416fe6af720fafa94eca555dc171 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":"v1787289954326","kind":"published-quote","locale":"en","page":"theme:xodo/durability/en","quote":"using this app is one of the worst decisions I've ever made","rating":1,"review_date":"2026-06-23","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 (fc0474f2ab92…), 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.