Tabel anonimiseren: CSV, TSV en XLSX
Tabel anonimiseren betekent in de praktijk: een register, een export of een uitdraai opschonen voordat je hem deelt. Deze tool leest CSV-, TSV- en XLSX-bestanden in je browser, herkent in elke kolom wat erin staat, en vervangt of schermt de gevoelige waarden af. Je ziet het resultaat eerst in een voorbeeld en downloadt daarna een nieuw bestand. Er is geen server die je bestand ontvangt.
Tabel anonimiseren zonder upload
Voor een PDF geldt de belofte dat het document je apparaat niet verlaat. Voor een tabel geldt precies dezelfde belofte, om dezelfde reden: het bestand wordt in je browser gelezen, verwerkt en geschreven. De beveiligingsregel van deze site staat verbindingen naar andere servers niet toe, en de verwerking van de tabel valt onder diezelfde regel. De enige uitzondering is wat je zelf typt in het contactformulier; dat vertrekt pas als je op de knop drukt.
Welke bestanden de tool wel en niet leest
De tool leest CSV, TSV en XLSX. Oudere indelingen en werkboeken met macro's weigert hij met een melding: bestanden met de extensie xls, xlsb of xlsm worden niet geopend. Dat is geen ongemak maar een keuze. Van een werkboek dat macro's kan bevatten kan de tool niet nagaan wat er precies in staat, en een half gelezen werkboek levert een uitvoer op die je niet kunt narekenen. Sla zo'n bestand eerst op als xlsx of als CSV.
10 manieren om een kolom te behandelen
Je stelt per kolom in wat er met de waarden gebeurt. Er zijn 10 mogelijkheden:
- Ongewijzigd laten. De waarde blijft staan; dit is de enige keuze die het gegevenstype bewaart.
- Begin en eind behouden.
A***B: een paar tekens blijven zichtbaar, de rest wordt sterretjes. - Alleen het eind behouden.
***AB, de laatste tekens blijven staan. - Alleen het begin behouden.
AB***, de eerste tekens blijven staan. - E-mailadres inkorten.
a****@domein.nl: het domein blijft, want dat deel deel je juist. - Vervangen door een code. Een code die met een geheime sleutel is berekend.
- Vervangen door een volgnummer.
PERSOON_1,PERSOON_2, enzovoort; één waarde houdt één nummer. - Vervangen door een willekeurige code. Voor elke cel een nieuwe code, juist om geen verband te laten zien.
- Leegmaken. De waarde verdwijnt.
- Vaste tekst. Een tekst die jij opgeeft, bijvoorbeeld de grond van een Woo-besluit.
Waarom een BSN standaard een code wordt
Voor een BSN, een IBAN, een KVK-nummer, een patiëntnummer, een verzekerdennummer, een zaaknummer en een telefoonnummer kiest de tool standaard voor een code, niet voor een sterretje dat een paar tekens laat staan. De reden is dat zulke nummers weinig mogelijkheden hebben. Een BSN heeft negen cijfers en een vaste cijfercontrole. Laat je er twee van staan, dan blijven er ongeveer tien miljoen kandidaten over. Dat is niet weg te strepen met een blok: het is een puzzel die iemand met een script zo oplost. Voor vrije tekst, zoals een naam of een adres, is een sterretje in het midden wel een redelijke keuze, want daar is geen klein rijtje mogelijkheden om te proberen.
Een code is gepseudonimiseerd, niet anoniem
Dat onderscheid is belangrijk en de tool verwoordt het liever precies. Een code is gepseudonimiseerd: de waarde is vervangen door een code van 16 tekens die met een geheime sleutel is berekend, en zonder die sleutel is de code niet terug te rekenen. Maar wie de sleutel wel heeft, vindt een kort nummer als een BSN razendsnel terug, omdat er zo weinig mogelijkheden zijn om te proberen. De sleutel blijft daarom in je browser, wordt nergens bewaard en staat niet in de uitvoer. Dit is pseudonimisering, geen anonimisering: het verbergt de waarde, het maakt haar niet onvindbaar voor iemand met de sleutel.
De sleutel: per sessie, of je eigen wachtwoord
Standaard maakt de tool bij elke sessie een nieuwe sleutel, in je browser. Verwerk je hetzelfde bestand later opnieuw, dan krijgt het andere codes. Wil je dezelfde waarden later opnieuw kunnen krijgen, geef dan een eigen wachtwoord op. De sleutel wordt dan uit dat wachtwoord en de sessiesleutel samen berekend, en de bescherming hangt vanaf dat moment af van hoe sterk je wachtwoord is. De tool zegt dat er ook bij, zodat je die afweging zelf kunt maken.
Drie manieren om waarden te koppelen
De drie keuzes die een code of een volgnummer opleveren, doen niet hetzelfde, en dat verschil is de moeite waard om te kennen.
- Een code laat dezelfde waarde op twee plekken dezelfde code krijgen. Twee regels over dezelfde persoon blijven dus zichtbaar aan elkaar gekoppeld, zonder dat je ziet wie het is.
- Een volgnummer doet dat ook, maar is de zwakste van de drie: het is een gewoon doorlopend nummer, en wie de lijst met nummers in handen krijgt, kan het zo terugdraaien.
- Een willekeurige code breekt die koppeling juist. Dezelfde waarde krijgt op twee plekken een andere code, zodat niemand kan zien dat het om dezelfde persoon gaat. Kies dit als het verband tussen de regels zelf gevoelig is.
Het voorbeeld is het echte werk
De eerste 10 regels die je in het voorbeeld ziet, komen uit precies dezelfde berekening als het bestand dat je downloadt. De tool rekent het voorbeeld niet na in een tweede programma, dus het voorbeeld kan niet iets anders laten zien dan de uitvoer. Wat je controleert, is wat je krijgt.
De uitvoer is gegevens, geen kopie van je werkboek
Dit is het grootste verschil met "opslaan als" in een spreadsheetprogramma. De tool bouwt een nieuw, zo klein mogelijk bestand op met alleen het werkblad dat je hebt ingesteld. Alles wat er verder in het origineel zat, gaat niet mee: opmaak, kleuren, lettertypen, getalnotaties, voorwaardelijke opmaak, formules, afbeeldingen, grafieken, macro's, andere werkbladen en verborgen werkbladen. Dat is expres. Een verborgen werkblad met daarin de onbewerkte gegevens is het tabel-equivalent van een zwarte rechthoek over leesbare tekst: het lijkt verborgen, maar het gaat gewoon mee. Van een formule schrijft de tool de uitkomst als gewone tekst.
Formules in een CSV
Een CSV-bestand is bedoeld om in een spreadsheet te openen, en een veld dat begint met een van de tekens waarmee een formule begint, zoals =, +, - of @, zou daar uitgevoerd kunnen worden. De tool zet er een apostrof voor, zodat het als tekst wordt gelezen. De uitvoer is UTF-8 met een merkteken vooraan, zodat Excel-NL de accenten bij een dubbelklik goed leest. Dit is de enige plek waar de tool tekst aanpast die je niet hebt gemarkeerd, en het staat standaard aan.
Grote bestanden: rij voor rij, met een grens
De tool leest en schrijft rij voor rij. Er wordt nooit een volledige tabel in het geheugen gezet: op elk moment is één rij aan de beurt, naast het bestand dat je aanvoerde en het bestand dat eruit komt. Boven de 50 MiB waarschuwt de tool dat het verwerken traag kan worden; boven de 250 MiB weigert hij het bestand, nog voordat het wordt ingelezen. Bij een XLSX-bestand komt daar een tweede grens bij: de lijst met alle unieke teksten uit het werkboek wordt in het geheugen gehouden. Een werkboek dat daardoor te veel geheugen zou vragen, wordt vooraf geweigerd: de tool leest de inhoudsopgave van het bestand en ziet dat aankomen voordat er iets wordt ingelezen. Sla zo'n werkboek op als CSV; een CSV- of TSV-bestand heeft dit probleem niet.
De profielen
De basistabel is altijd van toepassing. Daarnaast kent de tool 3 profielen die de standaardkeuze voor één kolom aanpassen:
- Standaard — de basis: identificerende nummers worden een code, namen, adressen en bedragen deels afgeschermd en e-mailadressen ingekort.
- Juridisch — zaaknummers worden volgnummers met het voorvoegsel ZAAK, zodat het stuk leesbaar blijft zonder het onderliggende nummer prijs te geven.
- Zorg / WGBO — patiëntnummers worden volgnummers met het voorvoegsel PATIËNT, zodat het dossier leesbaar blijft voor wie de patiënt behandelt.
Omdat een profiel precies één kolom aanpast, verschijnt het alleen als je bestand zo'n kolom heeft: zonder zaak- of patiëntnummers blijft de profielkeuze weg, want er valt niets te kiezen. Een profiel is een beginpunt, geen beslissing: je kunt elke kolom daarna nog aanpassen.
Wat de tool niet doet
- Hij herkent geen gevoelige waarden in een afbeelding of een grafiek; die worden niet gelezen en niet overgezet.
- Hij opent geen werkboek dat met een wachtwoord is beveiligd.
- Hij beoordeelt niet of je de gegevens mocht delen. Die afweging blijft bij jou en je organisatie.
- Hij stuurt niets naar buiten. De enige uitzondering is wat je zelf typt in het contactformulier.
Zo ga je te werk
- Sleep je bestand in het venster of kies het. De tool leest het en toont de opbouw.
- Controleer het scheidingsteken, de kopregel en het profiel, en bij meerdere werkbladen welk werkblad je verwerkt.
- Stel per kolom in wat er met de waarden gebeurt. Het voorbeeld eronder loopt mee.
- Download het nieuwe bestand. Het origineel blijft ongewijzigd.
Heb je een PDF in plaats van een tabel? Gebruik dan de PDF-tool op de beginpagina. Die werkt met dezelfde belofte: je bestand blijft op je eigen apparaat. En heb je een Word-document in plaats van een tabel? Lees dan hoe je een Word-document anonimiseert.
Veelgestelde vragen
Wordt mijn tabel geüpload?
Nee. De tool leest het bestand in je browser en schrijft het nieuwe bestand ook daar. Er is geen server die het ontvangt, en de beveiligingsregel van deze site staat verbindingen naar andere servers niet toe. De enige uitzondering is wat je zelf typt in het contactformulier.
Waarom worden xls- en xlsm-bestanden geweigerd?
De tool weigert bestanden met de extensie xls, xlsb of xlsm, met een melding. Het gaat om een oudere indeling of om een werkboek dat macro's kan bevatten. De tool kan dan niet nagaan wat er precies in het bestand staat, en een half gelezen werkboek levert een uitvoer op die je niet kunt narekenen. Sla het bestand eerst op als xlsx of als CSV.
Wat betekent het als een BSN een code wordt?
De waarde wordt vervangen door een code die met een geheime sleutel is berekend. Zonder die sleutel is de code niet terug te rekenen. Let op wat dat wel en niet betekent: dit is pseudonimisering, geen anonimisering. Wie de sleutel heeft, vindt een kort nummer als een BSN razendsnel terug. De sleutel blijft daarom in je browser en wordt niet bewaard.
Krijg ik hetzelfde bestand als ik het opnieuw verwerk?
De waarden wel, het bestand niet. Met dezelfde sleutel krijgt dezelfde waarde dezelfde code, dus de cellen komen overeen. Een XLSX-bestand is nooit precies hetzelfde bestand, omdat het bij elke keer nieuwe interne nummers krijgt. Met de sleutel van deze sessie lukt opnieuw verwerken niet: die is na de sessie verdwenen. Geef een eigen wachtwoord op als je later hetzelfde resultaat wilt.
Blijven de opmaak en de formules van mijn werkboek bewaard?
Nee. De uitvoer is een gegevensbestand, geen kopie van je werkboek. Kleuren, lettertypen, getalnotaties, voorwaardelijke opmaak, formules, afbeeldingen, grafieken en macro's gaan niet mee. Van een formule wordt de uitkomst als gewone tekst geschreven. Wil je de opmaak bewaren, dan heb je het originele bestand nodig, en dat is juist het bestand dat je niet hoort te publiceren.
Wat gebeurt er met de werkbladen die ik niet instel?
Die komen niet in de uitvoer. De tool schrijft alleen het werkblad dat je hebt gekozen. Andere werkbladen, ook verborgen werkbladen, worden niet overgezet. Dat is expres: een verborgen werkblad met daarin de onbewerkte gegevens zou anders ongezien met je publicatie meegaan.
Is er een limiet aan de grootte van mijn tabel?
Boven de 50 MiB waarschuwt de tool dat het verwerken traag kan worden. Boven de 250 MiB weigert hij het bestand, nog voordat het wordt ingelezen. Bij een XLSX-bestand komt daar een tweede grens bij: de lijst met alle unieke teksten uit het werkboek wordt in het geheugen gehouden. Een CSV- of TSV-bestand heeft dat probleem niet en wordt rij voor rij verwerkt.
Probeer het met je eigen bestand
Open de toolJe bestand blijft op je eigen apparaat. Er wordt niets verstuurd en niets opgeslagen.
Verder lezen
- Hoe werkt PDF anonimiseren? UitgelegdVan tekstlaag tot export: hoe de analyse werkt, wat de zekerheidsniveaus betekenen, en wat er met je bestand gebeurt als je op exporteren klikt.
- Veelgestelde vragen: PDF anonimiserenWordt mijn PDF geüpload? Hoe werkt de analyse? Wat gebeurt er met metadata? De antwoorden op de vragen die het vaakst gesteld worden.
- Zwarte balk of echte redactie in PDF?Een zwart blok op tekst laat de letters in het bestand staan. Een zwart blok op een gat is echte redactie. Hoe je het verschil in tien seconden ziet.
- Privacy: PDF anonimiseren zonder uploadWat deze site met je gegevens doet, en vooral wat hij niet doet. Geen bestanden naar een server, geen tracking-cookies, geen bezoekersstatistiek.