heygrc
Odpowiedź

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.

  1. 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.

  2. 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.

  3. 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.

checkout/handler.ts+1 -1
try {  await createOrder(req)-} catch (e) { logger.error("checkout failed", { body: req }) }+} catch (e) { logger.error("checkout failed", { orderId: req.orderId, code: e.code }) }
heygrcGDPR Art. 5(1)(c)

Log zachowuje referencję i kod błędu potrzebne do zbadania problemu, bez kopiowania danych kontaktowych i adresowych klienta.