Ověřování signatářů

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

  1. Odeslání formuláře: proběhne honeypot, základní normalizace (trim, diakritika, formát telefonu), kontrola rychlosti a IP.
  2. Scoring: vypočítejte skóre; nízké → uložte ve 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 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í

  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 legální): 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ů 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í

  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čování duplicit, audit logy.
  3. Dny 15–21: SMS OTP pro rizik