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.

“Deserves 8 stars.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
12ae70b3b5c785db2ceadf43537f99bcc3d6999b55a0bd5ad7247d32a1f436e6
Signature (Ed25519, base64)
7/kWAD2bzgxZhgOKBNMlnwhHPtZjFMU183Oe/3Jzb3PP9i5F1XCBkCK+G/sLhjxTRWT21NI6CADXCuETiKCAAw==
Merkle root
f0c601bc37f52c70ded17f76faab5612e674bc087c8faf99b4d2f53e921c2b03
Merkle path
["12b59ccb4699a19ada43854f1d00b569d23cc5cfd44bf7cf7eabb80e852dd086","adb8296ddebd2931dd8f25a0ce6815ecbf89ecfb962473920702facc2659e098","ede1233d30738b9bd44a07ea5a6a7701e482fb983b365c86cbeb5a83f23b8391","705f7d63d1f6fc9449c44510813b326cbccee4810acb0fdeabb30e9ad27f9fd1","fb72d33b3790049bd2ddeaab17b323ab46b72e3bb244179d064c937c4ea1115a","0a0dad57d43a11e8226984fe19a71b4fbb6ebd3784fad2518f87772206a0be8a","fda03fb265959d4f105e02ba804da189516d02894476bc4f7c5b49eb162d732e","fe41ec2fc3ef604d5a6533aa4c74a69346c05a318631578ec31c64e0ea55bcd4","88f3250f300ee700099a3156b15498fbced7501ed28f7e3c35a403f4a01033d7","6744524fa30b0f4936df169174645263a9649189f2de06eeb64ac46da519b44f","61424821648a6153e742735c0dbd9a8d857c25e35d234cbd97d1e39744389f4c","30261dab0822e00dfa6c3c3a33b3d063e3d38a7599dc6296431bd59470ad3368","63626d343fc27f295a2ff318756408f19fcf6ed8639844617fa9d1e202804a12","ec79f032c08fea2de521a7794f897a556ed84b17f8ece659b547d74d3137bc36","d5f5465b6d70ec9eb5fa4b73b511305c1b686def0c98a0246e8a4e9838a04a81"]
Anchored
2026-09-01
Public log entry
search.sigstore.dev, log index 2671768867 · entry 108e9186e8c5677ac984…
Expected log hash
bb91227cb78cb3334e4fa0a34a7640fc05bd48061b2bb5126f5713e7d64ceade 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":"v1788238642169","kind":"published-quote","locale":"en","page":"product:proton/proton-mail/en","quote":"Deserves 8 stars.","rating":5,"review_date":"2026-08-13","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonmail.android","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 (f0c601bc37f5…), 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.