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.

“cancelling a subscription can be a pain in the ass with this shady platform”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
0fb3fae0e09d8e41ebcfe9a8b17e8a45c8634efb44a4e5142fec212f1ac88b34
Signature (Ed25519, base64)
o647FBvRB/4DvJJGxycCbFtSVxVhXPJ6GWkMh9wUifgGFbkcMnOGWMm7NjYBdniGwmAFzMsF+NIr2zcUPDT0DQ==
Merkle root
c921242d78a65e026e3281000ec5ef04ef930758058c4fed3f79f3b5ef992cde
Merkle path
["0fb5a3c47f1ea9e57c4008471f83577b92830462a68695caa6ded86060d53798","fd46fe3654a4377550a8c49cef09f033923877d10777e0872e7237d704ec306a","0bf73883f359d48d490772e05f1646cc697c265b9d8002effc522b9f21445e77","80a1e503ef5d9b335fb2b1217f9e0aff7b1665ec66e8eed25a45d79621a51860","dc700e8cd3e6f36381a3d2100dc5b2162c98c3a22d8167df9058f2b914fc02c7","ff555ae54b89ef60e7363e05b6a531cec2bf1e780fc7915a272493ab6678f62b","5f7b5025beabce648db3c4e3b86d127f9fe129652c8ee11bd9987cdeebb157cd","dd346c356e9db516d3c0b5f8ae50e3599e37d521520e326e05bc0c93d62d2052","8ec89e934375af0ec5b0eb70225fcf1d5b0ad409b054691be9634f8ec4ea2c81","9b27e5592f9ccfa7385e45546979377095f526b2eeab2ea9aa7e189d24ed900b","fb6d247b2059278f8574ef5f6e0ba5e3718cf1c06fee30aa05513565d6bd132c","a96676375db3724e1e627228b6d8bd9eedca089634a5496d61b7f5a04aa3f0ba","892281d0b1786415cbbab69d4ec27a4aa9ed68b52615fedb06b3a777f62ec60d","a3747175efd8cc3d769be29f15252da2dfd09eccbeeae76e08b0112f75ae1173","522d5a6bf348351e5632579ca190fcb390464957ba4b4698b399695ee13b67d6"]
Anchored
2026-08-21
Public log entry
search.sigstore.dev, log index 2543700701 · entry 108e9186e8c5677ac7e1…
Expected log hash
c1abaf0323b08bce2cedebaf1993162920ee741ace8973292e7ffdd13aca356b 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":"v1787287374804","kind":"published-quote","locale":"en","page":"theme:proton/billing/en","quote":"cancelling a subscription can be a pain in the ass with this shady platform","rating":1,"review_date":"2026-08-10","source":"Trustpilot","source_url":"https://www.trustpilot.com/reviews/6a79fdb35d21d3393f683027","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 (c921242d78a6…), 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.