Jak rejestrować błędy bez rejestrowania danych osobowych?
zespół heygrc
Rejestruj minimalne referencje i kody, a nie pełne treści. Zapisz identyfikator żądania lub zamówienia, usuń pola osobowe przed zapisem, i nigdy nie rejestruj całego żądania ani obiektu użytkownika. Rejestrowanie mniejszej ilości danych, zwłaszcza mniej identyfikujących, to istota zasady minimalizacji danych RODO (Art. 5(1)(c)). Traktuj identyfikator wskazujący na osobę również jako dane osobowe i ogranicz się do tego, co jest naprawdę potrzebne do zbadania problemu.
Rejestruj referencje, a nie treści
Zapisz minimalny identyfikator potrzebny do zbadania problemu (identyfikator żądania, zamówienia), a nie adres e-mail, adres lub pełną treść. Nawet identyfikator może być daną osobową, jeśli wskazuje na osobę, dlatego rejestruj tylko tyle, aby można było śledzić problem, a nie treści za nim ukryte.
Usuwaj dane na granicy
Umieść usuwanie danych w rejestratorze lub serializatorze, aby pola osobowe były usuwane przed zapisem, zamiast polegać na tym, że każde miejsce wywołania pamięta o tym. Lepiej mieć jedno miejsce do poprawnego skonfigurowania niż dziesiątki.
Nigdy nie rejestruj całego obiektu
Unikaj rejestrowania całego żądania, użytkownika lub kontekstu błędu, jeśli zawiera dane osobowe. Rejestruj konkretne pola, których potrzebujesz, aby wygodna jednorazowa komenda nie kopiowała cichaczem danych klienta do logów.
try { await createOrder(req)-} catch (e) { logger.error("checkout failed", { body: req }) }+} catch (e) { logger.error("checkout failed", { orderId: req.orderId, code: e.code }) }Log zachowuje referencję i kod błędu potrzebne do zbadania problemu, bez kopiowania danych kontaktowych i adresowych klienta.