By · Last updated 2026-06-05

Bumalik sa BlogTeknikal

GDPR sa mga Log ng App: JSON PII Compliance

Ang mga log ng application ay naglalaman ng mga email address ng customer, IP, at numero ng account na kinakailangan ng GDPR Article 5(1)(e) na pangasiwaan.

June 5, 20266 min basahin
API logsGDPR complianceJSON anonymizationobservabilitystorage limitation

Ang Tahimik na GDPR Risk sa Iyong Log Stack

Na-update para sa 2026

Karamihan sa mga team ay sinusuri ang kanilang database para sa personal na impormasyon. Mas kaunti ang gumagawa ng parehong bagay para sa kanilang log system.

Nilalimitahan ng GDPR Article 5(1)(e) kung gaano katagal mo maaaring itago ang personal na impormasyon. Para sa mga database, nagtatakda ang mga team ng mga patakaran at nagpapatakbo ng mga deletion job. Para sa mga log file, mas simple ang patakaran: itago ang lahat nang 90 araw para sa pag-debug.

Ang problema? Ang mga rekord na iyon ay nagtatago ng personal na impormasyon. Ang mga request entry ay nagtatago ng mga email ng user. Ang mga error capture ay nagtatago ng mga raw na input value. Ang mga access entry ay nagtatago ng mga IP address. Bawat isa sa mga ito ay binibilang bilang personal na impormasyon sa ilalim ng GDPR. Kailangan ng iyong team ng legal na batayan at plano ng pagtatago para sa bawat isa.

Ano ang Napupunta sa Iyong Mga Log File

Ang karaniwang web app logging ay nagkukuha ng malawak na hanay ng PII.

Mga access record (nginx/Apache):

  • Mga IP address - personal na impormasyon ayon sa gabay ng EDPB
  • Mga user-agent string - maaaring paganahin ang device fingerprinting
  • Mga session token - kung isinulat sa output

Mga record ng app (nakaayos na JSON):

  • Mga user ID at email address
  • Mga error sa input - madalas na kasama ang raw na invalid na halaga, na maaaring tunay na impormasyon ng user
  • Mga business event - mga order ID na nakakonekta sa mga account ng customer
  • Mga search query - maaaring maglaman ng mga pangalan o address

Mga record ng API gateway:

  • Mga auth header - bahagyang nakuha sa ilang setup
  • Mga query param - maaaring magtago ng mga user ID, pangalan, o email
  • Mga request at response body - naroroon sa mga debug-level na setup

Mga database audit entry:

  • Mga SQL query na may WHERE clause tulad ng email = 'user@example.com'
  • Mga literal na personal na halaga sa mga query param

Hindi ito ginagawa nang may layunin. Ito ay isang side effect ng logging na ginawa para sa pag-debug, hindi para sa GDPR.

Gabay ng EDPB sa mga IP Address

Sinasabi ng European Data Protection Board na ang mga IP address ay personal na impormasyon. Maaari silang ikonekta ng mga ISP sa mga subscriber. Sa loob ng isang organisasyon, maaari nilang matukoy ang mga tiyak na user.

Direkto ang epekto. Ang mga access record na may mga IP address ay mga personal na rekord. Ang pagpapanatili ng nginx output nang 12 buwan ay nangangahulugang nagpapanatili ng personal na impormasyon nang 12 buwan. Kailangan iyon ng legal na batayan sa ilalim ng Article 6. Kailangan din na tumugma ang panahon ng pagtatago sa iyong nakastate na layunin.

Lilipas ang karamihan sa mga team sa hakbang na ito. Ang "nagtatago kami ng mga entry nang 90 araw dahil sinabi ng seguridad" ay isang patakaran ng thumb. Hindi ito isang pagsusuri ng GDPR Article 5(1)(e). Tingnan ang aming Legal Compliance overview para sa kung paano ito akma sa mas malawak na programa.

Paano Maaabot ang Compliance

Ang praktikal na ruta para sa karamihan sa mga team ay hindi ang baguhin ang mga window ng pagtatago. Totoo ang mga operational at security na dahilan para sa mas matagal na window. Ang mas magandang landas ay ang mag-mask ng mga rekord bago ang pangmatagalang pagtatago.

