Een klant belde me vorige week met de vraag of zijn website “AVG-proof” was. Hij had een brief gekregen van een zakelijke relatie die twijfels had over hoe zijn site omgaat met persoonsgegevens. Het contactformulier verzamelde namen, e-mailadressen en telefoonnummers — en nergens stond uitgelegd wat daarmee gebeurde. Geen privacyverklaring, geen toestemmingsvinkje, niets. Dit is geen zeldzame situatie. Het is eerder de standaard bij mkb-sites die een paar jaar geleden zijn neergezet en sindsdien niet meer zijn aangeraakt.
Wat de AVG eigenlijk van je vraagt
De Algemene Verordening Gegevensbescherming geldt voor elke website die persoonsgegevens verwerkt van mensen in de EU. Dat klinkt groot, maar het betekent in de praktijk: zodra iemand zijn naam en e-mailadres invult in jouw contactformulier, ben jij verwerkingsverantwoordelijke. Je moet dan kunnen uitleggen wat je met die gegevens doet, hoe lang je ze bewaart en op welke grondslag je ze verwerkt.
De drie grondslagen die voor een contactformulier het meest relevant zijn:
- Toestemming: de bezoeker geeft expliciet aan dat hij akkoord gaat
- Uitvoering van een overeenkomst: iemand vraagt een offerte aan, dat is al een contractuele handeling
- Gerechtvaardigd belang: jij hebt een legitiem belang bij de verwerking, mits dat belang zwaarder weegt dan de privacy van de bezoeker
Voor een simpel contactformulier is “uitvoering van een overeenkomst” of “gerechtvaardigd belang” vaak de meest logische grondslag. Toestemming vragen voor elk contactmoment klinkt zorgvuldig, maar het is juridisch complexer dan het lijkt — en als je het verkeerd implementeert, heb je alsnog een probleem.
De technische kant van je formulier
Laten we concreet worden. Een WordPress-site met Contact Form 7 of Gravity Forms slaat standaard niets op in de database — de gegevens gaan direct per e-mail naar jou. Dat is vanuit AVG-perspectief relatief netjes, omdat er geen permanente opslag plaatsvindt op de server. Maar het betekent ook dat jij die gegevens ontvangt in je mailbox, en die mailbox valt ook onder de regels.
Gravity Forms heeft een optie om inzendingen wél op te slaan in de database. Handig voor overzicht, maar dan moet je:
- Weten hoelang die gegevens daar staan
- Een retentiebeleid instellen (automatisch verwijderen na X dagen)
- Toegang tot die gegevens beperken tot wie het echt nodig heeft
Contact Form 7 slaat standaard niets op, maar de Flamingo-plugin (van dezelfde ontwikkelaar) voegt opslagfunctionaliteit toe. Als je die plugin hebt geïnstalleerd en nooit hebt geconfigureerd, is de kans groot dat je jaren aan inzendingen hebt staan zonder dat je het weet. Controleer dat even.
Verder: als je formulier via een derde partij loopt — denk aan een CRM-koppeling, een e-mailmarketingdienst of een chatbot — dan is die partij een verwerker. Je hebt dan een verwerkersovereenkomst nodig. Dat is een document waarin staat wat die partij met de gegevens mag doen. Veel grote diensten bieden dat standaard aan in hun gebruiksvoorwaarden, maar controleer of je die ooit hebt geaccepteerd en of je een kopie hebt.
Privacyverklaring: wat er minimaal in moet staan
Elke site met een contactformulier heeft een privacyverklaring nodig. Dat is geen optie. Wat er minimaal in moet staan:
- Wie de verwerkingsverantwoordelijke is (naam, adres, contactgegevens)
- Welke gegevens je verzamelt
- Waarom je die verzamelt (het doel)
- Op welke grondslag je dat doet
- Hoe lang je de gegevens bewaart
- Of je gegevens deelt met derden, en zo ja, met wie
- Welke rechten de bezoeker heeft (inzage, correctie, verwijdering, bezwaar)
- Hoe de bezoeker een klacht kan indienen bij de Autoriteit Persoonsgegevens
De informatie van de Rijksoverheid over de AVG is een goed startpunt als je wilt begrijpen welke verplichtingen er precies gelden voor kleine ondernemers en wat de Autoriteit Persoonsgegevens als toezichthouder van je verwacht.
Een privacyverklaring hoeft niet ingewikkeld te zijn. Twee pagina’s heldere tekst is beter dan acht pagina’s juridisch jargon die niemand leest. Schrijf het in gewone taal. Als je een sjabloon gebruikt, pas het dan aan op jouw situatie — een generieke tekst die niet klopt met wat je werkelijk doet, is erger dan geen tekst, want het is aantoonbaar onjuist.
Zorg ook dat de privacyverklaring bereikbaar is vanuit het formulier zelf. Een zin als “Door dit formulier te versturen ga je akkoord met onze privacyverklaring” met een link is het minimum. Sommige juristen vinden dat je expliciet toestemming moet vragen via een vinkje; anderen zeggen dat een informatieve link volstaat als je grondslag niet toestemming is. Overleg dat met een jurist als je twijfelt — ik ben geen advocaat en dit is geen juridisch advies.
Cookies, analytics en het formulier
Hier gaat het vaak mis. Je hebt netjes een contactformulier met een link naar je privacyverklaring, maar ondertussen draait er Google Analytics op de pagina die zonder toestemming tracking-cookies plaatst. Dan heb je aan de ene kant iets geregeld en aan de andere kant een groter probleem laten liggen.
De cookiewet — formeel de Telecommunicatiewet, die de ePrivacy-richtlijn implementeert — vereist dat je voor niet-noodzakelijke cookies toestemming vraagt voordat ze worden geplaatst. Dat betekent: een cookiebanner die daadwerkelijk werkt, niet eentje die alleen een melding toont maar ondertussen al alles heeft geladen.
Praktisch gezien:
- Google Analytics zonder toestemming: niet toegestaan als je de standaardinstelling gebruikt die IP-adressen verwerkt
- Google Analytics met cookieless tracking of server-side: grijs gebied, maar beter
- Matomo zelf gehost, zonder cookies: in veel gevallen toegestaan zonder banner
- Facebook Pixel: vereist altijd expliciete toestemming
Als je een cookiebanner gebruikt, zorg dan dat de “weigeren”-knop even prominent is als de “accepteren”-knop. Een kleine grijze link onderaan versus een grote groene knop bovenaan is niet in lijn met de regels. De Autoriteit Persoonsgegevens heeft hier meerdere keren over gecommuniceerd.
Voor WordPress zijn er plugins die dit regelen: Complianz en CookieYes zijn de meest gebruikte. Complianz heeft een Nederlandse basis en is goed gedocumenteerd voor de Nederlandse markt. Beide plugins blokkeren scripts totdat toestemming is gegeven — dat is de juiste volgorde.
Controleer na het installeren of de scripts daadwerkelijk worden geblokkeerd. Open je browser in incognitomodus, ga naar je site en kijk in de developer tools (F12, tabblad Network) welke verzoeken er worden gedaan vóórdat je op accepteren klikt. Als je daar al Google-verzoeken ziet, werkt de plugin niet correct of is er een andere plek waar het script wordt geladen.
Wat je deze week kunt doen
Je hoeft dit niet in één dag op te lossen. Maar er zijn een paar dingen die je snel kunt afvinken zonder dat je er een jurist voor nodig hebt.
Controleer je formulierinstellingen:
Ga naar je formulier-plugin en bekijk wat er met inzendingen gebeurt. Worden ze opgeslagen? Hoelang? Wie heeft er toegang toe? Zet onnodige opslag uit of stel een automatische verwijdering in.
Controleer je e-mailkoppelingen:
Stuur een testinzending en bekijk in welke mailbox die aankomt. Is dat een gedeelde inbox? Heeft iedereen in het bedrijf toegang tot die berichten? Dat hoeft niet per se een probleem te zijn, maar je moet het weten en kunnen verantwoorden.
Controleer je privacyverklaring:
Heb je er een? Is hij bereikbaar? Klopt de inhoud met wat je werkelijk doet? Als de verklaring zegt dat je geen gegevens deelt met derden maar je gebruikt een CRM, klopt het niet.
Controleer je cookiebanner:
Werkt hij? Blokkeert hij scripts vóór toestemming? Is de weigeren-optie even zichtbaar als accepteren?
Controleer je SSL-certificaat:
Dit is geen AVG-verplichting op zich, maar het versleutelt de verbinding tussen de bezoeker en jouw server. Formulierdata die over een onversleutelde verbinding gaat, is onderschepbaar. Elke serieuze hostingpartij biedt gratis SSL via Let’s Encrypt. Als je site nog op HTTP draait, los dat vandaag op.
Wat je niet hoeft te doen: een complete juridische audit, een Data Protection Officer aanstellen (dat is alleen verplicht voor organisaties die op grote schaal gevoelige gegevens verwerken) of je hele site herbouwen. Voor de meeste mkb-sites gaat het om een paar uur werk en wat tekst die je netjes op papier zet.
Tot slot
AVG is voor veel ondernemers een bron van onrust omdat het vaag klinkt en de boetes groot zijn. Maar voor een gewone mkb-site met een contactformulier is het geen raket. Je verzamelt een naam en een e-mailadres, je stuurt een e-mail terug, en je gooit het weg als de zaak is afgehandeld. Dat is het in de meeste gevallen.
Wat je wél moet doen is transparant zijn. Leg uit wat je doet. Sla niet meer op dan je nodig hebt. Zorg dat scripts pas laden als iemand daarmee akkoord gaat. En zorg dat je privacyverklaring klopt met de werkelijkheid.
De klant die me belde heeft inmiddels een werkende cookiebanner, een privacyverklaring die zijn eigen advocaat heeft nagelezen, en een formulier dat inzendingen na dertig dagen automatisch verwijdert. Dat heeft hem één middag gekost. De brief van zijn zakelijke relatie heeft hij beantwoord met een link naar de verklaring. Sindsdien geen vragen meer.
Dat is het doel: niet perfect, maar aantoonbaar serieus genomen.