By · Last updated 2026-06-05

Povratak na BlogTehnički

Anonimizacija GDPR zapisnika: nastavite s otklanjanjem gresaka

Aplikacijski zapisnici tihо akumuliraju korisnicke emailove, IP adrese i brojeve racuna. Evo kako dijeliti zapisnike s trecim stranama, izvodjacima i platformama za nadzor.

June 5, 20267 min čitanja
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

PII se skriva u aplikacijskim zapisnicima

Aplikacijski zapisnici jedna su od najzanemarenih GDPR povrsina u inzenjeringu. Ne zato sto inzenjeri ignoriraju zakon. Nego zato sto korisnicke pojedinosti ulaze u datoteke zapisnika slucajno.

Jedan JSON zapis zahtjeva moze drzati cetiri PII polja:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "level": "ERROR",
  "endpoint": "/api/users/profile",
  "user_email": "sara.jovanovic@tvrtka.com",
  "client_ip": "82.123.45.67",
  "user_agent": "Mozilla/5.0",
  "error": "ValidationError: phone format",
  "input_value": "+385 91 1234 5678"
}

Taj jedan unos drzi email, IP i broj telefona. Pomnozite to s milijunima dnevnih API poziva. Rezultat je znacajna aktivnost s PII-jem. Treba pravnu osnovu, ogranicenja i kontrole.

Dijeljenje zapisnika s trecim stranama povecava GDPR rizik

Timovi dijele datoteke zapisnika s vanjskim stranama stalno:

  • Tvrtke za pen testiranje primaju zapise za mapiranje ponasanja aplikacije
  • Vanjski konzultanti koriste uzorke zapisnika za pronalazenje uskih grla
  • Platforme za zapisnike (Elastic, Datadog, Splunk) primaju cijele izlazne tokove
  • Izvodjaci SRE pristupaju zapisima za vrijeme incidenata
  • Timovi za razvoj u drugim pravnim osobama primaju datoteke za otklanjanje gresaka

Svako dijeljenje postavlja pitanja prema GDPR clanu 28. Je li primatelj izvrsitelj? Postoji li Sporazum o obradi podataka? Imaju li pravnu osnovu za vidjeti korisnicke pojedinosti u tim datotekama?

Platforme za zapisnike cesta su praznina. Slanje izlaza s pravim korisnickim emailovima i IP adresama na Elastic Cloud ili Datadog stvara vezu obrade. Ta veza treba DPA, standardne klauzule i alat za prijenos ako platforma sjedi izvan EU-a. Svako od ovih zahtijeva vremena i pravnog pregleda.

Jednostavniji put: uklonite korisnicke pojedinosti prije nego sto datoteke napuste vas sustav. Procitajte nas pregled sukladnosti za potpuna pravila clana 28.

Zasto JSON struktura otezava detekciju

JSON datoteke zapisnika variraju u strukturi. Genericko skeniranje teksta nije dovoljno.

Dubina ugnjezdavanja: Korisnicke pojedinosti pojavljuju se na bilo kojoj dubini. Polje request.headers.x-forwarded-for drzi IP adrese. Polje response.body.errors[0].field_value moze drzati korisnicki unos. Ravno tekstualno skeniranje propusta polja zakopana u ugnjezdenim putovima.

Nedosljedne sheme: Svaki API krajnji tocka proizvodi vlastitu formu izlaza. Datoteke za autentikaciju ne lice na datoteke za placanje. Datoteke za azuriranje profila ne lice na obje. Pristup s fiksnim putovima propusta korisnicke pojedinosti koje se pojavljuju na neocekivanim putovima u kontekstima gresaka.

Tehnicke vrijednosti pomijesane s PII-jem: Tragovi stoga, kodovi gresaka i vremenski ozljuci moraju ostati netaknutim. Blanketno brisanje brise potrebna polja i cini datoteku beskorisnom.

Pravi pristup je detekcija temeljena na sadrzaju. Pronaci korisnicke pojedinosti po tome sto su - uzorak emaila, IP format, imenovani entitet - ne gdje se nalaze u strukturi. Ovo rukuje promjenjivim shemama bez potrebnog postavljanja po krajnjoj tocki.

Dosljedna zamjena cuva korisnost zapisnika

Kljucni zahtjev je referentni integritet. Ako se sara.jovanovic@tvrtka.com pojavljuje u 47 unosa kroz lanac zahtjeva, svih 47 mora se preslikati na istu vrijednost.

