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.

“all these for free”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
61232bc3bd89f09f574b8f20023bcd127eabdf4d6b7424c3e62188e86352055e
Signature (Ed25519, base64)
S8ePTpzALnDoiIOUTp6SiXS/P4bdJd4jax7F9kyPqQjHjzHmgH6DKtjhaZFOzYoahr3K/xy9e3KJPNj4vkSJAA==
Merkle root
790984da83ec061260aa072fed7636f9dedf91964fe0be93d7a7a622b2b5a92c
Merkle path
["61217fddf54ccf04d0d539df9954021f5f55161d6698a83994c82a87fa9ab04b","d3c04447f629ce38e6aaca9fe85c9d3cc105a412de718b3549ee7e169fca01f0","0df8dbb894bede4a37af3084193766fdc63a578b0b00fb292db934d0b8544d81","3c0f4f6b0543fe9dd6c981ceb8cb619bca73d4154bcebf268005e29cb8cdf071","6f356995fcc17abc3fa2695913676c71919dd186fc0f5ea599b10aca88978f8c","aab6ad215c1f9471b4165a53d31939a76b82589268fa6067c9efa03ddda71d0e","b6b10f89358997ca63d3ba80175f60d4e0094c591ffbf615b73d87f229e1c61b","4e4c6715dddf6ae9949e0b8f8a30aa96c55eeb10675aafde0ef69092b9d10b6c","f75d6a88ed73cde95a8395fa2d6277c96772b2e1abc130498431d67f6a82a9b6","427c399fdb03f3c9f128e750fff12e8f8f9a16743ddf74f7ec429722e084587c","744bcf41fc6263a4d0bea8d7383c2a855b77d43a105e6ed0d8a4cdd4706e106c","90f0a0e3211fc23b1e8db52b76383f6519eac469757414a3b9d5875619fb9c0d","6119aef4031d03205576aa94cf7a51dbc6eedfdd420d909f325579401c8abd0c","19cc354f6573191d4e7914f94cb811eea176897530d869ad83bfe3cb7fd5f206","c7feebd3045cc2c03d87ca1241b2d06259ffad35db645c59ca3c5ee2004a8947"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514496096 · entry 108e9186e8c5677aad27…
Expected log hash
5d2238ef768473286d75355f523ab94503f4ccd3d25e17e9efb265aa0f540183 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":"v1787129810322","kind":"published-quote","locale":"en","page":"theme:xodo/price/en","quote":"all these for free","rating":5,"review_date":"2026-06-01","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 (790984da83ec…), 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.