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.

“best for reading as offer reading/flow mode”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
284a6864d5198660acbddae4e1c4ff90fa9082dff0db2f286e3389095a6bb6b2
Signature (Ed25519, base64)
N3NuOZZnXbrZUHUwLFgt1aMyB5OPOQhVhSpvG9e1R0Z+3/JT59qdtry3Hy7b4GeR+jMM+Jz5F+veP5VmEYjpAA==
Merkle root
784ff8fc3c42eac43c7d399f0d67bba55d28073a7e106789ae0c6c3f5ac9dcc8
Merkle path
["2846226ed36eed3299c92dd0d93984a57d881e0a59aece371ad409fcd9ddb781","0d6777708b9ba4397389c1104dbeb8f399934a205a2dcc732f84322f1f072b3a","5e7fc87123ecb6704aa5ac0d82a4990339a34b2a2d8615f653e870a48a5d9aba","792934ba7dd5afe50bc4d5bea7de98a86a48d92db89acd9b9c97326f885a1838","79b30ed0c6fdcd1f82c9bc02f317864a0df1644c2ea41cbd75a67f2242fb4965","b738a279d6dc5a48aa3d852fa1efa204dd1dfe168d5e9aa1955b1b7f96cc5d01","7e55f885dd6a85625a1ef48d3896fa56c8fef8a4f453ce011ad0ecf0e1fe3f68","996f859b202fa5665dbfd83ca8c4e459d2896874bf1d899e4dc4f963ff20e862","a9079bf699bc71b31c3cca83ee1ebf261819d31ee0b340a1d18de7640a119ac0","1fd886067a3b8950528f1a9ff4587464df7834217605413021526c5fbe210f8b","c9529055fe5b6b0f37b66764f65f279ec072fa3a305dfea6da010f70d30ab502","438fc2375d6ac60843ffaeba15cd4e6719ab0c0a256a5e1e4fb5964975c2e131","b2e795b1a28ca13f7663ed8f62127f0cc32efbf6296671f3d7800b760642c1e7","7c65cdc9460755a327943aea2ce97e2f5c6080d778d9434fe2dafbfbc1e3b04c","5fa09e3847513934bffaf71960ac2a100e20422698698ab1e19a4fe8ac133514"]
Anchored
2026-10-09
Public log entry
search.sigstore.dev, log index 3163352270 · entry 108e9186e8c5677ad020…
Expected log hash
a3ae0badac804d14d314abd0e71726d06a96c43a3840dc1d63acded9268c461e 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":"v1791543790412","kind":"published-quote","locale":"en","page":"brand:xodo","quote":"best for reading as offer reading/flow mode","rating":5,"review_date":"2026-03-07","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 (784ff8fc3c42…), 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.