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.

“It has all my needs”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
15b5ff5e52d70f9a312c7b9edc79fb73dc9837d6e8ecb04363e1065456ff1a5f
Signature (Ed25519, base64)
t5Nh+nH2KrwRzbvzfMksoImcVKlsmQaLilK/cNu9lj/eO78fVfr1XKHZJVdCHe/Ko0skYjWvlSpx5zyNo8HlCw==
Merkle root
f8b4f722de05d6805a889681c3818dbde0f5141f0c8463f2762c4a9a02d66a2e
Merkle path
["15b4580612b4595de38ff28381bcef7b310bc4dc4f59f668d9aad9ded9c13db9","335a7c65affcab8d5d927a8abaaa95b8d56c4a314308b83c62e6e33a7056a9b9","3118ed37627dbc196fb4ed2a5c2cd4083ac651db7b058ca7dfc283d3a86b27be","3f06e3ef5a7a7b237de563b384cf7b2bf2e04e460efc56e1f53002019f0ca201","cde2885a8acbd02e0e68ce8dc140edef89cc0276bdd884855190f848d03d6bcc","38af842ff35edca5ea362ece35809b1b31926fdbd9926092b7e992689e847c4e","6f8de9107640864f5c2af9587c0d06e748b62788d4af622748ac42bcd2d491e2","f3ce2412c036193f2f4b565a7efe01a571638e426ebf42323b190d1fbfc8528f","cc5ab2d70ef6685cfd6ab38e832b543c36965b113aafec951a25a10c8c9f104f","399bcf109df2bb48c23d79f45c343678a293d227d3f94608d32bec1420d2de9c","3dffb0a8bb43e166c64a4f745c26c18a17d586f53f4c413550a696f95c303d88","f01f1a88016d2021c5a10200fdb43dc229a8703904477e2e0791d78a57d84700","826328db0053b998cfac0c22cd6c575c128ecfa4f75e9fd73febd75c9f8ee792","fd074f6b5b50b116ac3330a06f290a8ebec7ed1849b30507ad6694033af6e1ff","1d6688e1c2658422e04ab99dfb5c8345ecb419dd1f8c6994b4040572f5b4ee4d"]
Anchored
2026-08-20
Public log entry
search.sigstore.dev, log index 2524422814 · entry 108e9186e8c5677a9741…
Expected log hash
e042bf60ab37eb8951abb7a408cc8c7483ec875b9606253deec7a67967130ae2 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":"v1787192294432","kind":"published-quote","locale":"en","page":"theme:canva/price/en","quote":"It has all my needs","rating":5,"review_date":"2026-08-11","source":"Apple App Store","source_url":"https://apps.apple.com/ca/app/id897446215?see-all=reviews","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 (f8b4f722de05…), 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.