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 have only had one billing issue. But this was my fault”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
18ebf5eee8fe8b03f66c2f40beb82fdddf5124cceb520eb75daa6db4c8e7e722
Signature (Ed25519, base64)
rVgMZ7MvbEvOLZsB9LP+GqnYn/+BLztbf28bH3BQ9YOuCuaONlE3mv6ZHTuFiRop2xEWdGXTpfIYzRUjiYGfBw==
Merkle root
07e2d0de1409df9008c16531abbe2f8515ebe8e55b87a042e18a21958771618d
Merkle path
["18f0176a18c4791c979ac29a1a87317f4e959c5c4916cb4c5d4ef4e7c0eba900","20a26a8798fe5017bfccb9ef8e7bf1f40b36cad9627812de0eae95e98bbce1d0","2329f57c3cd24e56e222b8e2ad240d8df8ff2f08331cc987259fc71e88697053","3bf854a6bfd96a19142370d3c77d995dff9c42f0af0be367312773a8c6aa5994","b9512bbb2d621f828c334d2cae8159593da4b1f92d498220f2dc970936e40205","73e65e080fb70b4eae4a5103d43e71b265a902c42a4fa6c88c0f190f5795de48","663c9e4669782f28abe860605abc942e53a3f2c8df4ed6a7f35bd5914481753d","2148d09bc93f223049140f4302336befba28eb52e57ad72a775e2dd3e06adc3c","deda7fba97f678e065a46807b6d5063a46a25b9b396e93ccfbc906eb36956a39","3e3d31a8fbc70b3e5308f161ca99d72114efba855a339fc817fd91b8d85dda5c","46f7d1965c89f3f4b2a7c7988db8c93c0be2fb6e6b7dcaed9bed486cdf5cf862","9a75e3f6936d56126d6fdf7afc9a8945cddff81ecabadfb2fe720f30ae044194","48799695a25196e19e6c0bfac80015199da758df0acb5108e4c517a5d6bc016d","fd7778befb9f979134b4d8a1dfa78827e64c761abd83cab9d5ecd5bc01d8ea14"]
Anchored
2026-10-15
Public log entry
search.sigstore.dev, log index 3258201873 · entry 108e9186e8c5677ab04f…
Expected log hash
205b794967d70c4ec2534ff3766e47506acf44c7c68740049459394876120dfa 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":"v1792030899870","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"I have only had one billing issue. But this was my fault","rating":5,"review_date":"2026-08-25","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a8d93a5270bb2ed639964bd","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 (07e2d0de1409…), 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.