Isang tiered na modelo ang gumagana nang maayos.

0-7 araw: Buong raw na rekord para sa aktibong pag-debug. Pitong araw ay sapat na para sa karamihan sa mga team.

7-90 araw: Mga masked na rekord para sa trend analysis at security review. Pinapalitan ang mga IP address. Nagiging mga stable na token ang mga email ng user. Naka-mask ang mga numero ng account. Pinapanatiling buo ang mga pangunahing field - mga timestamp, error code, latency, endpoint.

90+ araw (kung kailangan): Aggregated na output lamang. Mga bilang ng event, rate ng error, hanay ng latency. Walang natitirang rekord sa antas ng user.

Nahihinto ang personal na impormasyon sa pitong araw. Maaaring maipasa ang aggregated na output nang hindi nilalantad ang sinuman. Tingnan ang Security & Compliance para sa karagdagang detalye.

Panatilihing Buo ang Istruktura para sa Monitoring

Ang magandang masking ay pinapanatiling buo ang JSON structure. Pinapalitan lamang nito ang nilalaman. Pinapanatili nitong kapaki-pakinabang ang output para sa pag-debug at mga alerto.

Pinanatiling buo:

  • Mga JSON key at nesting
  • Mga timestamp at pagkakasunod-sunod ng oras
  • Mga uri ng error at HTTP status code
  • Mga HTTP method, landas, at halaga ng latency
  • Mga uri ng business event

Pinapalitan:

  • Mga email address → stable na token bawat orihinal (hal. user1@example.com)
  • Mga IP address → mga hanay ng RFC 5737 (192.0.2.x)
  • Mga numero ng account → ACCT_XXXXX
  • Mga numero ng telepono → +XX XXX XXX XXXX
  • Mga pangalan sa teksto ng error → [PERSON]

Ang mga stable na token ay nagpapanatiling kapaki-pakinabang ang mga trace. Ang isang trace para sa user1@example.com sa 40 entry ay gumagana nang kapareho ng orihinal. Ang mga aggregated na metric - mga rate ng error, latency, throughput - ay hindi nangangailangan ng personal na impormasyon. Tingnan ang Glossary para sa mga termino na pseudonymization at anonymization.

Tatlong Paraan ng Pagsasama Nito

Tatlong pattern ang sumasaklaw sa karamihan ng mga engineering team.

Opsyon 1 - Pipeline masking: Nagrereklamo ang Fluentd o Logstash sa bawat linya bago ito ipadala. Ang isang masking step ay tumatakbo inline. Ang Elastic o Datadog ay nakakakuha lamang ng mga nalinis na rekord. Hindi kailangan ng pagbabago sa app code.

Opsyon 2 - Nightly batch: Ang mga raw na rekord ay lumalapag sa lokal na imbakan. Ang isang nightly na trabaho ay nagtatago ng output ng nakaraang araw at nagtatanggal ng raw na bersyon. Ang mga masked na rekord ay pumupunta sa pangmatagalang imbakan. Ang raw na output ay itinago nang pitong araw lamang.

Opsyon 3 - Pre-share masking: Ang mga raw na rekord ay nananatiling panloob na may mahigpit na kontrol sa access. Bago ibahagi sa mga pen tester o labas na contractor, magpatakbo ng masking pass. Palaging nakakakuha ng malinis na bersyon ang mga labas na partido.

Para sa mga dokumento ng GDPR, ang masking ay isang "teknikal na hakbang" sa ilalim ng Article 32. Itala ang tool, ang setup nito, at ang iyong patakaran sa pagtatago sa iyong Records of Processing Activities (RoPA) sa ilalim ng Article 30. Tingnan ang aming FAQ para sa mga karaniwang tanong tungkol sa RoPA.

Gusto mo ng isang totoong halimbawa? Tingnan ang mga case study para sa mga konkretong detalye ng implementasyon. Maaari mo ring suriin ang aming pricing para makita kung anong plano ang may kasamang built-in na masking pipeline.

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.