Kdo další čte s vámi? Skripty třetích stran na stránkách s formuláři
Stránka s kontaktním formulářem často načítá kód od půl tuctu dalších firem. Část z něj vidí, co návštěvníci píší – a většinu z něj nikdo z vašeho týmu nikdy neprověřil.
Když někdo vyplní váš kontaktní formulář, předpokládá, že zpráva jde k vám. Na mnoha webech však stránka s formulářem spouští i skripty od poskytovatelů analytiky, reklamních sítí, dodavatelů chatu a všeho, co za ta léta nashromáždil správce značek. Každý z těchto skriptů běží se stejnými právy jako váš vlastní kód: může číst stránku, sledovat vstupní pole a posílat data na vlastní servery. To neznamená, že to všechny dělají. Ale na stránce, kde návštěvníci píší své jméno, e-mailovou adresu a někdy i podrobnosti o svém zdraví, penězích nebo právních potížích, byste měli vědět, kdo čte s vámi.
Obvyklí podezřelí
- Nástroje pro nahrávání relací zaznamenávají kliknutí, posouvání a často i stisky kláves, aby bylo možné návštěvu později přehrát. Pokud pole nejsou maskována, může to zahrnovat i to, co lidé píší do formuláře.
- Reklamní a analytické pixely hlásí zobrazení stránek a konverze třetím stranám – na samotné stránce s formulářem a velmi často na děkovací stránce.
- Chatovací widgety načítají kompletní aplikaci z jiné domény, obvykle na každé stránce, včetně té s formulářem.
- Správci značek umožňují marketingu přidávat skripty bez nasazení. Pohodlné, ale znamená to také, že se kód může dostat na stránku s formulářem, aniž by jej kdokoli prověřil.
- Menší pomocníci – A/B testování, heatmapy, vložené prvky sociálních sítí, fonty, mapy – každý přidávají hostitele, který dostává přinejmenším IP adresu návštěvníka a obvykle adresu vašeho webu; skripty mezi nimi mohou číst i úplnou URL stránky.
Nahrávání relací: záznamník vedle vstupního pole
Většina nástrojů pro přehrávání nabízí nastavení pro maskování vstupních polí nebo vyloučení celých oblastí a některé určitá pole maskují ve výchozím stavu. Slabinami jsou výjimky: pole pro volný text zprávy, které výchozí nastavení nepokrývá, formulář sestavený z komponent, které pravidla maskování nerozpoznají, nebo nastavení, které někdo vypnul při ladění a už nikdy nezapnul. Záznam uložený u třetí strany pak může obsahovat přesně to, co vám návštěvník napsal – něco, co nečekal a co vaše zásady ochrany osobních údajů, které podle čl. 13 GDPR musí uvádět příjemce nebo kategorie příjemců osobních údajů, nemusí vůbec zmiňovat.
Pixely a děkovací stránka
Sledování konverzí potřebuje signál, že byl formulář odeslán, a děkovací stránka je zjevným místem, kde jej spustit. Většina pixelů posílá s každou událostí úplnou adresu stránky. Pokud formulář odesílá metodou GET nebo přesměrování po odeslání připojí k URL hodnoty jako ?name=…&email=…, putují tyto hodnoty přímo k poskytovateli reklamy nebo analytiky. Některé pixely také nabízejí funkce, které z formulářů automaticky sbírají e-mailové adresy nebo telefonní čísla pro lepší párování. A pokud se pixel spustí dříve, než návštěvník odpoví na cookie lištu – nebo poté, co ji odmítl –, problém už není jen technický.
Správci značek, souhlas a dodavatelský řetězec
Ve správcích značek se často ztrácí přehled. Kampaňová značka pro veletrh před dvěma lety, zkušební verze nástroje pro heatmapy, pixel pro síť, kterou už nikdo nepoužívá – to vše se může stále načítat na každé stránce, včetně formuláře. Spouštěče bývají často nastaveny na „všechny stránky“ a pravidla souhlasu se konfigurují značku po značce, takže stačí jedna značka s chybějící podmínkou, aby se skript načetl dříve, než návštěvník souhlasil.
Pak je tu dodavatelský řetězec. Když vložíte skript z jiného hostitele, důvěřujete tomu, kdo tohoto hostitele ovládá dnes i v budoucnu. Dodavatel může změnit, co jeho skript dělá, může být prodán nebo může být kompromitována jeho doručovací infrastruktura. Prohlížeč nedokáže rozlišit legitimní skript od zmanipulovaného, takže vložený kód na stránce s formulářem může číst každé pole a posílat je kamkoli – stejný vzorec, jaký se používá při skimmingu na stránkách pokladen.
Co můžete udělat
- 1Proveďte inventuru. Otevřete každou stránku s formulářem a její děkovací stránku ve vývojářských nástrojích prohlížeče, zkontrolujte kartu Síť a sepište všechny externí hostitele. Udělejte to jednou bez souhlasu a jednou po přijetí lišty.
- 2Odstraňte, co nikdo nepotřebuje. Značky bez jasného vlastníka a účelu jsou kandidáty na smazání. Omezte spouštěče ve správci značek tak, aby na stránkách s formuláři běžely jen ty značky, které tam běžet musí.
- 3Maskujte vstupy v nástrojích pro přehrávání. Maskujte všechna vstupní pole, nejen hesla, a pokud můžete, vylučte celou oblast formuláře. Pak si pusťte záznam a podívejte se, co se skutečně uložilo.
- 4Posílejte konverze bez osobních údajů. Odesílejte metodou POST, nedávejte hodnoty z formuláře do URL přesměrování a spouštějte neutrální událost, například „contact_form_sent“. V pixelech vypněte automatický sběr polí formulářů.
- 5Načítejte až po souhlasu. Skripty, které vyžadují souhlas, se nesmějí načíst dříve, než návštěvník souhlasí – a musí zůstat vypnuté, pokud odmítne. Otestujte obě cesty.
- 6Kde je to možné, připněte a omezte. Subresource Integrity (hash na značce script) způsobí, že prohlížeč odmítne statický soubor, který se změnil; nehodí se pro skripty, které se mění záměrně, jako jsou správci značek. Content Security Policy omezuje, kteří hostitelé smějí spouštět skripty – začněte v režimu report-only, abyste viděli, co by se rozbilo.
- 7Sledujte změny. Nový hostitel skriptů na stránce s formulářem by měl být záměrným rozhodnutím, ne překvapením. Zajistěte, abyste dostali upozornění, když se nějaký objeví.
formexposed kontroluje, které sledovací pixely se na vašich stránkách s formuláři spouštějí, zda může nástroj pro nahrávání relací zaznamenávat vstupy formulářů a zda odmítnutí cookie lišty skutečně zastaví sledování – pasivně, nic se neodesílá. Bezplatná kontrola ukazuje celkovou úroveň; tato zjištění jsou v úplném reportu. S monitorováním ověřené domény vás formexposed také upozorní, když se na stránce s formulářem objeví nový hostitel skriptů.