Ett kontaktformulär i WordPress kan se oskyldigt ut. Några fält för namn, e-postadress och meddelande, en knapp och sedan är saken klar.
Men bakom formuläret finns ofta en hel kedja av personuppgiftsbehandling: webbläsaren skickar informationen till servern, WordPress kan lagra den i databasen, ett formulärplugin kan skapa en egen kopia, e-posttjänsten kan behandla uppgifterna och ibland skickas informationen vidare till CRM, nyhetsbrevstjänst eller andra externa system.
För webbutvecklaren är därför frågan inte bara om formuläret fungerar.
Frågan är vad som händer med personuppgifterna efter att användaren klickat på Skicka.
Snabb sammanfattning
- GDPR-säkra formulär börjar med att kartlägga vilka personuppgifter som samlas in och varför.
- Samtycke är inte automatiskt rättslig grund för ett vanligt kontaktformulär. Den rättsliga grunden måste bedömas utifrån den faktiska behandlingen.
- Samla inte in fler uppgifter än vad som behövs. Dataminimering är en central GDPR-princip.
- Kontrollera inte bara formulärpluginet utan även databasen, e-postservern, hostingmiljön och eventuella externa integrationer.
- Personuppgiftsbiträden och underbiträden behöver hanteras som en del av den tekniska lösningen, inte som en efterhandsfråga.
- WordPress har inbyggda verktyg för export och radering av personuppgifter, men de omfattar inte automatiskt all information som kan finnas hos tredjepartstjänster.
Ett formulär är en databehandlingskedja
Det är lätt att tänka på formuläret som en isolerad funktion på webbplatsen.
I praktiken är det snarare en liten datakedja.
En besökare fyller exempelvis i:
- namn
- e-postadress
- telefonnummer
- företagsnamn
- meddelande
När formuläret skickas kan informationen sedan passera genom flera system.
Besökare
↓
Webbläsare
↓
Webbserver
↓
WordPress / formulärplugin
↓
Databas
↓
E-post / SMTP
↓
Mottagare
↓
Eventuellt CRM eller annan tjänstVarje steg kan innebära personuppgiftsbehandling.
Det är därför inte tillräckligt att installera ett plugin som marknadsförs som ”GDPR-kompatibelt”. Ett plugin kan erbjuda tekniska funktioner som underlättar efterlevnaden, men det gör inte automatiskt hela webbplatsens behandling laglig.
Det är en viktig skillnad för webbutvecklare.
GDPR är inte en pluginfunktion. Det är en egenskap hos hela behandlingen.
Börja med att fråga vilka uppgifter som faktiskt behövs
Den kanske enklaste åtgärden för att skapa GDPR-säkra formulär är också en av de mest förbisedda: samla in mindre information.
GDPR princip om dataminimering innebär att personuppgifter ska vara adekvata, relevanta och begränsade till vad som är nödvändigt för ändamålet.
Om kunden bara vill kunna skicka en offertförfrågan behöver du kanske:
| Fält | Behövs normalt? | Kommentar |
|---|---|---|
| Namn | Ja | För att kunna identifiera kontakten |
| E-post | Ja | För att kunna svara |
| Telefon | Ibland | Bara om telefonkontakt behövs |
| Företag | Ibland | Relevant vid B2B |
| Organisationsnummer | Sällan | Bör ha ett tydligt syfte |
| Personnummer | Nej | Undvik om det inte finns ett särskilt behov |
| Födelsedatum | Nej | Ofta helt irrelevant |
| Fritext | Försiktighet | Kan leda till att användaren lämnar känsliga uppgifter |
Det sista fältet är särskilt intressant.
Ett fritextfält kan vara praktiskt, men du har betydligt mindre kontroll över vad besökaren väljer att skriva.
Ett konkret scenario
Tänk dig en redovisningsbyrå som har ett formulär med följande fält:
Namn, e-post, telefon, företag, organisationsnummer, personnummer, omsättning, antal anställda och ”Beskriv ditt ärende”.
Det kan verka professionellt och detaljerat.
Men om det enda syftet är att låta en potentiell kund beskriva sitt behov inför ett första samtal är det tveksamt om alla dessa uppgifter behövs redan där.
Ett bättre formulär kan börja med namn, e-post och en kort beskrivning av ärendet.
Resten kan samlas in senare, när det finns ett faktiskt behov.
Det är både enklare UX och bättre dataminimering.
Samtycke är inte en magisk GDPR-checkbox
Ett av de vanligaste misstagen i WordPress-formulär en en enkel checkbox:
☐ Jag godkänner GDPR.
Det löser i sig väldigt lite.
För det första är ”GDPR” inte ett ändamål. För det andra behöver du veta vilken behandling samtycket avser. För det tredje är samtycke bara en av flera möjliga rättsliga grunder.
Europeiska kommissionen beskriver bland annat samtycke, avtal, rättslig förpliktelse och berättigat intresse som möjliga rättsliga grunder, beroende på situationen.
Även IMY betonar att samtycke inte alltid är det lämpligaste valet.
När samtycke faktiskt används
Om behandlingen bygger på samtycke ska det vara frivilligt, specifikt, informerat och lämnas genom en tydlig aktiv handling. Förmarkerade checkboxar är exempelvis inte tillåtna.
Ett bättre exempel kan därför vara:
☐ Jag vill få nyhetsbrev från Företag AB via e-post. Jag kan när som helst avsluta prenumerationen.
Det beskriver vad personen faktiskt samtycker till.
Det är något helt annat än:
☐ Jag godkänner GDPR.
Kontaktformulär och nyhetsbrev bör inte blandas ihop
Det här är en viktig praktisk detalj.
Anta att en person kontaktar ett företag för att fråga om priset på en tjänst.
Efter formuläret finns en extra checkbox:
☐ Jag godkänner att ni sparar mina uppgifter och skickar framtida marknadsföring.
Det är en separat behandling med ett annat ändamål.
Om nyhetsbrevet kräver samtycke bör det hanteras separat och inte gömmas bakom ett allmänt ”godkännande” av kontaktformuläret. Du bör antinghen ha ett separat formulär för en besökare att anmäla sig till ett nyhetsbrev eller med en separat checkbox för just nyhetsbrev i formuläret. Då kan den som fyller i formuläret välja vad de vill godkänna.
Var transparent med vad som händer efter Skicka
En person som lämnar sina uppgifter ska få information om behandlingen på ett tydligt och begripligt sätt.
IMY beskriver bland annat kravet på information om den personuppgiftsansvarigas identitet och kontaktuppgifter, och information enligt artikel 13 ska lämnas när personuppgifterna samlas in.
För webbutvecklaren innebär det att formulärets gränssnitt behöver kunna länka till relevant integritetsinformation.
Exempel:
Vi behandlar dina uppgifter för att kunna besvara din förfrågan. Läs mer om hur vi hanterar personuppgifter i vår integritetspolicy. Med en länk till integritetspolicy-sidan.
Det behöver inte innebära att hela integritetspolicyn placeras direkt under formuläret.
Tvärtom är en kort och tydlig förklaring ofta bättre UX.
Flow-prompter

