Leestijd: 3 minuten

Iedereen zal het ermee eens zijn dat je voor het ontwikkelen, en met name het testen van informatieproducten in je BI-omgeving gegevens nodig hebt. En omdat je in een informatieproduct meestal grote hoeveelheden data verwerkt, heb je die vaak ook nodig in de ontwikkel- en testfase.

De oplossing die veel organisaties daarvoor hanteren ligt voor de hand: kopieer de data vanuit de productieomgeving naar de OTA-straat. Maar zodra er in die productiedata ook persoonsgegevens voorkomen, gaat deze manier van werken al snel in tegen wat de Autoriteit Persoonsgegevens (AP) zegt. Op de website van de AP staat namelijk dat het maar zeer beperkt is toegestaan om persoonsgegevens te gebruiken voor het (ontwikkelen en) testen van IT-toepassingen.

Privacyrisico’s in een OTA-omgeving

Wat is dan het bezwaar tegen het gebruik van persoonsgegevens? Dat zit hem in het borgen van de vertrouwelijkheid van die gegevens. In productieomgevingen zijn (persoons)gegevens normaal gesproken alleen toegankelijk voor degenen die de gegevens nodig hebben voor hun werk. Maar in OTA-omgevingen is het niet ongebruikelijk dat de autorisaties en beveiliging wat losser zijn ingeregeld. Daar komt bij dat je – met name in BI-omgevingen – grote hoeveelheden gegevens met elkaar kunt combineren, waardoor niet alleen meer inzichten ontstaan, maar ook extra privacyrisico’s.

Alhoewel ik de stelling van de AP wat ongenuanceerd vind, is er dus zeker wat voor te zeggen om voor OTA-omgevingen persoonsgegevens zoveel mogelijk te anonimiseren of synthetiseren. Ook sluit dat aan op het principe van dataminimalisatie: gebruik alleen persoonsgegevens als dit nodig is voor het bereiken van je doel. Als het doel – een goed werkend informatieproduct of IT-systeem – ook zonder het gebruik van persoonsgegevens kan worden gerealiseerd, dan moet je dat ook doen.

Anonimiseren of synthetiseren?

Er bestaan nogal wat misverstanden over het anonimiseren van persoonsgegevens. Veel mensen denken dat het voldoende is om zogenaamde identificerende gegevens zoals namen, klantnummers etc. te verwijderen uit je dataset. In de praktijk blijkt het echter vrij eenvoudig om, door verschillende datasets naast elkaar te leggen, toch te achterhalen op wie de geanonimiseerde gegevens betrekking hebben. Dit geldt al helemaal voor datasets binnen een en dezelfde organisatie. Uiteindelijk blijkt dat het écht anonimiseren van gegevens alleen mogelijk is door ze te aggregeren over een voldoende grote groep personen.

Maar geaggregeerde gegevens zijn meestal niet geschikt om mee te ontwikkelen en te testen, dus ben je aangewezen op het synthetiseren van persoonsgegevens: het genereren van een dataset op basis van fictieve gegevens. Niet alleen draagt dit bij aan een betere privacybescherming en verkleint dit het risico op datalekken, het synthetiseren van testdata heeft ook andere voordelen boven het gebruik van productiedata:

Van productie afgeleide dataSynthetische data
Bevat persoonsgegevens, dus AVG volledig van toepassingBevat geen persoonsgegevens, dus AVG niet van toepassing
Rechten van betrokkenen, bewaartermijnen, autorisatiemaatregelen etc. onverkort van toepassingRechten van betrokkenen, bewaartermijnen etc. niet van toepassing, minimale beveiliging vereist
Risico op datalekken blijft bestaanGeen risico met betrekking tot datalekken
Productiedata bevatten niet alle situaties waar je op wilt testenAlle mogelijke testcases in potentie beschikbaar
Beperkingen voor regressietesten (brondata wijzigt en is daarmee niet 100% vergelijkbaar)Ideaal voor regressietesten

De uitdagingen van synthetiseren

Zijn er dan geen nadelen verbonden aan het synthetiseren van data? Jawel: een kopie van de productieomgeving overzetten naar je OTA-straat is relatief eenvoudig, terwijl er nogal wat komt kijken bij het maken van een goede synthetische dataset. Een goede synthetische dataset bevat weliswaar fictieve gegevens, maar er dienen wel bepaalde overeenkomsten met productiedata te zijn. Zo moeten de verhoudingen tussen de verschillende data-objecten ongeveer dezelfde zijn als in productie. Als een klant bijvoorbeeld gemiddeld drie producten afneemt, maar nooit meer dan tien, dan wil je die verhouding grofweg laten terugkomen in je synthetische dataset. Ook moet de referentiële integriteit van je testdata natuurlijk gewaarborgd zijn. Daarmee bedoel ik dat de relatie tussen records in aan elkaar gerelateerde bronnen behouden moet blijven. Als je dus klantnummers gaat synthetiseren voor de data uit je CRM-applicatie, en je wilt die koppelen met de data uit je ordersysteem, moet je ervoor zorgen dat voor beide bronsystemen hetzelfde gesynthetiseerde klantnummer wordt gebruikt. Dit is een van de uitdagingen die het synthetiseren van data een complexe en uitdagende klus maken.

Conclusie

Er komt dus wel het een en ander kijken bij het genereren van een goede testdataset. Het begint altijd met een grondige data-analyse. Oké, het vraagt om een eenmalige (soms substantiële) investering, maar op lange termijn zijn de voordelen dusdanig dat het gebruik van synthetische data – zelfs zonder dat de AVG het verlangt – de voorkeur geniet boven het gebruik van productiedata.