By · Last updated 2026-06-05

Bumalik sa BlogTeknikal

GDPR Log Anonymization: Panatilihing Gumagana ang Debug

Ang mga log ng application ay tahimik na nag-iipon ng mga email ng user, IP, at numero ng account. Narito kung paano ibahagi ang mga log sa mga third party, contractor, at observability platform nang naaayon sa GDPR.

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

Nagtatago ang PII sa mga Log ng Application

Ang mga log ng app ay isa sa pinaka-minamasang GDPR surface sa engineering. Hindi dahil binabalewala ng mga engineer ang batas. Kundi dahil ang mga detalye ng user ay pumapasok sa mga log file nang hindi sinasadya.

Isang JSON request log ay maaaring magtago ng apat na PII field:

{
  "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"
}

Ang iisang entry na iyon ay nagtatago ng email, IP, at numero ng telepono. I-multiply ang ganoon sa milyun-milyong API call araw-araw. Ang resulta ay isang pangunahing aktibidad ng PII. Kailangan nito ng legal na batayan, limitasyon, at mga kontrol.

Ang Pagbabahagi ng Log sa Third Party ay Nagpapataas ng GDPR Risk

Palagi na nakikibahagi ang mga team ng mga log file sa mga labas na partido:

  • Ang mga pen test firm ay nakakakuha ng mga rekord para ma-map ang gawi ng app
  • Ang mga labas na consultant ay gumagamit ng mga sample ng log para mahanap ang mga mabagal na bahagi
  • Ang mga log platform (Elastic, Datadog, Splunk) ay tumatanggap ng buong output stream
  • Ang mga SRE contractor ay nag-a-access ng mga rekord sa panahon ng mga insidente
  • Ang mga dev team sa iba pang legal na entity ay tumatanggap ng mga file para sa pag-debug

Bawat pagbabahagi ay nagpapataas ng mga tanong sa GDPR Article 28. Ang tatanggap ba ay isang processor? May Data Processing Agreement ba? Mayroon ba silang legal na batayan para makita ang mga detalye ng user sa mga file na iyon?

Ang mga log platform ay isang karaniwang agwat. Ang pagpapadala ng output na may tunay na email at IP ng user sa Elastic Cloud o Datadog ay lumilikha ng processing link. Ang link na iyon ay nangangailangan ng DPA, standard clause, at transfer tool kung ang platform ay nasa labas ng EU. Bawat isa sa mga ito ay nangangailangan ng oras at legal na pagsusuri.

Ang mas simpleng landas: alisin ang mga detalye ng user bago umalis ang mga file sa iyong sistema. Basahin ang aming compliance overview para sa buong Article 28 na mga patakaran.

Bakit Pinahirap ng JSON Structure ang Detection

Ang mga JSON log file ay nag-iiba-iba sa istruktura. Hindi sapat ang generic na text scanning.

Lalim ng nesting: Ang mga detalye ng user ay lumalabas sa anumang lalim. Ang field na request.headers.x-forwarded-for ay nagtatago ng mga IP address. Ang field na response.body.errors[0].field_value ay maaaring magtago ng input ng user. Ang flat text scan ay napapalampas ang mga field na nakatago sa nested na landas.

Mga inconsistent na schema: Bawat API endpoint ay gumagawa ng sariling hugis ng output. Ang mga auth file ay hindi kapareho ng mga payment file. Ang mga profile update file ay hindi kapareho ng pareho. Ang isang fixed-path na diskarte ay napapalampas ang mga detalye ng user na lumalabas sa kakaibang landas sa mga error context.

Mga teknikal na halaga na hinaluan ng PII: Ang mga stack trace, error code, at timestamp ay dapat manatiling buo. Ang blanket stripping ay nagtatanggal ng mga kinakailangang field at ginagawang walang silbi ang file.

Ang tamang diskarte ay content-based detection. Hanapin ang mga detalye ng user sa pamamagitan ng kung ano sila - email pattern, IP format, named entity - hindi sa kung saan sila naroroon sa istruktura. Ito ay nangangasiwa ng mga variable na schema nang walang pangangailangan ng setup bawat endpoint.

Ang Konsistenteng Replacement ay Nagpapanatiling Kapaki-pakinabang ang mga Log

Ang pangunahing kinakailangan ay referential integrity. Kung lumabas ang sarah.johnson@company.com sa 47 entry sa isang request chain, ang lahat ng 47 ay dapat mag-map sa parehong halaga.

