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.

“can't even cancel my subscription”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
6e7be65a33c087977e18b9b128fefcd1f6f646a327de5c8fbc1d91b9102ed9eb
Signature (Ed25519, base64)
YsqxFx/J1JygVYhv8i5Lzp5p9hrLWx59EYTALBC7REMGIVxBL7qntuf64QXLroZugrpZv0+2EgnwslOhvTzMCA==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["6e7b8ec606adb270707fd80c05c1d2e375fcbb1a2a7fd156ab694390eb57391a","758716d36e4d983d3e3ff28f4fde05d2c4fa5c2dbb483fcf9cdae751bd3f648e","817a80f67e58fab5270040c688bbafcbb5e605a4c52f89e47575b5df490fcada","f60575e19da269c2fb22636bea0d7b759ab7de2b992bafa4b5ab929e3173898d","a848348a00eb18d36764a85b78005c656975c9266228219c399de2d7fdb287da","4b429f4ff27c53686db61598802a119f191096cfa1ca97f4046f99d0968fd9ac","bcd8dcc7548f95e1affe8f6b4675f192f4a12154a2127f4cd4e5e21949102be3","36e587b46e689d592669649c52a3240102871cbcf3b0025eaa879638e7b96d40","11493506c81e89c9145f95cc3d5a5663f327503d1401b28f95af941476422e85","6025bb34265d6164508e73f9e4fbe5fde5e838d5d0fe5ff539c4e424d3d616fb","a6ba2320bebdb525294e32051203a108db199dafa5e32fdd427ef9ada1bf92a4","cc930d9a14ea152753caf04b31f0e79f0b00ba63dec8c58c38ded3f85cfd7dad","66d13e8b5300f6cf7ae49f9f9692863758845bb98773f7a2bbb28032eed5ad1c","90e3c3ed08ff9f4dee6683cf95bfff311f4715cac07e97ca75ea5b9bcf13efe4","01242865574478f13dcf9d888236d7a907264abdb87f360db7db06de0945075a"]
Anchored
2026-09-11
Public log entry
search.sigstore.dev, log index 2789279696 · entry 108e9186e8c5677a3885…
Expected log hash
05c7009ecf7ce5cf315c252c2a1dd135e64989a02cacdaaa3c5a87412a2e921c 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":"v1789017464005","kind":"published-quote","locale":"en","page":"theme:xero/returns/en","quote":"can't even cancel my subscription","rating":1,"review_date":"2025-09-04","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.xero.touch","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 (97eb1062a862…), 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.