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.

“Renewing process is convoluted and designed for you to auto-renew at full price.”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
1dabd28745ead5bbc94f4bc7aa9ff201626549646385cd9539d5063fa053b015
Signature (Ed25519, base64)
h8XwZ92CThtTszajoxLC2ZybtHNfwYr5yoL6SXzUy15jUfQhWrknu1xrfL9y2xRwjM49bq5+1NemxU8LnPDfBA==
Merkle root
825dbc6ca55f00c6c81d8de0f7a080bad31b79dfa0e721dee7ded0e9c294ebb9
Merkle path
["1dabc9f0723132a7b1cbb4ae82a8088735cf67db7c43d93a4c462c9d8e855d77","61c779c470a5d7fbee212dc0b8bb71842d834204cf8ae53386c2575c4fd7ce09","2870873be3d58e94a36546be5c78761e3181673add4e76b744d4664f16395758","659244288796ee04f36e151120af17e554c2c13c5bfba9da984ada9319672a1f","f7f36940bd8702e3cd3a4ec61b5e382f168a4a7f2445c49918e2bb46cf749ee3","10e41156e403dc322b866097557f3c2c0ad01259959b7e1f19104735876cf4ef","00f78155b4770126e59a41ddb4986c0bdb0e50244131377688f2fefda289ceb1","3412ffe6e2b65b726c82ae177ef693752496a6b6a811ee43e2ae19fff46bb345","25f3b41ab0ab34313a95339570e3f19484eb553fbced7c390878f7f6a785ece1","a57443d871f46e626754946f83f3945dc441e8fbd6fe7835cf79d24455c7c9a9","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":"Renewing process is convoluted and designed for you to auto-renew at full price.","rating":3,"review_date":"2026-09-03","source":"Google Play","source_url":"https://play.google.com/store/apps/details?id=com.surfshark.vpnclient.android","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.