Ověřování signatářů: ochrana proti botům a duplicitám

Proč je ověřování signatářů klíčové pro charitativní a petiční platformy

Hodnota petic a lead-gen formulářů stojí na důvěře, že podpisy a kontakty reprezentují skutečné osoby, které porozuměly výzvě a souhlasí s komunikací. Bez spolehlivého ověřování signatářů hrozí nadhodnocení počtů, ohrožení reputace, plýtvání rozpočtem (remarketing, e-maily) a právní rizika. Cílem je nalézt rovnováhu mezi frikcí a integritou – zachovat konverzi, ale minimalizovat přítomnost botů, duplicitu a zneužití.

Model hrozeb: co přesně chceme zabránit

  • Automatizované boty: skripty vyplňující formuláře s náhodnými e-maily či telefony.
  • Organizované falešné kampaně: koordinované skupiny používající jednorázové e-maily a VPN.
  • Duplicity a „ballot stuffing“: stejná osoba podepisuje opakovaně (úmyslně nebo omylem).
  • Falešné identity: vymyšlená jména, kradené kontakty, dočasná čísla.
  • Zneužití při importech: hromadné CSV importy bez ověření a auditní stopy.

Principy designu verifikačního systému

  • Progresivní verifikace: jednoduchá základní kontrola pro všechny; přísnější kroky spouštějte pouze při riziku.
  • Minimální frikce: nezatěžujte všechny uživatele SMS kódy; zvýšení ověření u signálů podezření.
  • Transparentnost a soukromí: vysvětlete, proč ověřujete a jaká data zpracováváte.
  • Auditovatelnost: uchovávejte důkazy o ověření (hashované, pseudonymizované), ne surové identifikátory.
  • Přístupnost: verifikace musí fungovat bez bariér pro osoby se znevýhodněním a na pomalejších zařízeních.

Vrstvy ochrany proti botům (obrana do hloubky)

  • Honeypot pole: skrytá pole, která lidé nevyplní, ale boti ano. Nízká frikce, efektivní první filtr.
  • Behaviorální signály: rychlost psaní, myš/scroll vzory, intervaly mezi poli. Používejte jako indikační signál, ne jako automatické zablokování.
  • JavaScript/výzvy: proof-of-work nebo „lehké“ CAPTCHA po rizikovém skóre; vyhýbejte se složitým obrazovým testům.
  • Omezení rychlosti a reputace IP: limity na IP/subnet/ASN, detekce datových center, tvorba allowlistů pro legitimní zdroje.
  • Device fingerprinting (privacy-by-design): šetrné otisky (např. kombinace verze prohlížeče a velikosti okna) s krátkou retencí a bez invazivních identifikátorů.

Ověření identity a kontaktu: metody a jejich kompromisy

Metoda Výhody Rizika/Frikce Doporučené použití
Double opt-in e-mail Nízké náklady, účinné proti botům Zpožděné potvrzení podpisu Standardní pro všechny petice
SMS kód (OTP) Silná unikátnost osoby Náklady na SMS, přístupnost, burner čísla Pouze při riziku nebo pro klíčové akce
BankID/eID (kde dostupné) Nejsilnější ověření Nejvyšší frikce, právní nároky Oficiální podání, nízký objem, vysoká hodnota
Social login (Přihlášení přes…) Rychlost, méně botů Není důkaz identity, závislost na platformě Doplněk, ne povinné
CAPTCHA (modernější) Filtrace skriptů UX zátěž, přístupnost Pouze adaptivně po riziku

Deduplikační engine: jak rozpoznat stejný podpis

  • Primární klíče: e-mail (normalizovaný), telefon (formát E.164), volitelně hashovaný identifikátor zařízení.
  • Fuzzy matching jmen: Levenshtein/Damerau-Levenshtein na křestní jméno/příjmení s diakritikou; transliterace (Š→S, Ľ→L).
  • Pravidla kolizí: stejný e-mail → aktualizovat čas a zdroj, nevytvářet nový záznam.
  • Kontrolované aliasy: plus-aliasy v e-mailu (jméno+newsletter@) normalizujte; naopak catch-all domény skórujte rizikově.
  • Bloom filtr pro rychlé testy duplicity: šetří dotazy do databáze u velkých kampaní.

Skórování rizika a adaptivní kroky

Ke každému podpisu přiřaďte rizikové skóre (0–100) z různých signálů. Po překročení prahů spouštějte dodatečné ověření.

  • Signály: nová/doménová reputace e-mailu, IP z datového centra, krátký čas vyplnění, nestandardní user-agent, opakované pokusy, vysoká podobnost jména v krátkém čase.
  • Akce podle prahu: 0–30: pouze double opt-in; 31–70: CAPTCHA nebo SMS; 71+: manuální revize nebo odložené publikování podpisu.

GDPR a právo: jak chránit data i legitimitu

  • Právní základ: podpis petice a zasílání newsletterů jsou různé účely; pro newslettery použijte souhlas (double opt-in), pro validaci podpisu oprávněný zájem (prevence podvodu) s testem proporcionality.
  • Minimalizace: neuchovávejte rodná čísla nebo adresy, pokud to není zákonný nebo účelový požadavek.
  • Pseudonymizace: ukládejte hash telefonů/e-mailů (se solí) pro deduplikaci; surové hodnoty ponechte jen do potvrzení.
  • Retence: nastavte lhůty (např. nepotvrzené záznamy smažte po 14 dnech), logy rizikového skóre agregujte po 90 dnech.
  • Transparentnost: vysvětlete v zásadách, že používáte automatizované rozhodování k prevenci zneužití a nabídněte kontaktní místo pro námitky.

