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.

“Constantly pops up asking to pay”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
2c6b9bbd5a8abd8d4b97e02108b6c20604af9f73e28730259b2952846f64fc47
Signature (Ed25519, base64)
kUCcc+1BdedsglDft+LDaL/EAxKy/J0YNVCdviQW+eYr8jrLKS5f0tPrvykK72GRlg43bqzY+gsQIFWFphwTCg==
Merkle root
cb5472fa7b7f10b7453a4f782a38c5dbb3d782ac291369ed3830c2ab783a230e
Merkle path
["2c711f67e8a8ed82982f2eec33183ac87a199026406d2df5e672752890f8ca75","7fb7ee6a13986e7531f167441276807013af84e2c462dca797d46f670c14c5cb","6ac987d0b01a456270e5223e3b10767176dded60f1c31159c03651b593789c7a","a3ecce49066ea5aab469643a6bef75010a551780f5c98ddff5a8b94097e42b8d","af61904fb510919ce3b72b0906c0c465d29031a2c7161a8e435ee7e5cc860a3b","4ec2b0a255e330ec9f269947b4c814565d0eff46fc1559e23a76fcd125dcb339","e2d41a1b377af4a455f6b2570aaefcf02991305f31466c9ac3271861678f33c6","61219cd66a22b241e06b52d0b39506d0b1fd471452f0286c463a136b1b03a772","bb2451fc061d31560945b4f2a3d48b6633ee0dd65b45c85e029fb44a43418b74","d0219174f7180847899a15beb2517c8695703f6d335fa31cf24ac6a2400d73e3","32605f99e97a9c27d880ee9461d5ecb5547e8e9e8b680833e4a8020a3d62fc6b","6b52b30eaf5b97885456e54aaa839ef0900f8bfbb260e6f22cb33aec9a4c66c6","67ef19118472e8cea8d8f9c7960df416625b46d91fef63f2cb0306cda5833746","6ab0f07aea38f551fb6ed4456f21bf7c468ab54859dff87b6772a51601755f64"]
Anchored
2026-10-11
Public log entry
search.sigstore.dev, log index 3199295725 · entry 108e9186e8c5677a3fc5…
Expected log hash
59b8cd8284c909c35d85f443b6a086d482f8b667c56ec942d663937a75e25638 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":"v1791689736846","kind":"published-quote","locale":"en","page":"brand:surfshark","quote":"Constantly pops up asking to pay","rating":1,"review_date":"2026-08-31","source":"Apple App Store","source_url":"https://apps.apple.com/ca/app/id1391782046?see-all=reviews","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 (cb5472fa7b7f…), 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.