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.

“The constant upgrade ads are annoying.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
12abed8f1f1eb93e0fd7eabb0adf589fe797c8e39f17ad5a64dd34b4083ffcb1
Signature (Ed25519, base64)
OCgsn52h/M937lJNEgkSaoUUqp3Gq2lMVI0AKmAF0rfu3M6K8L6+y5JIWqJ03+iHtbO/UJMygsEjwTKCdTLNDQ==
Merkle root
511533b88e968df898cbb789f1e0a7c74bd54beddb5e64db44e84cd969b57342
Merkle path
["12b29ecaa6ab8c9e95863a03b588f56a4bb616b8c8835284d4c69998563663ae","130af51ac4740e17986d8f8a55214b4c1dc0cf4e96cca82e13ee0de1ff0886a9","fe3456379e9bdc2ca9e4464045f99dc1675cc7b82963a8ac7947e7b62e857979","fea13c5ee1c9dcf32286cb255c5e016140acb1b112a498596ceb02d7e1ae4ebb","8e58c7d74cc4b9e78cf08791bb7a12e2c544319ee137df1d17a4b0310cd480c6","2109b8073d510af5aed61cf624da7a998feee31f78b380630618744065579720","ca4e9f9e24b96974a2b43038c195c10c35664a4eeaeb885f2aa9e3e5963121b8","4025caf95194710399f3003e39f8e6bf9049958df48d21932c73e19f4712f4d0","144cf6e9308f007268b99e81691c89d7bf23b18257ab9f3c79814234e0432c04","c15abeb706f9c6e663a8e3f2bf9e5bd7a2863b835fe69d670b34c555ae524a8c","1c7f87e47ccc7d6beb75a40de1b388e7040b28f0d9439e4e8c1fafa763e28c46","78779b3236de97984c8bd07f10f4750be9da398b53dd41aeee449e79b2ae40db","1e5dcb0709f70986432d360592716ba93b21eb4ca9e1f148a30f505e8a8a0d15","a205b2c153763f2bb6a8d3814ed268bb4fe37a9e31e0b18e4c8c003a83af65ac","9181d925bad333f1cb26db81f39fb8cb2d737aac4f33738bf53faf3c4b7b34be"]
Anchored
2026-08-26
Public log entry
search.sigstore.dev, log index 2594624327 · entry 108e9186e8c5677ad654…
Expected log hash
069a3b83d828e54a700a05a96ab2352f1735c3acc608ddd8b87ba8e04e295f47 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":"v1787714775346","kind":"published-quote","locale":"en","page":"product:proton/proton-mail/en","quote":"The constant upgrade ads are annoying.","rating":4,"review_date":"2026-08-10","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 (511533b88e96…), 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.