Kennisartikel

Audit logging: wie deed wat, en wanneer?

Maandagochtend, koffie in de hand, en er is een klant uit het systeem verdwenen. Iedereen kijkt elkaar aan, niemand weet van iets. Met een goede audit log is dat mysterie binnen een minuut opgelost, en daarom hoort hij wat ons betreft in elke zakelijke applicatie.

Audit logging: wie deed wat, en wanneer?
Quality AssuranceSoftwareDevelopment
8 minuten
Wat is audit logging?

Wat is audit logging?

Audit logging is het automatisch bijhouden van wie wat doet in je software. Elke belangrijke actie krijgt een regel in een logboek: wie het deed, wat er veranderde, wanneer en vanaf waar. Dat logboek heet een audit log, of ook wel audit trail.

Zie het als de zwarte doos van een vliegtuig. Die registreert de hele vlucht, maar je kijkt er pas in als er iets geks gebeurt. Op dat moment wil je wel dat alles erin staat. Een audit log doet hetzelfde voor je applicatie, alleen hoef je er geen duikers voor in te huren.

Een regel uit zo'n logboek ziet er ongeveer zo uit:

14-10-2026 09:42 | s.dekker | factuur F-0381 gewijzigd | bedrag: € 1.250 → € 1.520

Geen detectivewerk, geen rondvraag bij de koffieautomaat. Gewoon zwart op wit.

Audit log vs systeemlog

"Maar mijn software logt toch al van alles?" Klopt, en dat is ook goed. Alleen zijn dat meestal systeemlogs, en die vertellen een ander verhaal.

Systeemlog

Systeemlogs gaan over de software zelf. Een foutmelding, een trage database, een server die even opnieuw opstart. Handig voor developers, en na een paar weken mogen ze meestal weg.

Audit log

Een audit log gaat over mensen en wat ze doen. Denk aan: wie logde in, wie paste welke gegevens aan en wie draaide die export van de hele klantenlijst. Dat bewaar je veel langer, soms jaren.

Het grote verschil: niet gummen

Systeemlogs mag je opschonen. Een audit log moet onveranderbaar zijn. Een logboek dat je achteraf kunt aanpassen, is net zo betrouwbaar als een dagboek in potlood.

Waarom zou je een audit log willen?

Audit logging klinkt als iets voor de compliance-afdeling. In de praktijk is het vooral iets dat je dagelijks rust geeft.

Snel antwoord bij foutjes

Een klant belt dat zijn adres niet klopt. Je ziet direct wie het wijzigde en wat er eerst stond. Terugzetten, klaar. Geen schuldvraag, gewoon een oplossing.

Een extra paar ogen op je beveiliging

Logt er om drie uur 's nachts iemand in vanuit een onbekend land en downloadt die meteen alle klantgegevens? Dat zie je terug. Met een paar slimme meldingen zie je het zelfs op het moment zelf.

Feiten in plaats van aannames

Als er iets misgaat, draait het gesprek om wat er écht gebeurde. Dat haalt de spanning uit lastige situaties en beschermt ook je collega's tegen onterechte verdenkingen.

Aantoonbaar op orde

Voor veel certificeringen en wetten is een audit log geen luxe, maar een eis. Daarover hieronder meer.

Verplicht audit logging

Werk je met gevoelige data of wil je een certificering halen? Dan kom je audit logging vroeg of laat tegen. Auditors (de externe controleurs die je certificering toetsen) willen namelijk zien dat je kunt aantonen wie wat deed. "Dat weten we wel ongeveer" is daarbij geen sterk antwoord.

Dé internationale norm voor informatiebeveiliging. In de versie van 2022 staat logging als aparte maatregel benoemd: je legt activiteiten, fouten en beveiligingsgebeurtenissen vast, beschermt die logs en analyseert ze.

De AVG (de Europese privacywet) schrijft geen audit log letterlijk voor. Wel moet je kunnen aantonen dat je zorgvuldig met persoonsgegevens omgaat. Een audit log is daarvoor het handigste bewijsstuk dat je kunt hebben.

Als er iets misgaat, draait het gesprek om wat er écht gebeurde. Dat haalt de spanning uit lastige situaties en beschermt ook je collega's tegen onterechte verdenkingen.

Wij spreken hier uit ervaring: CBYTE is zelf ISO 27001:2022- en NEN 7510:2024-gecertificeerd. We weten dus hoe het voelt als de auditor om je logs vraagt.

Geanonimiseerd loggen: kan dat?

Geanonimiseerd loggen: kan dat?

Zeker. Soms wil je wél weten wát er gebeurt, maar hoeft niet iedereen te zien wíe het deed. Dan log je de activiteiten, maar koppel je ze niet direct aan een persoon.

Wat leg je dan vast?

Precies dezelfde activiteiten als bij een gewone audit log:

  • Aanmaken: een nieuwe klant, order of afspraak.

  • Mutaties: een gewijzigd adres, bedrag of status, met de oude en nieuwe waarde.

  • Verwijderen: welk record verdween en wanneer.

  • Inzien en exporteren: wie keek in een dossier of trok een lijst uit het systeem.