Var lagras formulärdata?
Här börjar den tekniska delen bli riktigt viktig.
Många formulär skickar informationen som e-post och det kan skapa en falsk känsla av att informationen ”bara skickas iväg”.
Men vissa formulärplugins sparar även inskickade formulär i WordPress-databasen.
Det betyder att du som utvecklare behöver veta:
- Sparas inskickade formulär i databasen?
- Vilken tabell eller datalagring används?
- Hur länge sparas informationen?
- Kan administratörer läsa den?
- Finns informationen i backup?
- Skickas den vidare till en extern tjänst?
- Finns det loggar som innehåller uppgifterna?
- Kan pluginet exportera eller radera informationen?
Det sista är särskilt viktigt när du bygger egna lösningar.
WordPress har stöd för funktioner för export och radering av personuppgifter, och plugins kan registrera egna exporters och erasers för data de själva hanterar.
Men WordPress varnar samtidigt för att de inbyggda verktygen inte automatiskt täcker data hos externa tjänster.
Det betyder att en GDPR-genomgång måste följa datan, inte bara WordPress-installationen.
E-post är inte automatiskt en säker lagringslösning
Ett klassiskt upplägg är:
Formulär → WordPress → wp_mail() → e-postDet fungerar tekniskt.
Men e-postmeddelandet kan sedan ligga kvar i flera inkorgar, skickas vidare, säkerhetskopieras eller lagras under lång tid.
Om formuläret dessutom innehåller känslig information blir frågan ännu viktigare.
Som utvecklare bör du därför tänka på hela informationsflödet och inte bara hur formuläret skickar meddelandet.
I vissa projekt kan det vara bättre att minimera vad som skickas via e-post och istället skicka en notifiering om att ett ärende finns att hantera i ett säkrare system.
Ett konkret scenario
En vårdrelaterad verksamhet använder ett kontaktformulär där besökaren kan skriva:
”Jag har haft ont i ryggen i tre månader och tar just nu medicinen X.”
Nu har formuläret potentiellt tagit emot information som kan vara hälsorelaterad.
Att bara lägga till en checkbox med texten ”Jag godkänner GDPR” förändrar inte den grundläggande risken.
Det första utvecklaren bör fråga är:
Varför behöver webbplatsen överhuvudtaget ta emot den här informationen?
Om svaret är ”det behöver den inte”, är den bästa GDPR-lösningen kanske att ta bort fritextfältet (meddelandefältet).
Ange gärna ovanför formuläret att den som fyller i det inte bör fylla i känsliga uppgifter i formuläret. Exempel:
Skriv inte känsliga personuppgifter eller detaljer om din hälsa i detta formulär.
Tredjepartstjänster kan förändra hela riskbilden
Ett formulär kan vara tekniskt lokalt men samtidigt vara kopplat till flera externa tjänster.
Exempel:
- CRM
- nyhetsbrevssystem
- spamfilter
- analysverktyg
- CAPTCHA-tjänst
- marketing automation
- bokningssystem
- supportplattform
- externa API
Varje integration behöver bedömas utifrån vilken information som skickas och vilken roll leverantören har.
Om en extern leverantör behandlar personuppgifter för företagets räkning kan relationen innebära ett personuppgiftsbiträdesförhållande. IMY anger att personuppgiftsansvarig och personuppgiftsbiträde ska reglera relationen genom ett skriftligt avtal eller annan rättsakt.
Det innebär exempelvis att ”vi använder bara ett formulärplugin från USA” inte är slutet på analysen.
Du behöver veta vilken data som lämnar webbplatsen, vart den går och på vilka villkor.
Bygg formuläret säkert – inte bara juridiskt korrekt
GDPR handlar inte enbart om juridik. Integritet och teknisk säkerhet hänger nära ihop.
Personuppgifter ska skyddas mot bland annat obehörig åtkomst, förlust och annan otillåten behandling. Integritet och konfidentialitet är en av GDPR grundläggande principer.
För ett WordPress-formulär innebär det bland annat att kontrollera:
Teknisk säkerhet
- HTTPS används över hela webbplatsen.
- WordPress och plugins hålls uppdaterade.
- Formulärpluginet kommer från en seriös och aktivt underhållen utvecklare.
- Administratörskonton skyddas med stark autentisering.
- Onödiga administratörsbehörigheter tas bort.
- Databaser och backups skyddas.
- Loggar innehåller inte mer persondata än nödvändigt.
- API-nycklar och autentiseringsuppgifter ligger inte öppet i frontend-koden.
För mer om hur pluginval påverkar säkerhet och underhåll kan du läsa guiden om WordPress-plugins för prestanda och säkerhet.
Spam och säkerhet får inte skapa nya integritetsproblem
CAPTCHA är ett bra exempel.
Du kan vilja skydda formuläret mot spam genom att använda en extern tjänst. Men då bör du samtidigt fråga:
Vilka uppgifter skickas till CAPTCHA-leverantören?
Det är lätt att lösa ett säkerhetsproblem genom att introducera ett integritetsproblem.
Det betyder inte att externa säkerhetstjänster alltid ska undvikas. Det betyder att de ska väljas med samma omsorg som övriga tredjepartstjänster.
Googles reCaptcha lämnar ofta ut information till Googles tjänster. Använd istället tjänster som Cloudflare Turnstile, ett mer anonymt alternativ.
Glöm inte tillgängligheten
Ett GDPR-säkert formulär bör också vara användbart.
Ett formulär där användaren inte kan förstå vilket fält som är obligatoriskt, inte kan navigera med tangentbord eller inte kan förstå felmeddelanden är dåligt byggt även om personuppgiftshanteringen är korrekt.
Formulärets HTML bör därför ha korrekt kopplade <label>-element, tydliga felmeddelanden och logisk fokusordning.
Det här är en del av en större princip: juridik, säkerhet och UX bör inte behandlas som separata lager.
Semantisk HTML är exempelvis viktig för både tillgänglighet och maskinell förståelse av webbplatsens struktur. Du kan läsa mer i artikeln Semantisk HTML och varför strukturen spelar större roll för SEO, AI och tillgänglighet.
Flow-prompter

