By · Last updated 2026-06-05

Tilbake til BloggTeknisk

GDPR-samsvar for logger: Behold feilsoking

Applikasjonslogger akkumulerer stille bruker-e-poster, IP-adresser og kontonummer. Her er hvordan du kan dele logger med tredjeparter, leverandorer og observasjonsplattformer uten a bryte GDPR.

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

PII gjemmer seg i applikasjonslogger

Applogger er en av de mest oversette GDPR-flatene innen enginering. Ikke fordi ingeniorer ignorerer loven. Men fordi brukerdetaljer havner i loggfiler ved et uhell.

En enkelt JSON-foresporselslogg kan inneholde fire PII-felt:

{
  "timestamp": "2025-11-14T09:22:13Z",
  "level": "ERROR",
  "endpoint": "/api/users/profile",
  "user_email": "sara.hansen@bedrift.no",
  "client_ip": "82.123.45.67",
  "user_agent": "Mozilla/5.0",
  "error": "ValidationError: phone format",
  "input_value": "+47 976 12 345"
}

Den enkelte oppforingen inneholder en e-post, en IP og et telefonnummer. Gang det med millioner av daglige API-kall. Resultatet er en betydelig PII-aktivitet. Den trenger et rettslig grunnlag, grenser og kontroller.

Tredjepartsdeling av logger oker GDPR-risiko

Team deler loggfiler med utenforstende parter hele tiden:

  • Penetrasjonstestfirmaer far poster for a kartlegge appoppforsel
  • Eksterne konsulenter bruker loggeksempler for a finne tregpunkter
  • Loggplattformer (Elastic, Datadog, Splunk) mottar fulle utdatastromme
  • SRE-kontraktorer har tilgang til poster under hendelser
  • Utviklingsteam i andre juridiske enheter mottar filer for feils oking

Hver deling reiser GDPR artikkel 28-sporsmal. Er mottakeren en databehandler? Er det en databehandleravtale? Har de rettslig grunnlag for a se brukerdetaljer i disse filene?

Loggplattformer er et vanlig hull. A sende utdata med ekte bruker-e-poster og IP-er til Elastic Cloud eller Datadog skaper en behandlingskjede. Den kjeden trenger en databehandleravtale, standardklausuler og et overforiningsverktoy hvis plattformen befinner seg utenfor EU. Hvert av disse tar tid og juridisk gjennomgang.

Den enklere veien: strip brukerdetaljer for filer forlater systemet. Les var compliance-oversikt for de fulle artikkel 28-reglene.

Hvorfor JSON-struktur gjor deteksjon vanskelig

JSON-loggfiler varierer i struktur. Generell tekstskanning er ikke nok.

Nestingsdybde: Brukerdetaljer vises pa enhver dybde. Feltet request.headers.x-forwarded-for inneholder IP-adresser. Feltet response.body.errors[0].field_value kan inneholde brukerinndata. En flat tekstskanning misser felt begravet i nestede stier.

Inkonsistente skjemaer: Hvert API-endepunkt produserer sin egen utdataform. Autentiseringsfiler ser ikke ut som betalingsfiler. Profiloppdateringsfiler ser ikke ut som noen av delene. En fast stibasert tilnarming misser brukerdetaljer som vises pa merkelige stier i feilkontekster.

Tekniske verdier blandet med PII: Stakkspor, feilkoder og tidsstempler ma forbli intakte. Blankettstripping sletter nodvendige felt og gjor filen ubrukelig.

Den rette tilnarmingen er innholdsbasert deteksjon. Finn brukerdetaljer etter hva de er — e-postmonster, IP-format, navngitt enhet — ikke etter hvor de sitter i strukturen. Dette handterer variable skjemaer uten per-endepunkt-oppsett.

Konsistent erstatning holder logger nyttige

Nokkelkravet er referanseintegritet. Hvis sara.hansen@bedrift.no vises i 47 oppforinger pa tvers av en foresporsselskjede, ma alle 47 mapes til den samme verdien.