Mga patakaran sa mapping:

  • sarah.johnson@company.comuser1@example.com (parehong halaga sa buong file)
  • 82.123.45.67192.0.2.1 (RFC 5737 documentation IP - malinaw na hindi tunay)
  • +49 176 1234 5678+49 XXX XXX XXXX (masked)

Sa mapping na iyon, maaaring subaybayan ng isang developer ang user1@example.com sa 47 entry, i-reconstruct ang request chain, at ayusin ang bug - nang hindi nakikita ang anumang tunay na detalye ng user.

Ang mga metadata field na ito ay nananatiling hindi binago:

  • Mga timestamp (hindi user data)
  • Mga error code at uri (hindi user data)
  • Mga stack trace (maaaring magtago ng mga tech ID, hindi user data)
  • Mga HTTP method, landas, status code (hindi user data)
  • Mga metric value at latency figure (hindi user data)

Ang resulta ay isang file na gumagana para sa debug na trabaho. Wala itong naglalalamang tunay na detalye ng user. Tingnan ang aming glossary para sa pagkakaiba sa pagitan ng anonymization at pseudonymization sa ilalim ng GDPR.

Use Case: Pagbabahagi ng Log sa Pen Test

Isang SaaS firm ang nagpatakbo ng quarterly na security review kasama ang isang labas na pen test team. Ang saklaw ay nangangailangan ng 90 araw ng produksyon na API output para ma-map ang mga auth flow at ma-analyze ang mga error pattern.

Raw na volume: 180 MB ng mga JSON file. Bilang ng PII: 4,200 natatanging email ng user, 1,800 natatanging IP, 340 partial na numero ng account sa mga error context.

Nang walang pag-alis ng mga detalye ng user muna, ang pagbabahagi ng mga file na iyon ay mangangailangan ng:

  • Isang DPA kasama ang pen test firm
  • Isang GDPR Article 46 transfer tool (ang firm ay nasa labas ng EU)
  • Isang pagsusuri ng notice ng data subject

Bawat isa sa mga ito ay nagdaragdag ng legal na trabaho at oras.

Kapag inilapat ang PII stripping:

  • Oras ng pagproseso: 25 minuto para sa 180 MB
  • Output: 180 MB ng mga file na may parehong istruktura, lahat ng email at IP ay pinalitan ng ligtas na halaga
  • Resulta: natanggap ng pen test team ang buong konteksto; zero tunay na detalye ng user ang nakarating sa kanila
  • GDPR na resulta: walang kinakailangang DPA - ang stripped na output ay hindi user data sa ilalim ng GDPR

Tingnan ang aming FAQ para sa mga karaniwang tanong tungkol sa kung ano ang binibilang na anonymous sa ilalim ng GDPR.

Pagsasama ng PII Stripping sa CI/CD

Para sa mga team na regular na nagbabahagi ng output, ang hakbang na ito ay maaaring tumakbo sa loob ng mga kasalukuyang pipeline.

Pag-ikot ng log:

  1. Ang rotation script ay tumatakbo tuwing gabi
  2. Ang stripping step ay tumatakbo bago mag-archive o mag-ship sa anumang log platform
  3. Ang mga stripped na file ay pumupunta sa mga labas na sistema
  4. Ang mga orihinal na file ay nananatiling panloob na may buong pagtatago

Pre-sharing script:

  1. Kailangan ng engineer na ibahagi ang isang sample sa isang contractor
  2. Pinapatakbo ang script: input=raw-logs/ output=clean-logs/
  3. Ibinabahagi ang folder na clean-logs/
  4. Hindi na kailangan ng manual na pagsusuri ng PII

Sidecar na diskarte:

  1. Inalis ng sidecar ang output stream bago ipasa
  2. Ang real-time stripping ay nagpapanatili ng utility para sa log analysis
  3. Natanggap ng platform ang zero tunay na detalye ng user

Integrasyon ng Patakaran sa Pagtatago

Ang GDPR Article 5(1)(e) ay nangangailangan ng limitasyon sa pagtatago. Ang PII stripping ay angkop sa anumang patakaran sa pagtatago.

  • Ang raw na output ay itinago para sa 7 araw (para sa pang-araw-araw na debug na trabaho)
  • Ang mga stripped na bersyon ay itinago para sa 90 araw (para sa trend analysis at pagsusuri ng insidente)
  • Ang stripping step ay tumatakbo sa ika-7 araw

Tinatugunan nito ang limitasyon sa pagtatago. Inaalis nito ang panganib ng pagpapanatili ng raw na output nang matagal.

Mga Pinagkukunan

Handa nang protektahan ang iyong data?

Simulan ang anonymization ng PII gamit ang 285+ uri ng entidad sa 48 wika.

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.