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.

“Being charged despite cancelling”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
44d67c100b92efcedbf12d94c965362d731d22cc84c4aa019cded7010005b645
Signature (Ed25519, base64)
JP0RL2znNO2qQxz1smNmfJ4yrcV2YZRc2NXpKgxNz+uGCoJFrWk5sb4rppRc88VWTWFBvzr4RsQG8B7mBb3BDw==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["44d91a1e604f10540c50ec1f8278b296ea08c251fe7479d05bcf0dc2ac6f48b2","3b1a3522bc3577d28c15263e32da8c25daa5908e481919c9509f9bc2365fd822","24459372f31ab298675490e468b20a41097350632b92c80452ebceaa3f3c3d96","60af300cd8c637b3f748550e6083761bc56b6513e59fe73f990272db91c0330f","e0fadf6708a5c0a561dd7fd2578b9472d18aac87dae2354ef533f5f2ecd31fb7","099deac9bb5b7930e2628e41edfafa47bb2b0f17945e2b4d29ae7e9c22df794a","0149029d39f5185ce78076fdf1d113eca7baa418d5503abf46620797d7eebc97","9356d362031db53392568e0ff754b5837808a05e8450796d062113f6843bd4ba","c4146f1d206b1d72c721b9fe2d5ff95f5458194a6236633020f237aa7c416f4d","6449754c291daef3c8450e5e815fc507e421e240c9ed6a98d427e6038baa5928","4751a18a0ef2d274921212069f9f2b5290e43a95a5cae6a6ab4386457522e968","aa7c727744c972cb66fba1d64eea69090f0779e70821de9cee298fb3fcfb9463","b2cde2091952330dc6d7773f9467df58d2e8463851174cad44d4f743c8f8617f","a9559f2ca8536f2c18bf059f3f0099d62235a93ac35dc17b09967d392b72be7f","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/billing/en","quote":"Being charged despite cancelling","rating":1,"review_date":"2026-09-02","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a97fdaac0153b9edb30f2e6","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.