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)
23edeb2c46b69c3da5ee544efec8ec269495a37ffec9899e23beea815ea6313c
Signature (Ed25519, base64)
yYPx+COLoH3fw8u/BkhCwcvzpytnIBODDdC7w6ze6Gdt/Sgg4u+RjruZNEs717M+2lnFt7Uhpqjrr1y6btXqCA==
Merkle root
49133e6803d24035baa1544a5c730db93dbaf832df48f680ca855944337404a2
Merkle path
["23e970d8acfff802eff17786faeca22d4d111bb9fb0c6c47dbfdf94fa7ca0b9f","f71417fa4a1832745af3cc56fb2af81abac202b0c03509373dffd300e2b2746b","8ca3d2526cbfb74502ddb058fcfbefd1efb3e183dbcd6200683610d5523e90af","068ba84f6ee8c31f55b725ec635517f4601a8ddb8ca231548716ab0cb36cb061","42023eae22b7549c27e5b1d7d0a8f200d75d434082c02f8aa23bcfee925bb952","b0d27805769306c6ae4412ab280f8427f6b1b1af28d58f0b3e1a50a9eca8e8cc","dce3e40350ddab2c8db8674678e7ac9b8b8b15a9a89e269c91d546b145c767bd","172ec993b30ea50212e5af67d6c57a89fa68cfe477efe9e63edb50c238c5083d","765909b21c31c948fcf3355cf9750dc071732061b820a3f022cebe002061a515","17059b18d3f8b49c0218f750bcbba5bb6cf8895ad2755ce40adc6d4b59ca7c47","fe72bb866656df1aabb3b81157f17bb6bd20146ca0ae20d49ff58fa9fb051500","3fab624705af963c8b90d8ecca330b0aee40203a806033b0565c84e0ab95e53e","da05ecf7377d5697c026f830a74de1a09359f7b60612fb722c789caa15cbbf29","90889d6ebe241f2d2f9092870d002ba795f7d27137f7582a09b4369ab1517327","d81f506ca96dea712a8b56759200b270fc625cf496d323ded3475eaafeb2d916"]
Anchored
2026-10-08
Public log entry
search.sigstore.dev, log index 3139760477 · entry 108e9186e8c5677ac88a…
Expected log hash
d54b6e5e20903e9be29e6a5973227ee9b3dbe61bdc0fa6481a5788472cd5976c 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":"v1791428432986","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 (49133e6803d2…), 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.