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.

“works the way I want it to”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
072a21c3b8e26e8e4e4dc9a23a2c06f47117cc749702112648fd54ee5d5065bc
Signature (Ed25519, base64)
LEd2571yesDFZS8pRFgIoR9RGEJ7eyLw1d2P/KvLg43U8h9az+xSbIrRF3/mWhpWCaBDJKzGSVTEfL49Er3MAw==
Merkle root
78886eed79c5c55077432ce3df8d075efabb6513370ceff84d7b706b9eae04c7
Merkle path
["072d3ccc382a628518336fbef8a0c42bfcb4234c662d634acee294a10b84958b","8a9171cfc85b2618ba674d832c86f7646dfaa699666590b1671ee47966dcaac6","96951bee4171aa4da40809f8d2d78c768edebf94e02f92264a4bafad11a7d589","fae6429bd6d2ba48640d969b5e724f06d82c1e4e4ca250e32c57bc72404485f4","92e71fbc200a85cc7bb9cf33207da5377f9469b67de3ee14344919d088211fbd","002b13def7668f60297eec19ec474b001e6b26bdb0137446a9b0f92fafa971fc","66aa77e45da6a2d173b13988beddcc848d605b52107a5c5f006a519734078083","73d63e8bdd10f4d3f079ea89c665ae3bf5133c281398e6b2618c83df2f798d7b","8bc486337625e69743a9cb572578a51252b15b1efac27df02293cf7cc7442231","934bcba283c962f75e1c521fe9660843340cb8dd9ee7c1018850e33262e09a2d","f2316a6854ff9fb83b1085d3455d89106cefb01f2684c4489025e5d0a411d032","d91421428fedd26e7cecce1d5e33ad568bf29352e514102640bc5ad56ca56783","9fe048f55ef1db993b15a6e86f672087aa43b92600c87c54204aa5032ace339e","dca3255210bd4138ad43ee9195c33d4e1bfb62117fe1834a1314b7522fa9bfae","4799bf594f7e0d9e563de0da432e35b6bec9a5a67d166463ed76ae787b7b69f7"]
Anchored
2026-08-27
Public log entry
search.sigstore.dev, log index 2611910343 · entry 108e9186e8c5677aed98…
Expected log hash
357f342aabcc9f7336397f12ae873d9647084d84f84802d1a7af0f5727328ea8 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":"v1787796746663","kind":"published-quote","locale":"en","page":"theme:proton/quality/en","quote":"works the way I want it to","rating":5,"review_date":"2026-08-13","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.protonvpn.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 (78886eed79c5…), 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.