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.

“the performance is so bad”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
69ac27a8e267361307c68925b9965709f29f9a728ac4fe0c774e05fe8542636b
Signature (Ed25519, base64)
TFoiKKRFgtejNa1jPDGcztY9bm1ip6h4X32eSCWK4IefLkuTD7uvs4RQmIX2uCztvQFKEcP2rm2/L2LnYwdQBw==
Merkle root
cc9af896bdf0beb88857e1dcc841c404ccd4c59cbcb6932f17077fc8aa87fc23
Merkle path
["69aaf14fae7ead56d90125e65d85ffdaed343a101fa2bf4bd1b64c60fb07c77b","67ef0ed10e2a004537df3153fd171364ba0e1c1045e0f16a5e7d91ab7733f895","60e731366ab0a63f83fefb49015c6c0b9fec48b61f3b5f3675ef05a675ca57f2","a9ea5ef0481b551de2645f41937f6273df0446892f984e810ce6d180bc14246c","82c70c937019c65a58158a225a62a8eb1f7e5cfc29d800afb5165b590479a19d","a84d8c4bfad277b2ab34c790e2def5debe43b498dc75a6143e0b519d0a4d5ee3","185887eba1b9497aac9609b1c0744add6db9e03ecd0b759dc6411e7e942df82d","fac90bad04a71275e5df056a744de6be0c618633ba316975cc9b397047f1e60a","f3252d935beab3921e850013e4f43a9c892a4cd6b6363f0f7529131511827606","32c23699fc9f4bde522c7b3ae0bea5dc5d88a5e46dc72c27458444d2313f1e8a","30644cd4d4baf1494f3006f280381dd84f4043211b5ec1d3eadec81cade21db8","d29846d305ca93ba91cb7154854585f35334e65b72562e64a3ca2a46c183180d","58b1aaf4ff68687e7006533ee52afa6414f635ffd828ae73a306f5f050aad891","c7065531c3e7c4c7309e4efe4674330d1f0c5150d728171b8966a352ede62d5a","7e6c62c2991c7cac05134c9f9e2ab89c75f6106f706f524eb2e9fa9f554216f5"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2542751096 · entry 108e9186e8c5677aaab3…
Expected log hash
8251ea19feed4cbe325f48ba93f0e47294878633f5d43178e4a3a023547e795b 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":"v1787281943761","kind":"published-quote","locale":"en","page":"theme:xodo/quality/en","quote":"the performance is so bad","rating":2,"review_date":"2026-07-24","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 (cc9af896bdf0…), 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.