Hur länge ska formulärdata sparas?
Det finns en vanlig föreställning att man kan spara allt ”för säkerhets skull”.
Det är sällan en bra utgångspunkt.
GDPR princip om lagringsbegränsning innebär att personuppgifter inte ska sparas längre än vad som behövs för ändamålet.
För utvecklaren innebär det att frågan om retention bör finnas med redan när lösningen byggs.
Exempel:
Kontaktformulär → databas → administratör → CRM
Vad händer efter att ärendet är avslutat?
Om formulärsvaret fortfarande ligger kvar i WordPress två år senare bör det finnas ett tydligt skäl.
Skapa en enkel datakarta
För varje formulär kan du dokumentera:
| Fråga | Exempel |
|---|---|
| Vilka uppgifter samlas in? | Namn, e-post, meddelande |
| Varför? | Besvara kontaktförfrågan |
| Rättslig grund? | Bedöms av den personuppgiftsansvarige |
| Var lagras uppgifterna? | WordPress + e-post |
| Vilka har tillgång? | Kundens administratörer |
| Delas uppgifterna externt? | Exempelvis CRM |
| Hur länge sparas de? | Enligt fastställd rutin |
| Hur raderas de? | Manuell eller automatiserad rutin |
Det här dokumentet är ofta mer värdefullt än att bara installera ytterligare ett GDPR-plugin.
WordPress har stöd – men utvecklaren måste koppla ihop delarna
WordPress har under lång tid byggt in funktioner för integritet, bland annat verktyg för export och radering av personuppgifter.
För pluginutvecklare finns dessutom API-stöd för att låta egna plugins registrera vilka personuppgifter de kan exportera eller radera.
Det här är särskilt relevant om du utvecklar egna formulärlösningar eller plugins.
Om ett specialbyggt formulär exempelvis sparar data i en egen custom post type eller egen datatabell bör du fundera på hur den informationen ska hanteras vid en begäran om registerutdrag eller radering.
Det är en del av skillnaden mellan att bygga en funktion och att bygga en långsiktigt förvaltningsbar funktion.
Flow-prompter

