Hoe log ik fouten zonder persoonsgegevens te loggen?
het heygrc team
Log minimale referenties en codes, niet de volledige inhoud. Registreer een verzoek-id of order-id, masker persoonsgerelateerde velden voordat iets wordt opgeslagen, en log nooit het volledige verzoek of gebruikersobject. Minder data en minder identificerende data loggen is waar GDPR-dataminimalisatie (Art. 5(1)(c)) om draait. Behandel een identifier die naar een persoon verwijst ook als persoonsgegevens en beperk het tot wat je daadwerkelijk nodig hebt voor onderzoek.
Log referenties, niet de inhoud
Registreer de minimale identifier die je nodig hebt om het probleem te onderzoeken (een verzoek-id, een order-id), niet het e-mailadres, adres of volledige body. Zelfs een identifier kan persoonsgegevens zijn als deze naar een persoon verwijst, dus log alleen genoeg om het probleem te traceren, niet de inhoud erachter.
Masker op de grens
Plaats het maskeren in de logger of een serializer, zodat persoonsgerelateerde velden worden verwijderd voordat iets wordt opgeslagen, in plaats van afhankelijk te zijn van elke oproeplocatie om dit te onthouden. Eén plek om het goed te doen is beter dan tientallen.
Log nooit het volledige object
Vermijd het loggen van het volledige verzoek, gebruiker of foutcontext als deze persoonsgegevens bevatten. Log de specifieke velden die je nodig hebt, zodat een handige éénregelige log niet stilletjes klantgegevens in je logs kopieert.
try { await createOrder(req)-} catch (e) { logger.error("checkout failed", { body: req }) }+} catch (e) { logger.error("checkout failed", { orderId: req.orderId, code: e.code }) }De log bewaart de referentie en de foutcode die je nodig hebt voor onderzoek, zonder de contact- en adresgegevens van de klant te kopiëren.