Hvem læser ellers med? Tredjepartsscripts på formularsider
En side med en kontaktformular indlæser ofte kode fra et halvt dusin andre virksomheder. Noget af den kan se, hvad besøgende skriver – og det meste har ingen i dit team nogensinde gennemgået.
Når nogen udfylder din kontaktformular, går de ud fra, at beskeden går til dig. På mange sites kører formularsiden dog også scripts fra analyseudbydere, annoncenetværk, chatleverandører og hvad en tag manager ellers har samlet op gennem årene. Hvert af disse scripts kører med de samme rettigheder som din egen kode: Det kan læse siden, holde øje med inputfelter og sende data til sine egne servere. Det betyder ikke, at de alle gør det. Men på den side, hvor besøgende skriver deres navn, e-mailadresse og sommetider oplysninger om deres helbred, økonomi eller juridiske problemer, bør du vide, hvem der læser med.
De sædvanlige mistænkte
- Session replay-værktøjer optager klik, scrolling og ofte tastetryk, så et besøg kan afspilles senere. Medmindre felterne er maskeret, kan det omfatte det, folk skriver i formularen.
- Annonce- og analysepixels rapporterer sidevisninger og konverteringer til tredjeparter – på selve formularsiden og meget ofte på taksiden.
- Chatwidgets indlæser en komplet applikation fra et andet domæne, som regel på hver side, også den med formularen.
- Tag managers lader marketing tilføje scripts uden en udrulning. Praktisk, men det betyder også, at kode kan nå formularsiden, uden at nogen har gennemgået den.
- Mindre hjælpere – A/B-test, heatmaps, sociale indlejringer, skrifttyper, kort – tilføjer hver en vært, der modtager mindst den besøgendes IP-adresse og som regel adressen på dit site; scripts blandt dem kan også læse sidens fulde URL.
Session replay: en optager ved siden af inputfeltet
De fleste replay-værktøjer har indstillinger til at maskere inputfelter eller udelukke hele områder, og nogle maskerer visse felter som standard. De svage punkter er undtagelserne: et fritekstfelt til beskeden, som standarden ikke dækker, en formular bygget af komponenter, som maskeringsreglerne ikke genkender, eller en indstilling, som nogen slog fra under fejlfinding og aldrig slog til igen. En optagelse, der gemmes hos en tredjepart, kan så indeholde præcis det, den besøgende skrev til dig – noget, vedkommende ikke forventede, og som din privatlivspolitik, der efter art. 13 GDPR skal nævne modtagerne eller kategorierne af modtagere af personoplysninger, måske slet ikke nævner.
Pixels og taksiden
Konverteringssporing kræver et signal om, at en formular er sendt, og taksiden er det oplagte sted at udløse det. De fleste pixels sender den fulde sideadresse med hver hændelse. Hvis formularen indsendes via GET, eller omdirigeringen efter afsendelse tilføjer værdier som ?name=…&email=… til URL'en, går disse værdier direkte til annonce- eller analyseudbyderen. Nogle pixels tilbyder også funktioner, der automatisk opsamler e-mailadresser eller telefonnumre fra formularer for at forbedre matchningen. Og hvis pixlen udløses, før den besøgende har svaret på cookiebanneret – eller efter at vedkommende har afvist – er problemet ikke længere kun teknisk.
Tag managers, samtykke og forsyningskæden
Tag managers er ofte der, hvor overblikket går tabt. Et kampagnetag til en messe for to år siden, en prøveperiode med et heatmap-værktøj, en pixel til et netværk, som ingen bruger længere – det hele kan stadig blive indlæst på hver side, også formularsiden. Triggere er ofte sat til “alle sider”, og samtykkeregler konfigureres tag for tag, så ét tag med en manglende betingelse er nok til at indlæse et script, før den besøgende har givet samtykke.
Dertil kommer forsyningskæden. Når du indlejrer et script fra en anden vært, stoler du på den, der kontrollerer værten i dag og i fremtiden. En leverandør kan ændre, hvad dens script gør, blive solgt eller få sin leveringsinfrastruktur kompromitteret. Browseren kan ikke skelne et legitimt script fra et manipuleret, så indsprøjtet kode på en formularside kan læse alle felter og sende dem hvor som helst hen – samme mønster, som bruges til skimming på betalingssider.
Hvad du kan gøre
- 1Lav en oversigt. Åbn hver formularside og dens takside med browserens udviklerværktøjer, tjek fanen Netværk, og skriv alle eksterne værter op. Gør det én gang uden samtykke og én gang efter accept af banneret.
- 2Fjern det, ingen har brug for. Tags uden en klar ejer og et klart formål er kandidater til sletning. Begræns tag manager-triggere, så kun de tags, der skal køre på formularsider, gør det.
- 3Masker input i replay-værktøjer. Masker alle inputfelter, ikke kun adgangskoder, og udeluk helst hele formularområdet. Se derefter en optagelse for at se, hvad der faktisk blev gemt.
- 4Send konverteringer uden personoplysninger. Indsend via POST, hold formularværdier ude af omdirigerings-URL'er, og udløs en neutral hændelse som “contact_form_sent”. Slå automatisk opsamling af formularfelter fra i pixels.
- 5Indlæs først efter samtykke. Scripts, der kræver samtykke, må ikke indlæses, før den besøgende giver samtykke – og skal forblive slået fra, hvis vedkommende afviser. Test begge veje.
- 6Fastlås og begræns, hvor det er muligt. Subresource Integrity (en hash på script-tagget) får browseren til at afvise en statisk fil, der er ændret; det passer ikke til scripts, der ændrer sig efter hensigten, som tag managers. En Content Security Policy begrænser, hvilke værter der må køre scripts – start i report-only-tilstand for at se, hvad der ville gå i stykker.
- 7Hold øje med ændringer. En ny scriptvært på en formularside bør være en bevidst beslutning, ikke en overraskelse. Sørg for at få besked, når en dukker op.
formexposed kontrollerer, hvilke sporingspixels der udløses på dine formularsider, om et session replay-værktøj kan optage formularinput, og om afvisning af cookiebanneret virkelig stopper sporingen – passivt, der indsendes intet. En gratis kontrol viser det samlede niveau; disse fund findes i den fulde rapport. Med overvågning af et verificeret domæne giver formexposed dig også besked, når en ny scriptvært dukker op på en formularside.