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.

“very easy to understand and do...”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
61d3240fa53605f0d1475277306580f704a3d719f0280b9706238c5ac081a694
Signature (Ed25519, base64)
ieUSYjInQEWi/FoGeFRrdY3bCVlMIjv7u5fNhiK7sbGDjAbIyEIRnHdB0ZZkMtfqiBWIBQkQ+vxTtJ8PKBknAA==
Merkle root
72711ef72b8a7ab084630b9628ceb2defcf0aae546304d44ed173db57929457f
Merkle path
["61d0f33b57ad4cb268f81ba29ee7e24832e00ec6271fc2a68f287620808dbf11","8a8f537185a0b468100b6840517f87e22bcfdd005e27745ef97dcf05d6ff8135","f6366ed82a4784ac22b922cf97d0fafc499d6492be1c6d51cfc2fa685931adf8","35a7869b190c64b4a681c02ce6f571062067bae2e2b27d7dded9dcd496885e82","05743cebfa8ad8fd8188230d9ecb1d64faead34578374ef4de47440dbc5520bd","8c2a465e160bea52bc7857f45e565043f21d955b028507d9adc5e7c33220be5d","1c6ca32aa7e590ae03bf050238bef30d23c3080fe01b931cae7e2a0160639b38","dd83b510f3caeca2bd122f6dddc1cd93e784253a636edb58a0ce60a01e73cf14","34b78c105d0fa427abd52d2e9c632203611740fb24a266c8c0b6ccf7865ff41b","21d0c1edb3495b9c851ce8c17316390b4a9206e2929d1e21655241eb09e89fe6","7fcf4e3d069efe3de1c33bf972f46858509f6cbdcd7bd2d2ad9906f6ec5b3fe4","6e631fb50206c82aff86c6bc351b06878fddb3186a7413dc6b340b72c8f2138a","00d96e4f5844025cf94031a68b6b1f85feeb1eba15fdbc00f57e844b9bbd7752","bd788a9b6485b033101398a3aa9df1787f225fcc2ec7903fcb31ee65f6cac6af","6eb04938b6a483bb163369a1d918b32576dde0943755b89bf4c6d18743828ba3"]
Anchored
2026-08-19
Public log entry
search.sigstore.dev, log index 2514130917 · entry 108e9186e8c5677a3273…
Expected log hash
65ba51eff926c65ed0ce093a942d84c628d811a59302f32867c6589627e47792 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":"v1787124488047","kind":"published-quote","locale":"en","page":"theme:canva/communication/en","quote":"very easy to understand and do...","rating":5,"review_date":"2026-08-12","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 (72711ef72b8a…), 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.