anonym.legal

By · Last updated 2026-06-05

Înapoi la BlogTehnic

Anonimizarea jurnalelor GDPR: menținerea capacității de depanare

Jurnalele de aplicații acumulează silențios emailuri de utilizatori, adrese IP și numere de cont. Iată cum să partajați jurnale cu terțe părți, contractori și platforme de observabilitate fără a încălca GDPR.

June 5, 20267 min citire
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

Datele cu caracter personal se ascund în jurnalele de aplicații

Jurnalele de aplicații reprezintă una dintre cele mai neglijate suprafețe GDPR în inginerie. Nu pentru că inginerii ignoră legea. Ci pentru că detaliile utilizatorilor intră în fișierele jurnal din greșeală.

O singură înregistrare de cerere JSON poate conține patru câmpuri PII:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "level": "ERROR",
  "endpoint": "/api/users/profile",
  "user_email": "sarah.johnson@company.com",
  "client_ip": "82.123.45.67",
  "user_agent": "Mozilla/5.0",
  "error": "ValidationError: phone format",
  "input_value": "+49 176 1234 5678"
}

Acea singură înregistrare conține un email, o adresă IP și un număr de telefon. Înmulțiți asta cu milioane de apeluri API zilnice. Rezultatul este o activitate majoră de prelucrare a datelor cu caracter personal. Necesită o bază juridică, limite și controale.

Partajarea jurnalelor cu terțe părți ridică riscul GDPR

Echipele partajează fișiere jurnal cu părți externe în mod constant:

  • Firme de pen testing primesc înregistrări pentru a cartografia comportamentul aplicației
  • Consultanți externi folosesc mostre de jurnal pentru a identifica puncte lente
  • Platforme de jurnalizare (Elastic, Datadog, Splunk) primesc fluxuri complete de ieșire
  • Contractori SRE accesează înregistrări în timpul incidentelor
  • Echipe de dev din alte entități juridice primesc fișiere pentru depanare

Fiecare partajare ridică întrebări conform Articolului 28 GDPR. Destinatarul este un operator? Există un Acord de Prelucrare a Datelor? Are o bază juridică pentru a vedea detaliile utilizatorilor din acele fișiere?

Platformele de jurnalizare reprezintă o lacună comună. Trimiterea ieșirii cu emailuri și IP-uri reale de utilizatori la Elastic Cloud sau Datadog creează o legătură de prelucrare. Acea legătură necesită un DPA, clauze standard și un instrument de transfer dacă platforma se află în afara UE. Fiecare dintre acestea necesită timp și revizuire juridică.

Calea mai simplă: eliminați detaliile utilizatorilor înainte ca fișierele să părăsească sistemul dumneavoastră. Citiți prezentarea noastră de conformitate pentru regulile complete ale Articolului 28.

De ce structura JSON face detectarea dificilă

Fișierele jurnal JSON variază în structură. Scanarea generică a textului nu este suficientă.

Adâncimea imbricării: Detaliile utilizatorilor apar la orice adâncime. Câmpul request.headers.x-forwarded-for conține adrese IP. Câmpul response.body.errors[0].field_value poate conține input de utilizator. O scanare plată a textului ratează câmpurile îngropate în căi imbricate.

Scheme inconsistente: Fiecare endpoint API produce propria formă de ieșire. Fișierele de autentificare arată diferit față de fișierele de plată. Fișierele de actualizare a profilului arată diferit față de ambele. O abordare cu cale fixă ratează detaliile utilizatorilor care apar la căi neobișnuite în contexte de eroare.

Valori tehnice amestecate cu PII: Trasările de stivă, codurile de eroare și marcajele de timp trebuie să rămână intacte. Eliminarea în masă șterge câmpurile necesare și face fișierul inutilizabil.

Abordarea corectă este detectarea bazată pe conținut. Găsiți datele cu caracter personal prin ce sunt ele — model de email, format IP, entitate numită — nu prin unde se află în structură. Aceasta gestionează scheme variabile fără configurare per endpoint.

Înlocuirea consistentă menține jurnalele utile

Cerința cheie este integritatea referențială. Dacă sarah.johnson@company.com apare în 47 de înregistrări dintr-un lanț de cereri, toate cele 47 trebuie să se mapeze la aceeași valoare.

Reguli de mapare:

  • sarah.johnson@company.comuser1@example.com (aceeași valoare în tot fișierul)
  • 82.123.45.67192.0.2.1 (IP de documentare RFC 5737 — evident că nu este real)
  • +49 176 1234 5678+49 XXX XXX XXXX (mascat)

Cu acea mapare, un dezvoltator poate urmări user1@example.com prin 47 de înregistrări, poate reconstrui lanțul de cereri și poate repara eroarea — fără a vedea niciun detaliu real de utilizator.

Aceste câmpuri de metadate rămân neschimbate:

  • Marcaje de timp (nu sunt date de utilizator)
  • Coduri și tipuri de erori (nu sunt date de utilizator)
  • Trasări de stivă (pot conține ID-uri tehnice, nu date de utilizator)
  • Metode HTTP, căi, coduri de stare (nu sunt date de utilizator)
  • Valori metrice și cifre de latență (nu sunt date de utilizator)

Rezultatul este un fișier care funcționează pentru depanare. Nu conține detalii reale ale utilizatorilor. Consultați glosarul nostru pentru diferența dintre anonimizare și pseudonimizare conform GDPR.

Caz de utilizare: partajarea jurnalelor pentru pen testing

