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.

“I contacted Xero almost immediately, explained that I had only just subscribed”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
94d21011e0cda40c2cabfc75487b00ed567dd5762b103230a32e1e5f78588af2
Signature (Ed25519, base64)
9SxV4kcUlQSXFnypEIEgwEknForbuqf7O1uANGghbiUp85r+mE/6GzyPCN9hzN+L7cRY2LV/t6hLHqyi/g90BQ==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["94ce1a380e3a11c07891d7d32c80df6700a689e25d8dfedcbfe95cd508535df9","03bf3e6c1a10e59bcff10ca19386489bff045a379a0fec9b6dc700966ec67453","3184b964fedf3afe3a3ddc08331683fdf5de43fbfdc51c7b836bcba8ba6cafec","8d958c98cf68da585c2d0b0d92724031857be2dd17358fda27b1a77321c42b11","c1655f50d6dd043fe0b1c95a99320a4669e910776f9ac18590d8f96b96b8de57","f4bad50a3843c0293584b6eb3d547c4149a0ced1e1984bdfc668d54707305fad","ba5f45daccdab34c6485fea1cc5eb32299688a715c7d75d0e90c78b1a1073ab5","b5e1deae4a320182131b85aacfea996d7aafa39c154846c469e582a3b10c786f","a2595eeeeee27270209971e7b2b1c5dc25089f902e84d591352cb12d114dbc22","b9bd72e0b07764a446b09bc0f7c7ae658a7517144bc27d39a88cae70fc5dee2b","400abd053c2aaf50c3e9947fd0ffb052641babc26e674c2fb04a1eafa76dd64b","0bbaca186fa570cfa914cb3e4cb0d5d663a77ff60ade12385fa90fdfef78367f","6772a6b2cfb742f4baa103e424787f6ab6a8cbdfc294db886f1451f7c9752077","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/service/en","quote":"I contacted Xero almost immediately, explained that I had only just subscribed","rating":1,"review_date":"2026-09-07","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a9e83534942377bdd1d3060","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.