Proč je ověřování signatářů klíčové pro charitativní a petiční platformy
Hodnota petic a lead-gen formulářů spočívá v 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í nafukování počtů, poškození pověsti, 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 boty, duplicity a zneužití.
Model hrozeb: čeho přesně chceme zabránit
- Automatizovaní boti: skripty vyplňující formuláře s náhodnými e-maily nebo telefony.
- Organizované kampaně falešných podpisů: koordinované skupiny s jednorázovými e-maily a VPN.
- Duplicity a „ballot stuffing“: jedna a tatáž osoba 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é importy CSV bez ověření a auditní stopy.
Zásady návrhu verifikačního systému
- Progresivní verifikace: snadná vstupní kontrola pro každého; přísnější kroky spouštějte pouze při identifikovaném riziku.
- Minimální frikce: nezahlcujte všechny SMS kódy; zvyšte ověření při podezření.
- Transparentnost a soukromí: vysvětlete, proč ověřujete a jaké údaje zpracováváte.
- Auditovatelnost: uchovávejte důkazy o ověření (hashované, pseudonymizované), nikoli surové identifikátory.
- Dostupnost: 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á uživatelé nevyplní, ale boti ano. Nízká frikce, dobrý první filtr.
- Behaviorální signály: rychlost psaní, myš/scroll vzory, intervaly mezi poli. Používejte jako indikátor, ne jako úplný blok pro všechny.
- JavaScript/ výzvy: proof-of-work nebo „lehká“ CAPTCHA po rizikovém skóre; vyhýbejte se obtěžujícím obrazkovým testům.
- Omezení rychlosti a reputace IP: limity na IP/subnet/ASN, detekce datových center, tvorba whitelistu pro legitimní zdroje.
- Fingerprinting zařízení (privacy-by-design): šetrné otisky (např. kombinace verze prohlížeče a okna) s krátkou dobou uchování bez invazivních identifikátorů.
Ověření identity a kontaktu: metody a jejich kompromisy
| Metoda | Silné stránky | Rizika/Frikce | Doporučené použití |
|---|---|---|---|
| Dvojí potvrzení e-mailem (double opt-in) | Nízké náklady, účinné proti botům | Zpožděné potvrzení podpisu | Výchozí metoda pro všechny petice |
| SMS kód (OTP) | Silná jedinečnost osoby | Náklady na SMS, dostupnost, dočasná čísla (burner) | Pouze při riziku nebo pro klíčové akce |
| BankID/eID (kde dostupné) | Nejsilnější ověření | Nejnižší míra použitelnosti, právní nároky | Oficiální podání, nízký objem, vysoká hodnota |
| Sociální přihlášení (Sign in with…) | Rychlost, méně botů | Není důkaz identity, závislost na platformě | Doplňkové, ne povinné |
| CAPTCHA (moderní) | Filtrování skriptů | Zátěž pro UX, 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 jméno/příjmení s diakritikou; transliterace (Š→S, Ľ→L).
- Pravidla kolizí: stejný e-mail → aktualizujte čas a zdroj, nevytvářejte nový záznam.
- Řízené aliasy: plus-aliasy v e-mailu (např. jmeno+news@) normalizujte; naopak catch-all domény scoreujte jako rizikové.
- Bloom filter pro rychlé testy duplicity: šetří dotazy do DB u velkých kampaní.
Skórování 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ů aktivujte doplňková ověření.
- Signály: nová/domenová reputace e-mailu, IP z datového centra, krátká doba vyplnění, neobvyklý user-agent, opakované pokusy, vysoká podobnost jména během krátké doby.
- Činnosti podle prahu: 0–30: pouze double opt-in; 31–70: CAPTCHA nebo SMS; 71+: manuální kontrola nebo odložení zveřejnění podpisu.
GDPR a právo: jak chránit jak údaje, tak legitimitu
- Právní základ: podpis petice a zasílání newsletterů jsou odlišné účely; pro newslettery používejte souhlas (double opt-in), pro validaci podpisu oprávněný zájem (prevence podvodů) s testem proporcionality.
- Minimalizace: nesbírejte rodná čísla nebo adresy, pokud to zákon či účel nevyžadují.
- Pseudonymizace: ukládejte hash telefonu/e-mailu (se solí) pro deduplikaci; surové hodnoty uchovávejte pouze do potvrzení.
- Retence: nastavte lhůty (např. nepotvrzené záznamy vymazat 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í pro prevenci zneužití, a nabídněte kontakt pro uplatnění 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.
- Skórování: vypočítejte skóre; nízké → uložte do stavu pending, pošlete ověřovací e-mail (odkaz platný 30–60 min).
- Ověření: kliknutím na odkaz → přechod do stavu confirmed; pokud je skóre střední, zobrazte lehkou výzvu (např. krátký textový test).
- Publikace: 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, nárůst 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é prohlášení?“
- „Magic link“ návrat: při opakovaném pokusu pošlete rychlý odkaz pro přihlášení/úpravu podpisu místo blokace.
- Mírné frikční prvky při riziku: krátká otázka týkající se obsahu petice, kterou boti obtížně překonají (human intent check).
- Jednoúčelové URL: podpisový odkaz 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ů.
- Chybovost v přístupnosti: měřte, kolik uživatelů s čtečkami obrazovky selže u CAPTCHA; pokud je to >1–2 %, upravte strategii.
- Dopad na fundraising: sledujte post-verify dárcovství, míru otevření a odchodů – cílem je vyšší kvalita při minimální ztrátě objemu.
Provozní činnosti: procesy, logy a incidenty
- Auditní logy: kdy, kdo a jak potvrdil, změnil nebo sloučil podpis; záznam důvodu blokace.
- Řízení incidentů: pokud průnik botů přeskočí filtr, dočasně zpřísněte prah, přepočítejte posledních N podpisů a kontaktujte ovlivněné uživatele (transparentní komunikace).
- Importy: vyžadujte deklaraci zdroje, použitého právního základu a medián konverze; importy procházejí stejnými validacemi jako online podpisy.
UX doporučení: zachovat jednoduchost, jasně vysvětlit důvod
- Krátké formuláře: jméno + e-mail + volitelný PSČ; další pole zobrazujte kontextově.
- Jasný text: „Ověřujeme podpisy, abychom chránili vaši výzvu před boty. Zabere to pár sekund.“
- Fallbacky: pokud selže ověření e-mailem, nabídněte alternativu (jiný kanál, chat podpora).
- Dostupnost: textové alternativy CAPTCHA, podpora bez JavaScriptu (alespoň ověření e-mailem).
Technické detaily: normalizace a hashování
- Normalizace e-mailu: převod na malá písmena, odstranění teček pro Gmail, odříznutí +aliasu (konfigurovatelně), převod IDN do ASCII (punycode).
- Telefon: převod do formátu E.164, odstranění mezer, určení země dle lokalizačního kontextu.
- Hashování pro deduplikaci: HMAC-SHA256 se solí pro e-mail/telefon; rotace soli, uchovávání v KMS.
- Expirace tokenů: ověřovací odkazy krátkodobé (30–60 min), jednorázové, vázané na kampaň a IP region.
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 patternem → zvyšte práh.
- Časové anomálie: nepřiměřeně mnoho podpisů ve 03:00 z jednoho regionu → manuální audit.
- Textové nesrovnalosti: stejná unikátní formulace v poznámce 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 dat.
- 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í
- Výběr vzorku 1–5 % nových podpisů s vysokým rizikem.
- Kontrola vzoru: formát e-mailu, doména, geografické rozložení, časová okna.
- Kontakt s vysvětlením (pokud je kontakt legální): krátká potvrzovací otázka s možností odhlášení.
- Označení a trénink modelu: výsledky manuálního auditu použijte jako data pro trénink.
Dashboard a KPI ověřování
- Míra potvrzení: podíl potvrzených podpisů do 24 hodin.
- Míra blokace: podíl zamítnutých botů vs. legitimní záchyty (false positive).
- Míra duplicity: počet sloučených záznamů na 1 000 podpisů.
- Čas do potvrzení: medián času od odeslání po potvrzení.
- Dopad na fundraising: konverze na dar v 7/30 dnech u potvrzených vs. nepotvrzených kohort.
Implementační plán na 30 dní
- Dny 1–7: honeypot, normalizace, double opt-in, základní limity



























