Marketing Scandigitale scan
Vertrouwen & veiligheid

Een testomgeving bevat echte klantgegevens

7 november 2026 · 7 min leestijd · Marketing Scan

Een testomgeving is vaak een kopie van de live website, inclusief klantenlijsten, bestellingen en formulierinzendingen. Zolang alleen je eigen team erbij kan, voelt dat onschuldig. Zodra een externe ontwikkelaar, freelancer of testklant meekijkt, wordt het een ander verhaal. Deze gids geeft je een controleprocedure in zes stappen: eerst vaststellen welke persoonsgegevens er staan, dan de bereikbaarheid beperken, de data vervangen door fixtures en de overdracht afronden. Het is een werkmethode voor je eigen controle, geen juridisch advies. Of jouw situatie aan wettelijke eisen voldoet, bespreek je met een jurist of je functionaris gegevensbescherming.
In dit artikel

Stap 1: stel vast wat er werkelijk in de testomgeving staat

Begin met een inventaris, niet met een oplossing. Veel kmo's weten niet precies wat er bij een kopie van de database is meegekomen. Loop deze plekken na:

  • Database: klant-, bestel-, abonnee- en gebruikerstabellen, maar ook logtabellen en formuliertabellen met vrije tekstvelden.
  • Bestanden: uploads, facturen als pdf, exports in csv of xlsx die iemand ooit in een map liet staan.
  • Koppelingen: verbindingen met mailtools, betaalproviders, CRM en voorraadsystemen. Een testomgeving met live sleutels kan echte mails versturen of echte betalingen aanraken.
  • Back-ups en logbestanden: ook die bevatten vaak volledige gegevens.

Noteer per plek: welk type gegeven (naam, e-mailadres, adres, telefoonnummer, bestelhistoriek), waar het staat en wie er nu toegang toe heeft. Dit lijstje is straks je overdrachtsdocument.

Stap 2: beperk wie de testomgeving kan bereiken

Een testomgeving op een gewone, openbare URL is voor iedereen bereikbaar die het adres kent of raadt. Beperk dat vóór je iets anders doet. Je kiest uit meerdere lagen, en ze vullen elkaar aan:

  • Toegangscontrole op serverniveau: een inlog of IP-beperking vóór de website, zodat de pagina's niet eens laden zonder toestemming.
  • Aparte accounts per persoon: geen gedeeld wachtwoord dat rondgaat.
  • Sterke verificatie: de MDN-beveiligingsgids adviseert om gebruikers niet alleen met een wachtwoord te laten inloggen, en noemt passkeys als sterkste methode en tijdgebonden eenmalige codes (TOTP) als veiliger dan traditionele wachtwoorden (MDN over webbeveiliging).
  • Een tijdelijke toegang: spreek vooraf af wanneer een account vervalt.

Let op een veelgemaakte denkfout: robots.txt is geen toegangscontrole. Het regelt wat crawlers mogen ophalen, maar blokkeert geen mens met de URL en garandeert niet dat een pagina uit een zoekindex wegblijft. Een gewone browsercontrole bewijst bovendien niets over wat Googlebot kan bereiken. Beveilig daarom met authenticatie, niet met een crawlverbod.

Stap 3: zet tweestapsverificatie aan op de accounts rond de omgeving

De testomgeving is zo veilig als de accounts die erbij kunnen: hostingpaneel, repository, CMS-beheer en de mailbox waarop wachtwoorden worden hersteld. Bij Google-accounts werkt tweestapsverificatie als extra laag voor het geval een wachtwoord wordt gestolen. Volgens de bron zet je dat aan via de beveiligingsinstellingen van je account, en bij een account via werk of school kan je beheerder dit beperken (Google over tweestapsverificatie).

Twee nuances uit die bron zijn handig voor je beleid. Een toegangssleutel slaat de tweede stap over omdat het apparaat zelf de verificatie levert. En een nieuw telefoonnummer voor de tweede stap kan tot 7 dagen nodig hebben voor Google het vertrouwt. Leg dus geen kritieke toegang vast op een nummer dat je net hebt toegevoegd. Voor andere diensten (hosting, CMS, repository) geldt dat de schermen en opties verschillen: controleer in de beheerinstellingen van elke dienst wat beschikbaar is.

Stap 4: vervang echte data door veilige fixtures

