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 and adjust”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
52653f456248399cc7a649a69a0bf030283e628b009b026cff7ee32e92526dfb
Signature (Ed25519, base64)
/oKYrCR7XYrBfUCgQSc384JqUdFUl6J1YSVql5jhqce2fLDlMXhGYs1t+8IPbUrje2/p3hjDYJt37MyrxzpTAg==
Merkle root
a4d47c2a34f6eeba31e2744fb1551fe9a0e34820dfc152f1ad93a68b24759c3a
Merkle path
["52629bd2d23adfcc32f195e8b1ee60f1422c741519e49ef7dce1de6057c52906","6ae26dacbe0291d3560762b05ff13cdc857d78bf68b2461f0bf72c4da1728168","a9936a94666debd78b2710420b93a488fbb7c95c7a8a306d5b538183f0cbb014","a723e499ab9c29254a6158c9df2994292ba93c198e4f7995f123c520970c19a5","b54effc9d606b712fc5c11901c9258da8661f16cdf9100e3995bac86ce65f573","e10506d0d8661055b139d6b1a3183b088a8e8a7646878f589638be7ec9ae0ffb","67d9e009a6abfbb4dbc74238dfc58f9fc2c3c23cdb0dae6bb37736f28ea49fb0","1663af6508db9a3809b381914366dbe60978067428b09472919eea579dec20d7","b3c4560c18a0db7ca97c33ecc071473954cdb6dfc9620969f3021da6608b077b","0d448c92f9269d5b4149bb5c6d2229d1e2d427cdb1ae21af75d5388cbec1ff4f","fa5c6a8395cae267a2682d4e80befb78abfc6830a64c0e388d9d487ecedcb652","349e15569e0a1f4fe3a9d16d01f014e54bef7124bbf1f14bdc15063bbedc0e8a","0d7c4faad4992f205f2c1ebb2b0e4b1b7e9d070f1f77d3f8d64b80626c324f46","35108299fffbb5c1a0d86f074b5805457d73da5ec7c848a19bc9a928f6a42a99"]
Anchored
2026-10-16
Public log entry
search.sigstore.dev, log index 3272274666 · entry 108e9186e8c5677a2724…
Expected log hash
d56e71820b4c8c62b755e9f6e3d2b624566d12db6dd1606e99ef55749400c387 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":"v1792036997995","kind":"published-quote","locale":"en","page":"brand:xero","quote":"Easy to use and adjust","rating":5,"review_date":"2025-02-16","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.xero.payday","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 (a4d47c2a34f6…), 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.