Een klant belde me deze week op met een simpele vraag: “Ik heb een brief gekregen van een advocaat. Die zegt dat mijn contactformulier niet AVG-proof is. Klopt dat?” Ik keek naar zijn site. Contact Form 7, geen privacyverklaring in de buurt, geen bewaarbeleid, persoonsgegevens die gewoon in de database bleven staan. Ja, dat klopte. Dit is geen zeldzame situatie. De meeste WordPress-sites van mkb’ers hebben een contactformulier dat juridisch een rommeltje is. Hier is wat je concreet moet aanpakken.
Wat de AVG eigenlijk van je contactformulier vraagt
De AVG, officieel de Algemene Verordening Gegevensbescherming, is geen vage marketingrichtlijn. Het is wetgeving met boetes. Als je een contactformulier op je site hebt, verwerk je persoonsgegevens. Naam, e-mailadres, telefoonnummer — dat zijn allemaal persoonsgegevens in de zin van de wet. Dat betekent dat je als websitebeheerder een verwerkingsverantwoordelijke bent, ook al ben je een eenmanszaak met vijf klanten.
De kern van wat de wet van je vraagt is eigenlijk niet zo ingewikkeld. Je moet mensen informeren over wat je met hun gegevens doet, hoe lang je ze bewaart, en wie er toegang toe heeft. Je mag gegevens niet langer bewaren dan noodzakelijk voor het doel waarvoor je ze verzamelde. En je moet kunnen aantonen dat je dat beleid ook daadwerkelijk naleeft. Dat laatste is waar de meeste sites struikelen.
De informatie van de Rijksoverheid over de AVG legt uit welke verplichtingen er gelden voor organisaties die persoonsgegevens verwerken. Daar staat ook beschreven wanneer je een verwerkingsregister nodig hebt en wat de rechten van betrokkenen zijn. Lees dat door voordat je verder gaat, want ik ga hier niet de volledige juridische tekst herhalen — dat is niet mijn werk. Mijn werk is uitleggen wat dit technisch betekent voor je WordPress-site.
Wat je in elk geval moet hebben:
- Een privacyverklaring die specifiek ingaat op het contactformulier
- Een link naar die privacyverklaring op of direct naast het formulier
- Een bewaarbeleid dat je ook echt uitvoert
- Inzicht in waar de ingezonden berichten terechtkomen
Dat laatste punt is meteen de eerste technische valkuil. De meeste WordPress-formulierplugins sturen inzendingen per e-mail naar de beheerder. Prima. Maar veel plugins slaan die inzendingen ook op in de WordPress-database, als back-up of voor statistieken. Contact Form 7 doet dat standaard niet, maar met de Flamingo-plugin erbij wel. WPForms doet het standaard wél. Gravity Forms ook. Ga dus eerst na wat er in jouw geval in de database staat.
Als die tabellen bestaan, staan daar waarschijnlijk namen en e-mailadressen in. Soms al jaren. Dat is precies het probleem.
De technische instellingen die je nu moet doorlopen
Laten we concreet worden. Je hebt een WordPress-site met een contactformulier. Hier zijn de stappen die je doorloopt om het formulier AVG-technisch op orde te krijgen. Ik ga uit van een gemiddelde mkb-site: geen webshop, geen bijzondere gegevens, gewoon een formulier waarmee mensen contact opnemen.
Stap één: inventariseer wat er opgeslagen wordt.
Ga naar je formulierplugin en kijk of er een sectie “inzendingen” of “entries” bestaat. Als die er is, open hem en kijk hoe ver de data teruggaat. Ik heb sites gezien met inzendingen uit 2017. Niemand had dat ooit nodig gehad na de eerste verwerking van het bericht, maar ze stonden er nog wel. Verwijder alles wat je niet meer nodig hebt. Dat is al stap één van je bewaarbeleid: niet bewaren wat je niet gebruikt.
Stap twee: bepaal of je opslag in de database nodig hebt.
In de meeste gevallen niet. Als het bericht per e-mail aankomt en je het verwerkt in je mailbox of je CRM, heb je de databaseopslag niet nodig. Schakel die functie dan uit. In Contact Form 7 doe je dat door Flamingo niet te installeren. In WPForms ga je naar Settings > General en schakel je “Store Spam Entries” uit, maar let op: de gewone inzendingen worden standaard ook opgeslagen en dat stel je in bij de specifieke formulierinstellingen. In Gravity Forms ga je naar het formulier zelf, dan naar Settings > Form Settings en schakel je “Save form entries” uit als je dat niet nodig hebt.
Stap drie: voeg een privacycheckbox toe aan het formulier.
Dit is een veelbesproken punt. Technisch gezien is een verplichte checkbox voor het versturen van een contactformulier niet altijd noodzakelijk als je de privacyverklaring duidelijk zichtbaar linkt. Maar in de praktijk is een checkbox de eenvoudigste manier om te laten zien dat iemand actief akkoord is gegaan. Gebruik dit soort tekst:
Ik heb de privacyverklaring gelezen en ga akkoord met de verwerking van mijn gegevens voor het beantwoorden van mijn vraag.
Maak de checkbox verplicht. Sla de waarde op als je toch inzendingen opslaat, zodat je kunt bewijzen dat iemand akkoord heeft gegeven.
Stap vier: stel een automatische verwijdering in.
Als je inzendingen opslaat, zorg dan dat ze automatisch verwijderd worden na een bepaalde periode. Dertig dagen is voor de meeste contactformulieren ruim voldoende — als je het bericht na een maand nog niet hebt beantwoord, is er iets mis met je werkproces, niet met de AVG. In WPForms kun je dit instellen via de plugin zelf. In Gravity Forms heb je een add-on nodig of je schrijft een kleine cronjob. In Contact Form 7 zonder Flamingo heb je dit probleem niet, want er wordt niets opgeslagen.
Een eenvoudige wp-cron-taak die inzendingen ouder dan 30 dagen verwijdert ziet er zo uit:
Pas de tabelnaam aan op je eigen plugin. Dit is geen productie-code die je blind kopieert — test het eerst op een staging-omgeving.
Stap vijf: controleer je e-mailverwerking.
De inzendingen komen per e-mail binnen. Waar gaat die e-mail naartoe? Als dat een gedeeld mailaccount is waar meerdere mensen toegang toe hebben, noteer dat dan in je verwerkingsregister. Als die e-mail via een externe dienst gaat — Mailgun, SendGrid, SMTP2GO — dan ben je gegevens aan een derde partij aan het doorgeven. Check of die partij een verwerkersovereenkomst aanbiedt. De meeste grote aanbieders doen dat, maar je moet het wel afsluiten.
Privacyverklaring, verwerkersovereenkomsten en wat je beheerder moet weten
De privacyverklaring is geen juridisch document dat je eenmalig ergens verstopt. Het is een levend document dat klopt met wat je daadwerkelijk doet. Als je drie maanden geleden bent overgestapt van Mailgun naar een andere SMTP-dienst, moet dat in je privacyverklaring staan. Als je een nieuwe plugin hebt geïnstalleerd die analytics bijhoudt, moet dat erin. Dit is ook waarom ik bij elke WordPress-update die ik voor klanten uitvoer, kort check of er nieuwe plugins zijn bijgekomen die gegevens verwerken.
Een verwerkersovereenkomst heb je nodig met elke partij die in jouw opdracht persoonsgegevens verwerkt. Je hostingprovider is er één. Die slaat je WordPress-database op, en daarin staan de inzendingen. Vrijwel alle Nederlandse hostingproviders bieden een verwerkersovereenkomst aan, soms als download op hun site, soms op aanvraag. Heb je die nog niet? Vraag hem op. Bewaar hem samen met je andere AVG-documentatie.
Je formulierplugin-leverancier is een grayer gebied. Als de plugin volledig lokaal draait op jouw server, is er geen sprake van een verwerker in de zin van de AVG — de data verlaat jouw omgeving niet. Maar als de plugin een externe API aanroept voor spam-filtering, zoals Akismet, dan stuur je berichten door naar een externe server. Akismet heeft een eigen privacybeleid en voor zakelijk gebruik is er een betaalde versie nodig. Voor veel mkb-sites is dit een onbekend punt.
Wat je als beheerder moet bijhouden:
- Welke formulierplugin gebruik je, en slaat die data op?
- Welke externe diensten verwerken data uit het formulier (SMTP, spam-filter, analytics)?
- Heb je met al die partijen een verwerkersovereenkomst?
- Staat je privacyverklaring nog op de juiste pagina en is die actueel?
- Hoe lang worden inzendingen bewaard, en wie verwijdert ze?
Dit klinkt als veel werk. Het is een paar uur werk de eerste keer. Daarna is het een kwestie van bijhouden bij elke wijziging die je doorvoert.
Een praktisch punt over de privacyverklaring zelf: schrijf hem in begrijpelijk Nederlands. Geen juridisch jargon dat niemand leest. Zeg gewoon wat je doet: “Als je dit formulier invult, ontvangen wij je naam en e-mailadres. We gebruiken die gegevens alleen om je vraag te beantwoorden. We bewaren de gegevens maximaal 30 dagen.” Dat is genoeg voor een eenvoudig contactformulier. Als je meer doet met de data, beschrijf je meer.
Tot slot: de Autoriteit Persoonsgegevens (AP) is de toezichthouder in Nederland. Die kan handhaven. Voor kleine mkb-sites is de kans op een boete klein zolang je aantoonbaar je best doet, maar dat “aantoonbaar” is het sleutelwoord. Documenteer wat je doet. Sla je verwerkersovereenkomsten op. Bewaar een versiehistorie van je privacyverklaring. Als er ooit iemand vragen stelt, kun je laten zien dat je het serieus neemt.
Tot slot
Een contactformulier is een van de meest voorkomende onderdelen van een WordPress-site en tegelijk een van de meest onderschatte bronnen van AVG-problemen. Niet omdat de regels zo ingewikkeld zijn, maar omdat niemand er naar omkeek toen het formulier vijf jaar geleden werd geïnstalleerd. De technische aanpassingen zijn te overzien. De documentatie kost een middag. En dan staat het goed — totdat je iets verandert, want dan begin je opnieuw met controleren. Dat is onderhoud. Dat is het werk.