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 with our team”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0ffbddd9ce2bd74eb75e573cab9ba15d2e05a1420084137578ecb57ddf1dc511
Signature (Ed25519, base64)
MXU2nwpF+llGWbuXxh9uS6lIbGL56vo803FKTomxk4hAii+f0i89uRQ1x5qdcD3qQOJ/GaigSx1nl5OoTjTODQ==
Merkle root
e299bf38720a5a91bdf63bbc0205245bccdf3432ab1652c69342549658b7a9ef
Merkle path
["0fff38113f398ad24328be00bd05ca8eacb2e610703d5b7a008330eb98bcdac9","cf930c1e6641a941dbe364badfd52d564e649f26239eb2d0cd05952f460dbd81","737394cad9c5f0874cd14c86e624fecf814bedcd0cf9983fcd19d5e6efde1470","d87b8a07cd7590e301853eaff5af2972b2a02a4718a13a20324688dcac2b5311","3ef89c95ec8433305b71ee9c0d83afc0983395090ac8e2a555509b8812304554","99e5af0b34b9a13be2003d98ac9dcecc37d30907e8fb864febd9900a22b3172c","928f8fa73b6bd72d2beb9ed4252a2ea5c90ebba810ede0ac13ea833adb0c338c","a185063894749bbcfab1f4ea02190912df6dc0e4fc50063333ff6cdc5206ee31","fadc8ecbcca9d265d29893de96e4f9ef132a143eacc434d654993e913e028f2b","970a8d109d15b737e86057b25e203eff253a7ba6d5e531df405fff371670fd43","58142bf66ba65e446a4eb77354326cf1af877c55e20f1aedfbaccb1c4e417735","3dd98b4827466239194cf13892ce77064445b91bf8511f1229b78137ba6f3ee2","e3c57a8cebd6c96ff44fe2cffa20a59e203e20975780cfe446c93ca7bbe448ac","2e838893ef313b8ef0f87568e1e691fc197dfcee84413640a12968493decac73","bce5d442c07de6307e5ea8947098e74ce88c2246eda5e5fc1015a6d7519228a8"]
Anchored
2026-09-21
Public log entry
search.sigstore.dev, log index 2904877428 · entry 108e9186e8c5677ab408…
Expected log hash
d020708737f55ccdf49203f373fcbcefe8158cc388605556fbfda3c365de7360 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":"v1789881486272","kind":"published-quote","locale":"en","page":"theme:canva/fit/en","quote":"Easy to use with our team","rating":5,"review_date":"2026-08-09","source":"Apple App Store","source_url":"https://apps.apple.com/us/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 (e299bf38720a…), 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.