heygrc
Risposta

Come posso registrare gli errori senza registrare dati personali?

il team heygrc

Registra riferimenti e codici minimi, non contenuti completi. Registra un ID di richiesta o un ID di ordine, oscura i campi personali prima che vengano scritti e non registrare mai l'intera richiesta o l'oggetto utente. Registrare meno dati, e meno dati identificativi, è proprio ciò che richiede il principio di minimizzazione dei dati del GDPR (Art. 5(1)(c)). Tratta un identificatore che punta a una persona come dato personale e limitati a ciò che serve effettivamente per l'indagine.

  1. Registra riferimenti, non contenuti

    Registra l'identificatore minimo necessario per l'indagine (un ID di richiesta, un ID di ordine), non l'email, l'indirizzo o il corpo completo. Anche un identificatore può essere un dato personale se punta a una persona, quindi registra solo ciò che serve per tracciare il problema, non i contenuti a cui fa riferimento.

  2. Oscura al confine

    Inserisci l'oscuramento nel logger o in un serializzatore in modo che i campi personali vengano rimossi prima che venga scritto qualcosa, invece di affidarti a ogni punto di chiamata per ricordarsene. Un solo punto da gestire correttamente è meglio di decine.

  3. Non registrare mai l'intero oggetto

    Evita di registrare l'intera richiesta, utente o contesto di errore quando contiene dati personali. Registra i campi specifici di cui hai bisogno, così una comoda riga di codice non copia silenziosamente i dati di un cliente nei tuoi log.

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)

Il log mantiene il riferimento e il codice di errore necessari per l'indagine, senza copiare i dettagli di contatto e indirizzo del cliente al suo interno.