Toegangsbeperking is een eerste hek. Het echte probleem verdwijnt pas als de gegevens er niet meer staan. Een fixture is een vaste, verzonnen testdataset die je zelf onderhoudt. Zo werk je:

  1. Maak een nieuwe, lege testdatabase aan in plaats van de live database te kopiëren.
  2. Laad een fixtureset met duidelijk verzonnen klanten, bijvoorbeeld namen als 'Testklant 001' en adressen op een eigen testdomein.
  3. Dek de gevallen af die je moet testen: klant met meerdere bestellingen, klant zonder adres, bestelling met kortingscode, geannuleerde bestelling, buitenlands adres.
  4. Gebruik testsleutels bij betaal- en mailkoppelingen, zodat er nooit een echte klant een bericht krijgt.
  5. Kun je een structuur enkel testen met afgeleide echte data, anonimiseer dan vóór het kopiëren en niet erna: vervang namen, e-mailadressen, telefoonnummers en vrije tekstvelden. Controleer daarna steekproefsgewijs of er nog herkenbare gegevens in logtabellen of opmerkingvelden zitten.

Controleer ook of oude kopieën, exports en back-ups van vóór de opschoning nog ergens staan. Die zijn vaak vergeten en bevatten dan nog altijd de volledige gegevens.

Beslisblad: wie krijgt welke toegang?

Gebruik deze matrix vóór je iemand uitnodigt. Ze is bedoeld als eigen werkinstrument en geen juridische beoordeling.

SituatieData in de omgevingBeslissing
Eigen medewerker test een nieuwe functieFixturesToegang met persoonlijk account en tweede stap
Externe ontwikkelaar of freelancerFixturesToegang met eigen account, einddatum en logging
Externe vraagt om 'echte data om realistisch te testen'Echte gegevensEerst anonimiseren. Lukt dat niet, dan geen toegang tot die data
Testklant of leverancier wil de omgeving bekijkenFixturesAlleen via afgeschermde toegang, nooit via een openbare link
Je weet niet wat er in de kopie zitOnbekendAlle externe toegang pauzeren tot de inventaris uit stap 1 klaar is

Fictief overdrachtsvoorbeeld en controle na de wijziging

Een fictief scenario, alleen als invoer en verwachte controles: een kmo laat een webshop door een externe partij herbouwen. De testomgeving blijkt een kopie van de live database te zijn met ongeveer 'enkele honderden' klantrecords (een bewust vaag, verzonnen gegeven). Het team gaat zo te werk:

  1. Bestaande externe toegang wordt meteen ingetrokken en de inventaris uit stap 1 wordt ingevuld.
  2. De omgeving wordt achter een inlog gezet.
  3. De database wordt vervangen door een fixtureset van testklanten.
  4. Koppelingen krijgen testsleutels.
  5. Pas daarna wordt per externe een eigen account met einddatum aangemaakt.

Controle na wijziging (jij voert die zelf uit):

  • Open de testomgeving in een privévenster zonder inlog en ook vanaf een ander netwerk: je mag geen inhoud zien. Dit bewijst alleen dat mensen er niet in kunnen, niet wat een crawler kan bereiken.
  • Doorzoek de testdatabase op een bekend echt e-mailadres en op je eigen domein: je verwacht geen treffers.
  • Controleer eerst dat alle koppelingen testsleutels gebruiken. Verstuur dan een testbestelling met een uniek, verzonnen testadres en controleer dat er geen echte mail of betaling vertrekt en dat de bestelling maar één keer is opgeslagen, ook als er een time-out of foutmelding verscheen.
  • Zoek in logs en exportmappen naar oude kopieën.
  • Controleer in Google Search Console met URL-inspectie (geïndexeerde versie, niet de livetest) of testpagina's ooit zijn geïndexeerd. Of dat gebeurd is, hangt af van wat eerder bereikbaar was; een livetest toont dat niet.
  • Plan een datum om accounts van externen op te ruimen.

Wil je ook zien welke publieke signalen je website uitstraalt, bekijk ze dan via Marketing Scan. De scan meet zichtbare signalen en bewijst geen volledige technische implementatie, en voert niet alle bovenstaande controles uit.

Veelgestelde vragen.

Is een wachtwoord op de testomgeving genoeg?

Het is een begin, maar het lost het datarisico niet op. Het wachtwoord kan gedeeld worden en de echte klantgegevens staan er nog. Combineer toegangscontrole altijd met het vervangen van de data door fixtures.

Kan ik de testomgeving gewoon via robots.txt afschermen?

