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.

“when we did finally give up and decide to cancel, it billed us for an extra month just because they could”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2b468a08a2614b6d57411f6aad9a711da9f22b53b7d0220fca31425aef588883
Signature (Ed25519, base64)
7jbFWSGJUjnn3pqK+eNEgRE8SbuXZzhZTaf4shDjHXEJd6DcD6qpQor/f6OfbmrTACvYgiSCbONRuyAxgUYRBA==
Merkle root
c0f36ee0335bf71d5c03ca59b0f191f950cfafcbca9602c3bac8b2183aa81d49
Merkle path
["2b3d4b4b246b0e00855c16e8c2bf27f491c93802a4babae8ea395bca39b0a579","843706a3d1b5bddfcee79739354c48310d1a7c1cc709c9384e8e21b0ae3bd0da","e604fa4c21185362049e09c7789e1c1db69663215ee965de62568910747db0bb","1241eff823eef54d2b8c70bb2e1c678033f7b9736d880fe2c8472bec125add08","22e55f5d1844ba367da30f06280510cb0c2684c2dec6487d7b504c9b3fe8ebff","6aaa44b4bb084a28f10a68704f0b6708ea3ef1d5cf5490dcfe33d69c488ad245","9600b6a88061ab65832a8e1ffd2cc1ec4ebc78e964bf68c4eb2336932fe88c86","0f04fb042172c5b8de49122bfcba86d17c247562328e9adeae51fa4e42f43de7","edfa6309a79c7a6fa7612b46a81ad498d93235a0033a4b233a223aac9e80d71b","95b0fa2bed8cfc8cf7f1ccd65336010a9c04e3e3797556d14a79fbb7c95f096a","08a4fe29ff9a66acf227f10369aa32c8822afe6525127ae2f7d55c5e4b5d5746","927de500e960266e9b12c9524aa43fa0bea81f1fe70a1fb15680bad0fd81e947","b51875ca42ff32753b93a043ad0f198e3e1ef2fe1aedf16283da4cd1b4b1d542"]
Anchored
2026-11-03
Public log entry
search.sigstore.dev, log index 3666413656 · entry 108e9186e8c5677a8e86…
Expected log hash
0d2952e2a04951edee30f820ff095b505511cde698e520c69b8bd5fc03c1eb96 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":"v1793701189085","kind":"published-quote","locale":"en","page":"brand:xero","quote":"when we did finally give up and decide to cancel, it billed us for an extra month just because they could","rating":2,"review_date":"2026-09-06","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a9dac15ca1ebef79876fe8e","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 (c0f36ee0335b…), 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.