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)
227479ce962292bc976a79cf56c8374b8adbb8ae303de6fa14eb9bd497386277
Signature (Ed25519, base64)
OQFrmoQTmMLnUMg8dP1XMsB4oioagoOs9ACR7HQ9LBFeU6c2MPWMO0uC0JL2/BJroKkbbU85P7X56R1gO/W9AA==
Merkle root
825dbc6ca55f00c6c81d8de0f7a080bad31b79dfa0e721dee7ded0e9c294ebb9
Merkle path
["2269d62790a1f17ff9f56f1573d73390cc4d27fc564cb89ca1d5038e025d6888","38e5073e84982ce1eea94232157a0b2b3cc62a5534ca8feed2a75ee7658bbc8b","bbc32fbee1fe71b8f1592afffa6b06254166664f80a98e7459078b50360875bd","d2bb7fc661efe7625c4b01369484d12376b2423f457e7707e2f04372fbe7d98c","0fd25759a522be7caf34d9949c30a094de309904345808122c7b18db220dcedd","374e5db766e968a5e85d662ca59f842f745a35865c0c982b57bca6fd5d9f25e4","079fd4db087bb982670d825b2897bdd474da554f215fbb57fea2f9c3bf498e48","149336b5eeabb1bd3ce1732bc21b2a7452fac743e70d9ea9bd2ad22642fb0e43","34b4dbe32c705909c92a5e36a3a11f914659f3be4b83b07632de848dafd580bb","9ae7d33c943f48f1799b8c2766e8dd193262242623ffe72423c5b34c5468837f","660d6a765109c39ed132fb0afa3dd507047c73076af21c08ed678d2a0c4157b3","9c0c076fec2f0fa7c1094b4111d2e5cedc7ac35232c509cd9a25439361474b1c","1e2e9420d8c4747dca96dc342727525f4c47cf2390ef42ad69829fe37156235c","04c4bd8a9ef95bf5648c9d023612bd1f2446e83a6dcf83e612d031a5ea30e90c"]
Anchored
2026-10-13
Public log entry
search.sigstore.dev, log index 3240422411 · entry 108e9186e8c5677a0ea4…
Expected log hash
8667b0db28913263098c19cb6387cf64b6d68b1b8f2c4242d3139d96cef5da0d 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":"v1791861703078","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 (825dbc6ca55f…), 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.