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.

“Clear and easy to use.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
07c5a70d66a5fa9adfd30d44f36117d21b7851e3a4c1f1ceec2f3aa1d31a35ec
Signature (Ed25519, base64)
s0aCbTgcjRTBtArAsxH3QJv9nfNEZfxUHjkL96HlY1BA2+D0SG2leehzJhlTjjxo4O8pEFwOp3yAOl5gncD+DA==
Merkle root
dd0580a8af2e7ca4475f07b02d0aa8ee9c22663c5492014f0cc859abdcf6de59
Merkle path
["07c03bc68b2677045912c9bd90b4b2050b58241c47e136629a73449a95cf0905","3b417ee337ce638a48c7d14a091eca288b25c1f0a7217102b1a41c2a841e4cee","0732d9979263e72de8ffd5cd91dd84179be40c8d93ae0cf668a71be5dbad1c8b","8591be4e35a5156303fc49a44153abd604593a807fc58cfefeb0375433c6ad0b","c53fe11f9e28f3280aad774753eba8475bdd3fe05be424dc97e15df7f4c900e7","fe83bf561f8cbb6bbf25368b8dab4c2d703384263431a293b1a1d5c30334f62d","5ebd94e75ae1fc9860d179398ea1673eb1911db99ab452dc2400161b023743c4","12f90ad8ec4207c759ca4b5c7feada8002b7e422faf0e83b99110f64d9c2d149","518c684a042a83ab130b11857383c1f7b31745f5f3b0f0b9bfd4f553e0682df6","3f05e65c9fec57cde769638aa2bfdc83888afe027f7282e081ecd8dfc7969874","ca34b8e0ad0fc31e974cce846c51cdfbbbf9da1935b0619a36ec5d29a18ecaae","2dd407f62e1f63dcc6c01e9f283feec957ab97fa41679650d67f2b0e7457931f","df80a168d2586a4c29b051d0c15aaee1be02a01d453999bb8ff7a49c5acfa9fc","d4f6b604034af6f00706eeb6518cce3b975aecb4321346297d85ef3b674b9c73","70c90f1928666dbcd54b9b799948efdf13c245bd348521afe243e345aabe9257"]
Anchored
2026-09-02
Public log entry
search.sigstore.dev, log index 2681825259 · entry 108e9186e8c5677a0428…
Expected log hash
752a5ca1b3a34e1550b95dfc32e3ad1179be4701807e5cf6cd525d9b7432b3f5 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":"v1788307680420","kind":"published-quote","locale":"en","page":"theme:proton/ordering/en","quote":"Clear and easy to use.","rating":5,"review_date":"2026-08-12","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 (dd0580a8af2e…), 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.