Proč je ověřování signatářů klíčové pro charitu a petiční platformy
Hodnota petic a lead-gen formulářů spočívá v důvěře, že podpisy a kontakty představují skutečné osoby, které pochopily výzvu a souhlasí s komunikací. Bez spolehlivého ověřování signatářů hrozí nafukování počtů, poškození reputace, plýtvání rozpočtem (remarketing, e-maily) a právní rizika. Cílem je najít rovnováhu mezi frikcí a integritou — zachovat konverzi, ale minimalizovat boty, duplicity 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é fake-signing kampaně: koordinované skupiny s jednorázovými e-maily a VPN.
- Duplicity a „ballot stuffing“: tentýž člověk se podepíše opakovaně (vědomě nebo omylem).
- Falešné identity: vymyšlená jména, ukradené kontakty, dočasná čísla.
- Zneužití při importech: hromadné CSV importy bez ověření a auditní stopy.
Principy návrhu verifikačního systému
- Progresivní verifikace: lehká vstupní kontrola pro všechny; přísnější kroky spouštějte pouze při riziku.
- Minimální frikce: nezatěžujte všechny SMS kódy; zvyšte ověření při podezřelých signálech.
- 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.
- Akceschopnost: verifikace musí fungovat bez bariér pro osoby se znevýhodněním a na pomalých mobilní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í, mouse/scroll vzory, intervaly mezi poli. Používejte jako indikátor, ne jako blokaci pro všechny.
- JavaScript/Challenge: proof-of-work nebo „lehká“ CAPTCHA po dosažení rizikového skóre; vyhýbejte se těžkopádným obrazovým testům.
- Omezení frekvence a reputace IP: limity na IP/subnet/ASN, detekce datových center, vytváření allowlistu pro legitimní zdroje.
- Fingerprinting zařízení (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 | Síla | Rizika/Frikce | Doporučené použití |
|---|---|---|---|
| Double opt-in e-mail | Nízké náklady, účinné proti botům | Potvrzený podpis s prodlevou | Standard pro všechny petice |
| SMS kód (OTP) | Silná unikátnost osoby | Náklady na SMS, dostupnost, 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ě | Doplňkové, ne povinné |
| CAPTCHA (modernější) | Filtrace skriptů | UX zátěž, přístupnost | Pouze adaptivně při riziku |
Deduplikační engine: jak poznat stejný podpis
- Primární klíče: e-mail (normalizovaný), telefon (E.164), volitelně hashovaný identifikátor zařízení.
- Fuzzy matching jmen: Levenshtein/Damerau-Levenshtein na 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+news@) normalizujte; naopak catch-all domény vyhodnocujte jako rizikové.
- Bloom filtr pro rychlé testy duplicity: snižuje dotazy do DB u velkých kampaní.
Scoring rizika a adaptivní kroky
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í, neobvyklý user-agent, opakované pokusy, vysoká podobnost jmen v krátkém čase.
- Akce podle prahu: 0–30: jen 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í novinek 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: nesbírejte rodná čísla či adresy, pokud to zákon nebo účel nevyžaduje.
- Pseudonymizace: ukládejte hash telefonů/e-mailů (se solí) pro deduplikaci; surová data uchovejte jen do potvrzení.
- Retence: nastavte lhůty (např. nepotvrzené záznamy smažte po 14 dnech), logy rizikových 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í kanál pro námitky.
Architektura: referenční proces podpisu
- Odeslání formuláře: proběhne honeypot, základní normalizace (trim, diakritika, formát telefonu), kontrola rychlosti a IP.
- Scoring: vypočítejte skóre; nízké → uložte ve stavu pending, odešlete ověřovací e-mail (link platný 30–60 min).
- 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).
- Publikování: podpis se započítává až po potvrzení; duplicitní záznamy se sloučí do existujícího profilu (audit log).
- Monitoring: dashboard anomálií (nárůst z jednoho ASN, spike nepodporovaných prohlížečů, neadekvátní konverze v noci).
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 na přihlášení/úpravu podpisu místo zablokování.
- Mírné třecí prvky při riziku: krátká otázka k obsahu petice, kterou boti těžko zvládnou (kontrola lidského úmyslu).
- Jednoúčelové URL: podpisový link vázaný na kampaň a e-mail snižuje přenositelnost.
Metodika měření: přesnost, false positives, dopad na LTV
- Přesnost detekce botů: validujte vůči vzorku ručně označených případů.
- Chyby na přístupnosti: měřte, kolik uživatelů s čtečkami obrazovky neprojde CAPTCHA; pokud přesahuje 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 prahy, přepočítejte posledních N podpisů a kontaktujte dotčené (transparentní komunikace).
- Importy: vyžadujte deklaraci zdroje, použitého právního základu a mediánovou konverzi; importy podléhají stejným validacím jako online podpisy.
UX doporučení: zachovat jednoduchost, vysvětlit důvod
- Krátké formuláře: jméno + e-mail + volitelně PSČ; další pole zobrazujte kontextově.
- Jasná komunikace: „Ověřujeme podpisy, abychom chránili vaši výzvu před boty. Zabere to pár sekund.“
- Fallback možnosti: pokud ověření e-mailem selže, nabídněte alternativu (jiný kanál, chat podpora).
- Akceschopnost: textové alternativy CAPTCHA, podpora bez JavaScriptu (alespoň e-mailové potvrzení).
Technické detaily: normalizace a hashování
- Normalizace e-mailu: malá písmena, odstranění teček pro Gmail, odstranění +aliasu (konfigurovatelné), IDN na ASCII (punycode).
- Telefon: konverze do E.164, odstranění mezer, určení země podle lokalizačního kontextu.
- Hashování pro deduplikaci: HMAC-SHA256 se solí na e-mail/telefon; rotace soli, uchování v KMS.
- Expirace tokenů: ověřovací linky krátkodobé (30–60 min), jednorázové, vázané na kampaň a přibližnou IP regionu.
Antifraud heuristiky, které fungují
- Okno rychlých pokusů: více než X pokusů z téže IP/ASN za 5 minut → „soft wall“ (dočasné zpřísnění verifikace).
- Vzor domén: vysoký podíl freemail aliasů s neobvyklým vzorem → zvyšte práh.
- Časové anomálie: nepřiměřeně mnoho podpisů v 03:00 z jednoho regionu → manuální audit.
- Textové nesrovnalosti: stejná unikátní formulace v poznámkách podpisů v mnoha záznamech.
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); pravidelná rotace klíčů.
- „Least privilege“ přístupy: oddělené role pro zápis 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í
- Vzorkování 1–5 % nových podpisů s vysokým rizikem.
- Kontrola vzoru: formát e-mailu, doména, geolokační rozptyl, časová okna.
- Kontakt s vysvětlením (pokud je kontakt legální): krátký ověřovací dotaz s možností odhlášení.
- 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ů oproti legálním chybným záchytům (false positive).
- Duplicitní míra: počet sloučených záznamů na 1 000 podpisů.
- Time-to-verify: medián času od submit po potvrzení.
- Dopad na fundraising: konverze na dar za 7/30 dnů u verified vs. neverified kohorty.
Implementační plán na 30 dní
- Dny 1–7: honeypot, normalizace, double opt-in, základní limity na IP/ASN, dashboard.
- Dny 8–14: rizikové skóre, adaptivní CAPTCHA, slučování duplicit, audit logy.
- Dny 15–21: SMS OTP pro rizik



























