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.

“It costs everyone time and annoyance”

Checks (re-run on this request)

Proof data

Record hash (SHA-256)
326e8d5140857da209a5fc91bb7f86264f0e23d7f07905dbfed1d4ff90df3ec7
Signature (Ed25519, base64)
EdoiBdNsR8kDxzFcvB4qjRI0aEeifpMsJdkbGQBVWeBl4M70q2K0BI1Sk/LFoc4zyrriHA/O64w3QQ0plv9eDg==
Merkle root
cb5472fa7b7f10b7453a4f782a38c5dbb3d782ac291369ed3830c2ab783a230e
Merkle path
["326f5e64a495631acf8948321622331dba18d91ce8d0106b1f83ed60dd76bcbf","4d49fbd3c7471c32921f2d82b830206f4f910b1665ef97c73c2125ae590fb584","01ec656e33c44b95e3c09ae88310a280bb2a7a98fa04f8530c004c9c5845bfd6","6ed75cf81f0b61e4c00569cc45a329d0fd07c22fda500c97fb261e281fe47603","a53f3bc96f856f5328b8747e1d18c1ca9f5b59d81b511341278ab8d8d761bfb7","41dc89b61ae662b3d4dc0c48a902c8050bab86e4694f19e2ed3e47c3e2511844","f379d1b7d6c5cd7ec62705e72fbe213b120509540118f8e135b141dbae0e4cfc","cb3064533b119f3a855dfc0bd6a17cd60575f2557d07f9a655ca485631d6d023","1d81e2bdd096bc8aa426ac219e49be4ba154ae1f4431d48cdc9400858e578ebd","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":"It costs everyone time and annoyance","rating":3,"review_date":"2026-09-05","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 (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.