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 app is easy to use”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
71a80b47829cd4859f6991cc0983db2428985496b729b76347d2c26ae719b217
Signature (Ed25519, base64)
jGSvO6Gzux+589JDupQZSBtVuZou+rNnZLnV+yVi0Dlx6dspZoEv0RVDVmzvaYKg/v/Wp0ujGZMa6L1R4aO1CQ==
Merkle root
e61c2598d4d03770603e24740bcc427581e87bcbeea2e56dc34fd81a9f496465
Merkle path
["71a5831354be9a9043a60a7cc5f409a231414284ff27a582e6cd8d4a8536b38f","902504c796a3fd20e5979d8e4a79e32d60cd7fdc1df7ead2ced76fb9750e6adb","8090a7b6fc3717f52f54f93c04156ce6f532172cc6c9e968bb764560f530fde9","1b087e268229c5c2429e208862773f9ad39312851cd1edbe46f1e08950b271af","45d6dd9e9d8600010c9734089f84d91283a49cf79463407a43f7b3ac3a282600","f7d5870432853ecf9c14abef0bcea42798567322ab57dfdee5535733e7138a9a","3512aa7dfd676e83bd3bd4b54c7e2da3cb8fb16528be74c9865dea3ede97900f","8565fe071d477fa2e0a01ce0f8a3979a1c20f00fd84af54983cf2e8a5c111832","bc33a6600104b20b775870338a541ae268ef0d737516d68b22fa288406189037","8e94fdeceb8c75cd37246cc1bfcc34a45ef9512bba422294b31b9d8e6c8a209d","acd5cafac690445723b3e3644ce2775e8255f307b002db7e098bcabaf68386fc","d6a60e2106352e5dc4a29403d9d5c2ba3b108dc5f0ffc3f9ff74c9776290fc3e","7f1d0c445bb13ae8c90e977abd9f4b017f1736dd8a0b6837e8297de8e292d186","f1950e4af29dd22cc94bc58ead6e376c41b02edc9ab0ebaff7fa6fa0f9bd3732","11a62e67a9d98d919358ca5b8855f911ccdc865f14b203213de31adc67657443"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2515345787 · entry 108e9186e8c5677a749c…
Expected log hash
d9a90b5e7311041bf4315991ca7f2fbceee461daa2ae70a8b8b95323461a31cd 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":"v1787140356347","kind":"published-quote","locale":"en","page":"theme:canva/delivery/en","quote":"The app is easy to use","rating":5,"review_date":"2026-08-04","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.canva.editor","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 (e61c2598d4d0…), 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.