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)
ad15860f3bba5f0ac297bafaaf9ad96114d59226f23902e3d9b86243257d991c
Signature (Ed25519, base64)
gjt+X1Max4rmVLcB37oYQgLWqeZV1jOnnQqc0eAKQAZQ/xBGoEWYhgOQzxYepvNdD2IakMZ6ZdBSuP6beu22AA==
Merkle root
0d7fec37eb7aa7ca022c461398d36283692153bdca7d5292b2302abb6878e5f6
Merkle path
["ad19d93ad92eeebda0bf629ac5074c46a70cdd1a5280a8d8ec94e2b2110fe510","cd1e24739ba50f51c59c08128826e70f701623da56a4ed032ddcabcf2cbdadcc","72f96fc43cdbb237c961ab4e6846f8ca01f4577fb5cb12777b7e2ea4e560b201","b1f4d262c814331abc8f4838892abeaa41f58545835dafad5a5556d0fd422e2a","78b5a5be0cc4e17352bcb031bff2b54a7aca880ea36945152938973fd0be7e52","a381cea8ed26d919bc4ccbd0d1ae5d7cc210a2cda9ba3b3cda5d54a1408b77dc","c47beeadf9c45bd52c0f8248710f55da7e8c9600addd68cad675a6f68b4b516f","3c361be90f444fa8b79f7f3ef225f686c9b64f93fa3c39e444c761692b1beea9","c16367a4d78d1c431a1d8da2c4eb3997131a6b20d8a5d80a53d4f865a483269b","08205e88b11ccbf438b3a5a5b5b3f5b42d4dfab879c1c81159b0f814ce57d38a","9be20dfed118b7180b9822866de4ef17b82d7fdaa3e9f992e92123cb7fa06280","bf39fb757ac8694cba9dc17c7c6f275a66be1413c489fe2b09a1d845d2c7826c","bdcf570fa2da5e994ffb4f34cf05db9f32b033b05ffdf1ce5c8460f03ab0a63e","78493a36337086a989f7fe7acb90e0c5d108a90e56256076af924a0d68310165","8c6d73d3d8b42a55077d4061fe37663a0906972431ecb9eb374f1f8461206839"]
Anchored
2026-10-07
Public log entry
search.sigstore.dev, log index 3126883925 · entry 108e9186e8c5677a6678…
Expected log hash
7790667e260445bf729ea3061132c2116b163a0e0b944eca343c9e8408350ef6 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":"v1791359818972","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 (0d7fec37eb7a…), 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.