En praktisk checklista för GDPR-säkra formulär
Innan du lämnar över en WordPress-webbplats med formulär bör du kunna svara på följande frågor:
Formuläret
- Vet vi exakt vilka personuppgifter som samlas in?
- Behövs varje fält?
- Finns det risk att fritextfältet används för känsliga uppgifter?
- Är obligatoriska fält faktiskt nödvändiga?
Juridiken
- Är behandlingen kopplad till en identifierad rättslig grund?
- Om samtycke används, är det frivilligt och aktivt?
- Är ändamålet tydligt?
- Får användaren relevant information när uppgifterna samlas in?
Lagringen
- Sparar pluginet formulärdata i databasen?
- Hur länge sparas informationen?
- Finns den i backups?
- Finns den i loggar?
Tredjepart
- Skickas data till externa tjänster?
- Vilka leverantörer används?
- Finns nödvändiga personuppgiftsbiträdesavtal?
- Finns underbiträden?
- Finns överföringar till länder utanför EU/EES som behöver bedömas?
Säkerheten
- Är WordPress och plugins uppdaterade?
- Är administratörsåtkomsten begränsad?
- Används HTTPS?
- Är informationen skyddad från obehörig åtkomst?
Integritet och UX
- Är integritetsinformationen lätt att hitta?
- Är formuläret tillgängligt?
- Fungerar tangentbordsnavigering?
- Är felmeddelanden begripliga?
- Är checkboxar och etiketter tydliga?
Det viktigaste: bygg för dataskydd från början
Det går att bygga ett kontaktformulär först och försöka ”GDPR-säkra” det efteråt.
Men det är sällan den bästa vägen.
Om du istället börjar med frågorna vilka uppgifter behövs, varför behövs de, vart ska de skickas och hur länge ska de finnas kvar, blir både implementationen och dokumentationen enklare.
Det kan också leda till en bättre webbplats.
Färre fält ger ofta mindre friktion. Färre integrationer kan innebära färre säkerhetsrisker. Mindre datalagring förenklar förvaltningen. Tydligare information skapar förtroende.
Det är därför GDPR inte behöver stå i motsats till bra UX.
Tvärtom kan dataskydd vara en del av god webbdesign.
Bygg WordPress-lösningar där integritet är en del av arkitekturen
För webbutvecklare är den stora lärdomen att GDPR inte bör behandlas som en juridisk stämpel som läggs på webbplatsen precis före lansering.
Ett formulär är en del av webbplatsens tekniska arkitektur.
När du kartlägger dataflöden, minimerar insamlingen, väljer leverantörer med omsorg, dokumenterar lagring och bygger in stöd för export och radering redan från början skapar du en betydligt mer hållbar lösning.
Det är också ett bättre sätt att arbeta med europeisk dataskyddslagstiftning; inte genom att försöka hitta den perfekta checkboxen, utan genom att förstå vad som faktiskt händer med människors information.
Om du utvecklar WordPress-webbplatser för företag är det värt att göra den här genomgången som en standarddel av varje projekt.





Lämna en Kommentar