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.

“This app feels like an extension of the web app rather than a proper app.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
e132543c1246a8a2f143d75d35e5d0d2b68315d950dacdf2f271e5ba06619bd1
Signature (Ed25519, base64)
sptnmS3jf/QYwgLxtns/tKu3/IDA66v2MewbkWDetDYstwfOvXi1oy3KZEFrGLb1XM55ZrrdjHUOhPyz3KQQCA==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["e133636df827148c3a2795f17ef4701f800bd1a18fce730e5d7c509473720725","ed9439c333584af4ffa9bae95729f507fd2e0df9cbed12441858065ba0c36fd0","5ee81fed138e077d24290387a366f583969b4d132ecbb381ffcecf0ee30ba7fa","616171b702a3231f0ded4368a1e634efd72104c516e9b7330ee87b9e758d62ec","57b9a66ea1744e3b3ae808e64dbe82d7e9aa587072d0aaa9bdceafc6b8b557ee","a14f219ddd42ac3920a42a6568a644c551dc4173ab3899811de2d4edc296abd8","844914805a0556096809cb61ef131ca36fa1cbee9a3baabb0ad44029b81aed4f","0386c784d27eb64670caacf67ab545db0827586056d2fb1ae54b65546aa79b80","22be2c59bbd754196d4cff08257e7513fd5733b6b798022e77518888e919f8e7","ef3d70e19a5a760a9a27fd4277f06978b98b2223ca253ca3f0c913120aa85d80","0cbe202f255ec171f6f7c7833b05d0f4d445e79c3eaa47634917993604ef9f2e","c0cc50f924fcd6f909769461f841119392c2e50ee0690447644c3ed97414e04f","6a087565eaa0768d4c576fd78f88585a902d61259a245be7f47bc24b1ead4c18","fb01c9b29e184d558c43a512ba05af475ec20eceeace4dde365559da92299892","46bcfbc656e0e2a380a8a94cdc0be3d8b4c668e5f9e54a10ba396a45b371339b"]
Anchored
2026-09-11
Public log entry
search.sigstore.dev, log index 2789279696 · entry 108e9186e8c5677a3885…
Expected log hash
05c7009ecf7ce5cf315c252c2a1dd135e64989a02cacdaaa3c5a87412a2e921c 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":"v1789017464005","kind":"published-quote","locale":"en","page":"theme:fastmail/ordering/en","quote":"This app feels like an extension of the web app rather than a proper app.","rating":3,"review_date":"2026-07-27","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.fastmail.app","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 (97eb1062a862…), 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.