Nee. Robots.txt regelt het crawlen door bots die zich eraan houden, maar het is geen beveiliging en garandeert niet dat pagina's uit een zoekindex wegblijven. Een mens met de URL komt er gewoon in.

Wat als een externe partij zegt dat hij echte data nodig heeft?

Vraag eerst welk gedrag hij precies wil testen en bouw daarvoor een fixture. Is afgeleide data echt nodig, anonimiseer dan vóór het delen en controleer steekproefsgewijs. Of een bepaalde verwerking mag, bespreek je met een jurist.

Wanneer is de opruiming klaar?

Als er geen echte persoonsgegevens meer staan in database, bestanden, logs en back-ups van de testomgeving, en als alle externe accounts een einddatum hebben. Noteer dit in je overdrachtsdocument zodat de volgende persoon het kan nalopen.

Bronnen bij dit artikel

Hoe werkt een marketing scan? Meetmethode en grenzen

Van advies naar actie voor jouw website

Maak een gratis account voor één website. Controleer zes kenmerken van je homepage en bekijk maximaal drie bevindingen.

Herhaal de check handmatig één keer per zeven dagen. Voor volledige audits en automatische opvolging is uitgebreide toegang nodig.

Maak je gratis account

Bekijk wat de check meet

Wat zaakvoerders hierover vragen

  • Is mijn website kwetsbaar voor het PHP-lek?

    Op 21 oktober 2026 raakten twee kritieke lekken in PHP bekend (php2shell). Dit zijn de vragen die zaakvoerders er nu over stellen, kort beantwoord.

    Is mijn website kwetsbaar voor het PHP-lek? · Wat is php2shell? · Welke PHP-versie is veilig? · en 7 meer

  • Is mijn website veilig en betrouwbaar?

    Klanten controleren dit in een oogopslag: het slotje, een echte contactpagina, een cookiemelding die klopt. Zo doe je het goed.

    Hoe weet ik of mijn website veilig is? · Hoe ziet een klant of mijn website te vertrouwen is? · Is een cookiemelding verplicht in België? · en 1 meer

  • Waarom komt mijn e-mail in spam?

    Onze scan controleert SPF, DKIM en DMARC omdat een mail die niet aankomt de duurste mail is die je stuurt.

    Waarom komt mijn e-mail in de spam van de ontvanger? · Wat zijn SPF, DKIM en DMARC in gewone taal? · Hoe controleer ik of mijn e-mailinstellingen goed staan? · en 1 meer

Het cijfer uit ons onderzoek

  • 30%

    van 1505 kmo-sites heeft vertrouwen en veiligheid in de drie zwaarste werkpunten.

    Lees het onderzoek
  • 16,5%

    van 1505 kmo-sites heeft e-mailbezorging in de drie zwaarste werkpunten.

    Lees het onderzoek

Meer over vertrouwen & veiligheid.

Vertrouwen & veiligheid

Bestanden via een tijdelijke link delen: controleplan

Test wie je gedeelde link echt kan openen, of je toegang kunt intrekken en wat er vervalt, zonder persoonsgegevens in de URL te zetten.

· 6 min leestijd

Vertrouwen & veiligheid

Een nephelpdesk vraagt toegang tot je bedrijfsaccount

Een vermeende helpdesk vraagt toegang tot je bedrijfsaccount? Controleer eerst via een kanaal dat je zelf kent, voordat je een code of schermtoegang deelt.

· 7 min leestijd

Vertrouwen & veiligheid

Een verwijderde medewerker heeft nog browsersessies

Test of sessies van een vertrekkende medewerker echt eindigen en controleer gedelegeerde toegang, herstelgegevens en gekoppelde apps met een vaste procedure.

· 6 min leestijd

Vertrouwen & veiligheid

Een wachtwoordmanager invoeren bij een klein team

Een praktische procedure voor een kleine organisatie: eigendom en rollen vastleggen, herstelafspraken maken en delen testen zonder onbeveiligde exportbestanden.

· 7 min leestijd

Reviews & reputatie

Review bevat een ordernummer: veilig reageren

Een klant zet een ordernummer in een Google-review? Zo reageer je zonder gegevens te herhalen en verplaats je de verificatie naar een privékanaal.

· 7 min leestijd

Vindbaarheid & SEO

Loodgieter lokaal vindbaar per echte dienst

Hoe word ik als loodgieter gevonden voor de juiste klussen? Maak aparte, concrete pagina's voor lekdetectie, ketelonderhoud en sanitair als je die diensten…

· 3 min leestijd