Terug naar BlogTechnisch

GDPR-loganonimisering: debug-mogelijkheid behouden

Toepassingslogs verzamelen stilletjes e-mailadressen, IP's en rekeningnummers van gebruikers. Zo deelt u logs met derde partijen, aannemers en observeerbaarheidsplatforms zonder GDPR te overtreden.

March 6, 20267 min lezen
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

PII verbergt zich in toepassingslogs

App-logs zijn een van de meest over het hoofd geziene GDPR-oppervlakken in engineering. Niet omdat engineers de wet negeren. Omdat gebruikersinformatie per ongeluk in logbestanden terechtkomt.

Eén JSON-verzoeklog kan vier PII-velden bevatten:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "level": "ERROR",
  "endpoint": "/api/users/profile",
  "user_email": "sarah.johnson@company.com",
  "ip_address": "195.88.44.12",
  "account_id": "CUST-EU-447821",
  "error": "User sarah.johnson@company.com not found"
}

De e-mail staat in twee velden. Het IP is persoonsgegevens onder GDPR (als het herleidbaar is tot een persoon). De account-ID is persoonsgegevens in context.

Het log-retentieprobleem

Logs worden bewaard voor debuggen. Typische bewaarperiode: 30–90 dagen. Sommige observeerbaarheidsplatforms bewaren jaren aan logs.

GDPR Artikel 5(1)(e) beperkt bewaarduur. Logs met e-mailadressen of IP-adressen die langer dan nodig worden bewaard, zijn een overtreding.

Als logs naar derde partijen gaan — externe aannemers, observeerbaarheidsplatforms zoals Datadog of Splunk — wordt het een gegevensoverdracht die een DPA vereist.

Log-anonimisering bij bronverwerking

De benadering: anonimiseer PII in logs vóór opslag.

from anonym_legal import AnonymClient
client = AnonymClient(api_key=os.environ["ANONYM_KEY"])

def log_event(level, endpoint, user_email, ip, account_id, error_msg):
    # Anonimiseer velden die PII bevatten
    anon_result = client.anonymize(
        text=f"{user_email} {ip} {account_id} {error_msg}"
    )
    # Log geanonimiseerde versie
    logger.log(level=level, endpoint=endpoint,
               details=anon_result.anonymized_text)

Geanonimiseerde logs zijn volledig debugbaar: foutmeldingen, tijdstempels, endpoints en paden zijn intact. Alleen de identificerende informatie is vervangen.

Deze logs kunnen worden gedeeld met aannemers of externe platforms zonder GDPR-zorgen over retentie of overdracht.

Klaar om uw gegevens te beschermen?

Begin met het anonimiseren van PII met 273 entiteitstypen in 48 talen.