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.

“this app charged me for subscription i do not know about”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
7fbf2cf87918e1312fb099109b2ae46824d6707e40238ab6fc3fc3b65671a2a7
Signature (Ed25519, base64)
MYEKnAUg/rSGZXhtSr9EI1DRTAzaM19E3FbcUiAVuAXseaBjCeB8BtWcUgkEcFV0bd6WA9op6wmugZZrWVeTBg==
Merkle root
72711ef72b8a7ab084630b9628ceb2defcf0aae546304d44ed173db57929457f
Merkle path
["7fb91279933e19643747234c65ed16640a9d6a1e6ce6feaff1734279d9d29c84","d17c9a5f0404e3edbb08a0f6f1b736648b773edeb3ab1ebd5df541758dcf9e3c","afde81dc35a1d46d16d1f41cef9b095f3a004a5f7a694f27126e7b9d2768d6ab","5676df44c0580d0915ecb346292f35e405bc85a60c61634329b3bfea674d90ad","c169222900d3883dae931f12211f498273d17947dcbea0f7e7f1e727c547aba1","fd5e653edb3bdc2511bdc8a9e078ae50b31df7204c6e6704cb6c964b25ab9bf6","4b875a1456e1bc21e04ac7219664a1f865d351115d8ea0c627624996fc0a5a82","43e65194367ae8f51a933118f2a095b3552f2740f5e5eacbf35206eaab57ebfd","fab58407a3ae41936bd0a3cb7efca23943cad7f2dc864d203d422537f691d881","34a272d626da132776d64d0a41a6db02c58c1316f341ea99222151e95c00533c","122120dc931bdf5741dc4dbec49d656ee5912a2b6ca81162cfa6a445bc484b81","a04624107601e271e014741151fc1401f3129fbafec3688731889c4e71f22a5e","00d96e4f5844025cf94031a68b6b1f85feeb1eba15fdbc00f57e844b9bbd7752","bd788a9b6485b033101398a3aa9df1787f225fcc2ec7903fcb31ee65f6cac6af","6eb04938b6a483bb163369a1d918b32576dde0943755b89bf4c6d18743828ba3"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514130917 · entry 108e9186e8c5677a3273…
Expected log hash
65ba51eff926c65ed0ce093a942d84c628d811a59302f32867c6589627e47792 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":"v1787124488047","kind":"published-quote","locale":"en","page":"theme:xodo/billing/en","quote":"this app charged me for subscription i do not know about","rating":1,"review_date":"2026-03-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 (72711ef72b8a…), 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.