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.

“John patiently explained the initial steps in effectively using the software”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
56227d4f5a58e5c792a4f527aba11425dee2d43665c7a0d18ec230362a00404f
Signature (Ed25519, base64)
UGG3ARQuQ3w6grc7SMCGoWGL8ijGDJlWv4jBFsNFUI29WytUMOCiz79G6DBDSmnOuV/Gk36765cnjfVkT+yxAw==
Merkle root
97eb1062a862b99998bef0a84476eb3c3812bb77c2cb927f4fd2933b59da9e3d
Merkle path
["561dccb91039254f33c54dda32f173dbb6b334aabcf54dcd8bd06ed93c47b211","d8ae89f81fa109f1eaf3dcb38006648812adfd3eefed9fb265609282e896de7d","92f32a8eb1798efecb273f340715b4a7db41f6494feb9758d703449089d5535d","df46fd6f80eed65af704836098974b786299ab32cc0e02cd875dcb3594c27891","26162d2a7f8558972e1b4d47c2d7895aca22d18a22b6bde6fd3a33e217fd7809","52b035372e03690067a9d1bb53c31d19ed4dfb32b96627fc0d28af9443d65567","530345ee31e46646c4f40dd3ba3bd26bbba34fe285abc445b9e0d06bf6a2ccfb","9b8c1a6b756c275a4d3823337d22296b4ace59ad3a924803a0678d5eefc452fd","a06a0b8c0ff5f44ed2c50b4c33592e9d350bdfe45a6cf2fd3c77c9f57edda034","fb5734327cdc512f6f76994928170066509612e80e473473d7f6dc718c93d4cf","cfd5277386e631c114cbc654fd0b93b8cc704b4a485df6a59db98989a72263c7","36283db7bcf119c11be277705ea4507f983056a8ea68a309c763a3cc8b414991","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/service/en","quote":"John patiently explained the initial steps in effectively using the software","rating":5,"review_date":"2026-09-08","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a9f673d7b8c40259d762227","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.