Pravila preslikavanja:

  • sara.jovanovic@tvrtka.com - user1@example.com (ista vrijednost kroz cijelu datoteku)
  • 82.123.45.67 - 192.0.2.1 (RFC 5737 dokumentacijska IP adresa - jasno nije stvarna)
  • +385 91 1234 5678 - +385 XXX XXX XXXX (maskirana)

S tim preslikavanjem, razvojni inzenjer moze pratiti user1@example.com kroz 47 unosa, rekonstruirati lanac zahtjeva i popraviti gresku - bez vidjenja ikakvih stvarnih korisnickih pojedinosti.

Ova metapodatkovna polja ostaju nepromijenjena:

  • Vremenski ozljuci (nisu korisnickim podaci)
  • Kodovi i vrste gresaka (nisu korisnicki podaci)
  • Tragovi stoga (mogu sadrzavati tehnicke ID-ove, nisu korisnicki podaci)
  • HTTP metode, putovi, statusni kodovi (nisu korisnicki podaci)
  • Vrijednosti metrika i latencije (nisu korisnicki podaci)

Rezultat je datoteka koja funkcionira za posao otklanjanja gresaka. Ne sadrzi stvarne korisnicke pojedinosti. Pogledajte nas rjecnik za razliku izmedju anonimizacije i pseudonimizacije prema GDPR-u.

Slucaj koristenja: Dijeljenje zapisnika za pen testiranje

SaaS tvrtka provela je tromjesecni sigurnosni pregled s vanjskim timom za pen testiranje. Opseg je zahtijevao 90 dana proizvodnog API izlaza za mapiranje tokova autentikacije i analizu uzoraka gresaka.

Sirovi volumen: 180 MB JSON datoteka. Broj PII-ja: 4.200 jedinstvenih korisnickih emailova, 1.800 jedinstvenih IP adresa, 340 djelomicnih brojeva racuna u kontekstima gresaka.

Bez prvog uklanjanja korisnickih pojedinosti, dijeljenje tih datoteka zahtijevalo bi:

  • DPA s tvrtkom za pen testiranje
  • Alat za prijenos prema GDPR clanu 46 (tvrtka je sjedila izvan EU-a)
  • Pregled obavijesti osobama ciji se podaci obraduju

Svako od ovih dodaje pravni posao i vrijeme.

S primijenjenim uklanjanjem PII-ja:

  • Vrijeme obrade: 25 minuta za 180 MB
  • Izlaz: 180 MB strukturalno identicnih datoteka, svi emailovi i IP adrese zamijenjeni sigurnim vrijednostima
  • Rezultat: tim za pen testiranje primio je potpun kontekst; niti jedna stvarna korisnicka pojedinost nije ih dosegla
  • GDPR ishod: nije potreban DPA - uklonjen izlaz nije korisnicki podaci prema GDPR-u

Pogledajte nas FAQ za uobicajena pitanja o tome sto se smatra anonimnimim prema GDPR-u.

Integriranje uklanjanja PII-ja u CI/CD

Za timove koji redovito dijele izlaz, ovaj korak moze se izvoditi unutar postojecih cjevovoda.

Rotacija zapisnika:

  1. Skripta za rotaciju izvodi se noc
  2. Korak uklanjanja izvodi se prije arhiviranja ili slanja na bilo koju platformu za zapisnike
  3. Uklonjene datoteke idu u vanjske sustave
  4. Originalne datoteke ostaju interno s punim zadrzavanjem

Skripta za predijeljenje:

  1. Inzenjer treba podijeliti uzorak s izvodjacem
  2. Pokrenite skriptu: input=raw-logs/ output=clean-logs/
  3. Podijelite mapu clean-logs/
  4. Nije potreban rucni pregled PII-ja

Sidecar pristup:

  1. Sidecar uklanja izlazni tok prije prosljedjivanja
  2. Uklanjanje u stvarnom vremenu odrzava korisnost za analizu zapisnika
  3. Platforma prima nula stvarnih korisnickih pojedinosti

Integracija politike zadrzavanja

GDPR clan 5(1)(e) zahtijeva ogranicenje pohrane. Uklanjanje PII-ja uklapa se u bilo koju politiku zadrzavanja.

  • Sirovi izlaz cuva se 7 dana (za svakodnevni posao otklanjanja gresaka)
  • Uklonjene verzije cuva se 90 dana (za analizu trendova i pregled incidenata)
  • Korak uklanjanja izvodi se 7. dana

Ovo zadovoljava ogranicenje pohrane. Uklanja rizik dugotrajnog cuvanja sirovog izlaza.

Izvori

Spremni za zaštitu vaših podataka?

Započnite anonimizaciju PII-a s 285+ vrsta entiteta na 48 jezika.

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.