O firmă SaaS a efectuat o revizuire trimestrială de securitate cu o echipă externă de pen testing. Domeniul de aplicare a necesitat 90 de zile de ieșire API de producție pentru a cartografia fluxurile de autentificare și a analiza modelele de erori.

Volum brut: 180 MB de fișiere JSON. Număr PII: 4.200 de emailuri unice de utilizatori, 1.800 de IP-uri unice, 340 de numere de cont parțiale în contexte de eroare.

Fără eliminarea prealabilă a detaliilor utilizatorilor, partajarea acelor fișiere ar fi necesitat:

  • Un DPA cu firma de pen testing
  • Un instrument de transfer conform Articolului 46 GDPR (firma se afla în afara UE)
  • O revizuire a notificărilor persoanelor vizate

Fiecare dintre acestea adaugă muncă juridică și timp.

Cu aplicarea eliminării PII:

  • Timp de procesare: 25 de minute pentru 180 MB
  • Ieșire: 180 MB de fișiere identice structural, toate emailurile și IP-urile înlocuite cu valori sigure
  • Rezultat: echipa de pen testing a primit context complet; zero detalii reale de utilizatori nu au ajuns la ei
  • Rezultat GDPR: nu a fost necesar DPA — ieșirea eliminată nu este date de utilizator conform GDPR

Consultați FAQ-ul nostru pentru întrebări frecvente despre ce se consideră anonim conform GDPR.

Integrarea eliminării PII în CI/CD

Pentru echipele care partajează ieșiri în mod regulat, acest pas poate rula în cadrul pipeline-urilor existente.

Rotația jurnalelor:

  1. Scriptul de rotație rulează nocturn
  2. Pasul de eliminare rulează înainte de arhivare sau trimitere către orice platformă de jurnalizare
  3. Fișierele eliminate merg la sistemele externe
  4. Fișierele originale rămân interne cu retenție completă

Script pre-partajare:

  1. Inginerul trebuie să partajeze un eșantion cu un contractor
  2. Rulează scriptul: input=raw-logs/ output=clean-logs/
  3. Partajează dosarul clean-logs/
  4. Nu este necesară revizuirea manuală a PII

Abordare sidecar:

  1. Sidecarul elimină fluxul de ieșire înainte de redirecționare
  2. Eliminarea în timp real menține utilitatea pentru analiza jurnalelor
  3. Platforma primește zero detalii reale de utilizatori

Integrarea politicii de retenție

Articolul 5(1)(e) GDPR impune limitarea stocării. Eliminarea PII se încadrează în orice politică de retenție.

  • Ieșire brută păstrată 7 zile (pentru depanare zilnică)
  • Versiuni eliminate păstrate 90 de zile (pentru analiza tendințelor și revizuirea incidentelor)
  • Pasul de eliminare rulează în ziua 7

Acest lucru satisface limitarea stocării. Elimină riscul de a păstra ieșiri brute pe termen lung.

Surse

Pregătit să vă protejați datele?

Începeți să anonimizati PII cu 285+ tipuri de entități în 48 de limbi.

About this page

We update this page when our platform or the law changes.

Read our founder note for how we work.

Each change shows up in the timestamp at the top.

Related reading

We follow these rules

  • GDPR (EU 2016/679).
  • ISO/IEC 27001:2022.
  • NIS2 (EU 2022/2555).
  • HIPAA safe harbor under 45 CFR § 164.514(b)(2).

Our promise

We do not sell your data.

We do not train models on your text.

We store your files in Germany.

You can delete your account at any time.

You own your work.

Where we run

Our servers live in Falkenstein, Germany.

We use Hetzner. They hold ISO 27001 certification.

All data stays in the EU.

Backups run every day.

Need help?

Email support@anonym.legal.

We reply within one business day.

How we test

We run a full check suite on every release.

Each surface gets its own sweep script and report.

Human reviewers spot-check the output each week.

We track recall and precision on a labelled set.

Bad runs block the deploy.

What we never do

  • We never sell your information to third parties.
  • We never train models on what you upload.
  • We never keep your work after you delete it.
  • We never share keys with any outside firm.
  • We never run ads inside the product.

Plans in plain words

We sell credits, not seats.

One credit covers one short job.

Long jobs use a few credits each.

You can top up at any time.

Unused credits roll over each month.

Read the plans page for current rates.

Who built this

A small team of engineers and lawyers built this.

We ship from Europe and work in the open.

Our founder note spells out why we started.

Where to start

How the parts fit

A browser add-on cleans text inside Chrome.

A Word plug-in handles drafts in Office.

A small desktop tool works on whole folders.

An agent protocol link feeds large models safely.

All four share one core engine and one rule set.

Words from our team

We started this work after a lunch about cookies.

One friend kept getting odd ads on her phone.

We asked why a court file leaked through a draft.

We sketched the first build on a napkin that week.

By month three we had a tiny demo for a friend.

She used it on her first case the next day.

Common questions we hear

Can the tool read scanned PDFs? Yes, with OCR.

Does it work on long files? Yes, in small chunks.

Can I roll my own rule set? Yes, save it as a preset.

Does it run offline? The desktop build runs offline.

Do you keep my files? No, the cloud build wipes after each run.

Will it learn from my work? No, we never train on inputs.

A short tour of the workflow

Upload a file or paste a snippet of prose.

Pick the entities you want gone from the draft.

Choose a method: replace, mask, hash, encrypt, or redact.

Press run and watch the side panel show each hit.

Skim the result and tweak any rule that misfired.

Save the cleaned file or send it to a teammate.