Mappingsregler:

  • sara.hansen@bedrift.nouser1@example.com (samme verdi gjennom hele filen)
  • 82.123.45.67192.0.2.1 (RFC 5737 dokumentasjons-IP — tydelig ikke ekte)
  • +47 976 12 345+47 XXX XXX XXXX (maskert)

Med denne mappingen kan en utvikler spore user1@example.com gjennom 47 oppforinger, rekonstruere foresporsselskjeden og fikse feilen — uten a se noen ekte brukerdetaljer.

Disse metadatafeltene forblir uendret:

  • Tidsstempler (ikke brukerdata)
  • Feilkoder og -typer (ikke brukerdata)
  • Stakkspor (kan inneholde tekniske ID-er, ikke brukerdata)
  • HTTP-metoder, stier, statuskoder (ikke brukerdata)
  • Metrikkverdier og latenstall (ikke brukerdata)

Resultatet er en fil som fungerer for feilsokingsarbeid. Den inneholder ingen ekte brukerdetaljer. Se var ordliste for forskjellen mellom anonymisering og pseudonymisering under GDPR.

Brukstilfelle: Loggdeling ved penetrasjonstest

Et SaaS-firma gjennomforte en kvartalsvis sikkerhetsgjennomgang med et eksternt penetrasjonstestteam. Omfanget krevde 90 dagers produksjons-API-utdata for a kartlegge autentiseringsflyter og analysere feilmonstre.

Ratt volum: 180 MB JSON-filer. PII-antall: 4 200 unike bruker-e-poster, 1 800 unike IP-er, 340 delvise kontonummer i feilkontekster.

Uten a stripe brukerdetaljer forst ville deling av disse filene kreve:

  • En databehandleravtale med penetrasjonstestfirmaet
  • Et GDPR artikkel 46-overforiningsverktoy (firmaet befant seg utenfor EU)
  • En gjennomgang av varsling til registrerte

Hvert av disse legger til juridisk arbeid og tid.

Med PII-stripping brukt:

  • Behandlingstid: 25 minutter for 180 MB
  • Utdata: 180 MB strukturelt identiske filer, alle e-poster og IP-er erstattet med trygge verdier
  • Resultat: penetrasjonstestteamet fikk full kontekst; null ekte brukerdetaljer nadde dem
  • GDPR-utfall: ingen databehandleravtale krevd — strippet utdata er ikke brukerdata under GDPR

Se var FAQ for vanlige sporsmal om hva som teller som anonymt under GDPR.

Integrering av PII-stripping i CI/CD

For team som deler utdata regelmes sig, kan dette trinnet kjore innenfor eksisterende rorledninger.

Loggrotasjon:

  1. Rotasjonsskript kjorer natten
  2. Stripping-trinn kjorer for arkivering eller forsendelse til loggplattform
  3. Strippede filer gar til utenforstende systemer
  4. Originalfiler forblir interne med full oppbevaring

For-deling-skript:

  1. Ingenior trenger a dele et eksempel med en kontraktar
  2. Kjorer skriptet: input=raw-logs/ output=clean-logs/
  3. Deler clean-logs/-mappen
  4. Ingen manuell PII-gjennomgang nodvendig

Sidecar-tilnarming:

  1. Sidecar stripper utdatastrommen for videresending
  2. Sanntids-stripping opprettholder nytten for logganalyse
  3. Plattformen mottar null ekte brukerdetaljer

Integrering av oppbevaringspolicyer

GDPR artikkel 5(1)(e) krever lagringsgrense. PII-stripping passer inn i enhver oppbevaringspolicy.

  • Ratt utdata holdes i 7 dager (for dag-til-dag-feils oking)
  • Strippede versjoner holdes i 90 dager (for trendanalyse og hendelsesgjennomgang)
  • Stripping-trinnet kjorer pa dag 7

Dette oppfyller lagringsgrensen. Det fjerner risikoen for a oppbevare ratt utdata pa lang sikt.

Kilder

Klar til å beskytte dataene dine?

Begynn å anonymisere PII med 285+ enhetstyper på 48 språk.

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.