Architektura: referenční proces podpisu

  1. Odeslání formuláře: proběhne honeypot, základní normalizace (očištění, diakritika, formát telefonu), kontrola rychlosti a IP.
  2. Skórování: vypočítejte skóre; nízké → uložte do stavu pending, odešlete ověřovací e-mail (link platný 30–60 min).
  3. Ověření: kliknutím na link → přechod do stavu confirmed; pokud je skóre střední, zobrazte lehkou výzvu (např. krátký textový challenge).
  4. Publikování: podpis se započítává až po potvrzení; duplicitní záznamy se sloučí do existujícího profilu (audit log).
  5. Monitoring: dashboard anomálií (nárůst z jednoho ASN, spike nepodporovaných prohlížečů, neadekvátní konverze v nočních hodinách).

Praktiky snižující duplicitu bez ztráty konverze

  • Inline validace: okamžité upozornění „Tento e-mail již podepsal, chcete aktualizovat svůj podpis?“
  • „Magic link“ návrat: při opakovaném pokusu pošlete rychlý link k přihlášení/úpravě podpisu místo blokace.
  • Mírné frikční prvky při riziku: krátká otázka k obsahu petice, kterou boti obtížně překonají (kontrola lidského záměru).
  • Jednoúčelové URL: podpisový link vázaný na konkrétní kampaň a e-mail snižuje přenositelnosť.

Metodika měření: přesnost, false positives, dopad na LTV

  • Přesnost detekce botů: validujte na vzorku manuálně označených případů.
  • Chybovost na přístupnosti: měřte, kolik uživatelů se čtečkami obrazovky selže na CAPTCHA; pokud je to více než 1–2 %, upravte strategii.
  • Dopad na fundraising: sledujte post-verify darovost, open rate a churn – cílem je vyšší kvalita při minimální ztrátě objemu.

Operativa: procesy, logy a incidenty

  • Audit logy: kdy, kdo a jak potvrdil, změnil nebo sloučil podpis; záznam důvodu blokace.
  • Incident response: pokud spike botů projde filtrem, dočasně zpřísněte práh, znovu přepočítejte posledních N podpisů a kontaktujte ovlivněné osoby (transparentní komunikace).
  • Importy: vyžadujte deklaraci zdroje, použitého právního základu a medián konverze; importy musejí projít stejnými validacemi jako online podpisy.

UX doporučení: zachovat jednoduchost, vysvětlit důvod

  • Stručné formuláře: jméno + e-mail + volitelně PSČ; další pole zobrazujte kontextově.
  • Jasná komunikace: „Ověřujeme podpisy, aby byla vaše výzva chráněna před boty. Potrvá to pár sekund.“
  • Náhradní cesty: pokud selže ověření e-mailem, nabídněte alternativu (jiný kanál, chat podpora).
  • Přístupnost: textové alternativy CAPTCHA, podpora bez JavaScriptu (alespoň e-mailové potvrzení).

Technické detaily: normalizace a hashování

  • Normalizace e-mailu: převod na malá písmena, odstranění teček pro Gmail, odstranění +aliasů (nastavitelně), IDN na ASCII (punycode).
  • Telefon: převedení do formátu E.164, odstranění mezer, určení země podle lokalizačního kontextu.
  • Hashování pro deduplikaci: HMAC-SHA256 se solí pro e-mail/telefon; rotace soli, uložení v KMS.
  • Expirace tokenů: ověřovací odkazy s krátkou životností (30–60 minut), jednorázové, vázané na kampaň a IP přibližného regionu.

Antifraud heuristiky, které fungují

  • Okno rychlých pokusů: více než X pokusů z téže IP/ASN během 5 minut → „soft wall“ (dočasné zpřísnění ověřování).
  • Doménové vzorce: vysoký podíl freemail aliasů s neobvyklým vzorem → zvýšení prahu.
  • Časové anomálie: nepřiměřeně mnoho podpisů v 03:00 z jednoho regionu → manuální audit.
  • Textové nesrovnalosti: stejná jedinečná formulace v poznámce k podpisu napříč mnoha záznamy.

Bezpečnost integrace: WAF, tajemství, zásady nasazení

  • WAF a správa botů: nasadit před aplikační server; pravidla pro známé automatizační knihovny.
  • Správa tajemství: API klíče pro SMS/e-mail v trezoru (KMS/Secrets Manager); rotace klíčů.
  • „Least privilege“ přístupy: oddělené role pro zapisování podpisů, čtení agregátů a exporty.
  • Canary release: postupné zapínání nových filtrů s měřením dopadů na konverzi.

Standardní operační postup (SOP) pro manuální ověření

  1. Vzorkování 1–5 % nových podpisů s vysokým rizikem.
  2. Kontrola vzoru: formát e-mailu, doména, geolokační rozptyl, časová okna.
  3. Kontakt s vysvětlením (pokud je kontakt legitimní): krátký ověřovací dotaz s možností odhlášení.
  4. Označení a trénink modelu: výsledky manuálního auditu použijte jako tréninková data.

Dashboard a KPI ověřování

  • Verified rate: podíl potvrzených podpisů do 24 hodin.
  • Block rate: podíl zamítnutých botů vůči legitimním zachycením (false positive).
  • Duplicitní míra: počet sloučených záznamů na 1 000 podpisů.
  • Time-to-verify: medián času od odeslání po potvrzení.
  • Dopad na fundraising: konverze na dar v 7/30 dnech z verified vs. neverified kohort.

Implementační plán na 30 dní

  1. Dny 1–7: honeypot, normalizace, double opt-in, základní limity na IP/ASN, dashboard.
  2. Dny 8–14: rizikové skóre, adaptivní CAPTCHA, sluč