Alleen staat er bij "wie" geen naam, maar een code. In plaats van s.dekker lees je bijvoorbeeld gebruiker 7F3A.

De koppeling tussen code en persoon bewaar je apart, goed beveiligd, en alleen een paar mensen mogen erbij.

Anoniem of pseudoniem?

Een klein maar belangrijk verschil. Kun je de code nog terugherleiden naar een persoon, dan heet dat pseudonimiseren. Kan het écht nooit meer, dan is het anonimiseren. Let op: volgens de AVG blijven gepseudonimiseerde gegevens gewoon persoonsgegevens. De sleutel bewaar je dus net zo zorgvuldig als de data zelf.

Wanneer is dit handig?

  • Je wilt het gebruik van je applicatie analyseren, zonder dat het een prestatiemeting van individuele collega's wordt.

  • Je deelt logs met een externe partij, zoals een leverancier of onderzoeker.

  • Je wilt zo min mogelijk persoonsgegevens verwerken, precies zoals de AVG het graag ziet.

  • Je ondernemingsraad wil weten hoe je de privacy van medewerkers beschermt.

Voor verantwoording is pseudonimiseren meestal de beste keuze. In het dagelijks gebruik blijft het anoniem, en bij een incident kan een bevoegde persoon het toch nog uitzoeken. Het beste van twee werelden.

Zo pak je logging slim aan

Audit logging bouwen is geen raketwetenschap. Het verschil tussen een logboek waar je iets aan hebt en een berg onleesbare regels zit in een paar keuzes.

Begin op dag één

Achteraf inbouwen kan, maar dan moet je elke plek in de software langs waar data verandert. Neem het daarom direct mee in het ontwerp. Dat scheelt later veel puzzelwerk.

Alleen achteraan schrijven

Sla je logs op in een aparte opslag waar je alleen regels kunt toevoegen. Denk aan een notitieboek met genummerde pagina's: je schrijft er alleen achteraan bij. Zelfs een beheerder met alle rechten kan zo niets stilletjes aanpassen.

Gevoelige inhoud blijft buiten de deur

Je logt dát iemand een dossier opende, niet wat erin stond. Wachtwoorden, BSN-nummers en medische details horen in je database, niet in je logboek.

Maak het leesbaar voor iedereen

Een logboek dat alleen een developer snapt, helpt je supportteam niet. Een overzicht in de applicatie zelf, met filters op gebruiker, datum of klant, maakt het voor iedereen bruikbaar.

Zo doen we het zelf

Voor onze zorgprojecten bouwden we een NEN 7513-conform audit-logging package voor Laravel (een veelgebruikt framework, oftewel bouwpakket, voor webapplicaties). Het legt automatisch vast wanneer gegevens worden aangemaakt, gewijzigd of verwijderd, maskeert gevoelige velden en ruimt oude logs op volgens een bewaartermijn die je zelf instelt. Er zit ook een dashboard bij om logs te bekijken en te exporteren. We delen het open source, dus iedere developer mag het gratis gebruiken.

Kortom: zwarte doos, rustige maandag

Terug naar die maandagochtend en de verdwenen klant. Met een audit log is dat geen whodunit meer, maar een kwestie van even opzoeken. Je weet wie, wat en wanneer, zet het terug en drinkt je koffie nog warm op.

Aan de slag met audit logging in je eigen software? We denken graag met je mee over wat je vastlegt, hoe lang je het bewaart en hoe je het netjes binnen de regels houdt.

Veelgestelde vragen over audit logging

Niet voor iedereen bij wet. Wil je ISO 27001, NEN 7510 of NEN 7513 halen, dan kun je er niet omheen. Ook voor de AVG is het vaak de makkelijkste manier om aan te tonen dat je het goed geregeld hebt.

In de praktijk bedoelen mensen hetzelfde. De audit log is het logboek, de audit trail is het spoor dat je erin kunt volgen.

Dat hangt af van je sector en de normen waar je aan voldoet. Spreek het vooraf af en leg het vast. Belangrijk: niet langer dan nodig, want ook dat vraagt de AVG.

Ja. Het kost wat meer werk dan bij nieuwe software, omdat je elke plek langs moet waar data verandert. Met een kant-en-klaar package gaat het een stuk sneller.

Nauwelijks, als je het goed bouwt. Je kunt logregels op de achtergrond laten wegschrijven, zodat de gebruiker er niets van merkt.

Liever niet. Een audit log is pas betrouwbaar als niemand erin kan gummen. Opschonen gebeurt automatisch, zodra de afgesproken bewaartermijn voorbij is.

Volledig anoniem meestal niet, want een auditor wil dat je bij een incident kunt herleiden wie het was. Gepseudonimiseerd loggen, met een goed beveiligde sleutel, combineert privacy en verantwoording wel.

Laten we iets bouwen dat werkt.

CBYTE is op zijn best als er een uitdaging op tafel ligt. Deel die van jou, dan kijken we samen naar de mogelijkheden.

Stuur ons een bericht

Liever gewoon
een gesprek?

Chiel denkt graag met je mee.

Liever gewoon
een gesprek?