Een audit log is een doorlopend record met tijdstempels van betekenisvolle acties in een systeem: wie inlogde, wie een prijs wijzigde, wie een klant verwijderde. Elke regel vertelt wie het deed en precies wanneer, zodat je de geschiedenis nog lang na het moment kunt teruglezen.
Zie het als het bezoekersboek bij een receptie. Iedereen die binnenkomt zet zijn naam en de tijd erbij, zodat je weken later de vraag kunt beantwoorden: ‘wie was die middag in het pand?’ Een audit log doet hetzelfde voor software, alleen legt hij klikken en wijzigingen vast in plaats van handtekeningen. Als een record opeens verdwijnt, is het log de eerste plek waar iemand kijkt. Het werkt nauw samen met toegangscontrole, die bepaalt wat mensen mogen doen, terwijl de audit log vastlegt wat ze daadwerkelijk deden.
Het belangrijke detail is dat een echte audit log append-only is. Je kunt regels toevoegen maar niet stilletjes wijzigen, en dat maakt hem betrouwbaar als bewijs na een datalek. De bredere, gebruikersgerichte versie van dit idee heet vaak een audit trail.
Er valt een balans te zoeken in wat je vastlegt. Log je te weinig, dan ontbreekt net het stukje dat je nodig hebt; log je elke toetsaanslag, dan verdrinkt de ene gebeurtenis die telt in de ruis, en bewaar je bovendien data die je misschien niet mag bewaren. De gezonde lijn is de acties vastleggen die de staat veranderen of gevoelige data raken, met genoeg context om gebeurtenissen te reconstrueren maar niet meer.
Bij TopDevs bouwen we audit logging in de systemen die we opleveren, zodat je altijd een duidelijk, niet te manipuleren antwoord hebt op de vraag ‘wie heeft dit gewijzigd, en wanneer?’