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.

“Easy to use.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
8f28dd2820ea50098de575f39f9ceb4995cb7bda3e9d507845914273bf0c50ab
Signature (Ed25519, base64)
wsfMN/QjwNOt5b+1sdyXWo47E5QRA/ySErxYhQ+ph+wSGK1j2YUEeAHvkNtHajvEJbBR8U4BhDimzZYCO6fWDA==
Merkle root
1b26d1b85473caad1868633ec4c931eb970e81199eea87926818f3f1753af37b
Merkle path
["8f25d999e8e3071a28a4938a433b916af2d3f8dea4b98561e5acbff6dcb516d2","18925367a0155232b07d669f7dd628ca64e85fe87daa0a3bd3a59d96195c2f15","ff95bfde025930a117e31e5debfe413bdfab7c45429634eccc238850ea17e262","11786eef36891fd33a0328caa3a13bc67dd5bb72e16a4c06683eabf87e1870e1","b68a2c7464f93d6ed28007019d415290eb67c5d1a67643931f89e93b6e6cb578","eb07b6d5c59ee09b44f806da0d68e8d2555f7af5676f6dc99f352e7e26c47a80","b12735e7a0564633edb135aa25d0652c020676d99634667aee70db52509cde7e","f505e9f0f7808e5e74572285cbc129b7c59908f91e6eec180ec872679229022b","9c181c2003ca426340c0666ea6d4aa135ad89cd0f9a72efb958ca47b43b177c3","c4f000ca137afeab1768b48269eabaf83bb1688760858ea5f9592401059e526a","76c173d097874f6b678951ef6482b5032b9cff521f2daebd9e777bb9b6f60883","6a635b5279e7ee7c4b7348d9de3e899fca471840bb2c128809d67e2a56ede2d1","2a1f47a5499ab778f7772c41d9e8e25b916cc036b47ad4135ba8370c445d7501","f13bd3931ffab245c82268d5388ec4e7a23a41a86394a369b97f89216cceb3ad","06054c91b82ccf7b99bb6b4fcb7c60afa97f93295e6829b75e5bf1efe9493e63"]
Anchored
2026-10-08
Public log entry
search.sigstore.dev, log index 3138947147 · entry 108e9186e8c5677a2712…
Expected log hash
8f66b765b7efcb11dcdcf57b81c46ed3317a5895f5b870638e23b76f1efbb2d5 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":"v1791425549743","kind":"published-quote","locale":"en","page":"brand:schulthess","quote":"Easy to use.","rating":4,"review_date":"2025-11-12","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=ch.schulthess.mobile.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 (1b26d1b85473…), 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.