By · Last updated 2026-06-05

Kembali ke BlogTeknikal

Anonimisasi Log GDPR: Kekalkan Keupayaan Debugging

Log aplikasi mengumpulkan e-mel pengguna, IP, dan nombor akaun secara senyap. Berikut cara berkongsi log dengan pihak ketiga, kontraktor, dan platform kebolehpemerhatian tanpa melanggar GDPR.

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

PII Bersembunyi dalam Log Aplikasi

Log aplikasi adalah salah satu permukaan GDPR yang paling diabaikan dalam kejuruteraan. Bukan kerana jurutera mengabaikan undang-undang. Kerana butiran pengguna memasuki fail log secara tidak sengaja.

Satu log permintaan JSON boleh memegang empat medan 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"
}

Entri tunggal itu memegang e-mel, IP, dan nombor telefon. Darabkan itu merentasi berjuta-juta panggilan API harian. Hasilnya adalah aktiviti PII yang besar. Ia memerlukan asas undang-undang, had, dan kawalan.

Perkongsian Log Pihak Ketiga Meningkatkan Risiko GDPR

Passukan berkongsi fail log dengan pihak luar sepanjang masa:

  • Firma ujian pen mendapat rekod untuk memetakan tingkah laku aplikasi
  • Perunding luar menggunakan sampel log untuk mencari titik perlahan
  • Platform log (Elastic, Datadog, Splunk) menerima aliran output penuh
  • Kontraktor SRE mengakses rekod semasa insiden
  • Pasukan pembangunan dalam entiti undang-undang lain menerima fail untuk debugging

Setiap perkongsian menimbulkan soalan Perkara 28 GDPR. Adakah penerima adalah pemproses? Adakah terdapat Perjanjian Pemprosesan Data? Adakah mereka mempunyai asas undang-undang untuk melihat butiran pengguna dalam fail tersebut?

Platform log adalah jurang biasa. Menghantar output dengan e-mel dan IP pengguna sebenar ke Elastic Cloud atau Datadog mewujudkan pautan pemprosesan. Pautan itu memerlukan DPA, klausa standard, dan alat pemindahan jika platform berada di luar EU. Setiap satu ini memerlukan masa dan semakan undang-undang.

Laluan yang lebih mudah: lucutkan butiran pengguna sebelum fail meninggalkan sistem anda. Baca gambaran keseluruhan pematuhan kami untuk peraturan Perkara 28 penuh.

Mengapa Struktur JSON Menjadikan Pengesanan Sukar

Fail log JSON berbeza-beza dalam struktur. Pengimbasan teks generik tidak mencukupi.

Kedalaman bersarang: Butiran pengguna muncul pada sebarang kedalaman. Medan request.headers.x-forwarded-for memegang alamat IP. Medan response.body.errors[0].field_value mungkin memegang input pengguna. Imbasan teks rata terlepas medan yang terkubur dalam laluan bersarang.

Skema tidak konsisten: Setiap titik akhir API menghasilkan bentuk outputnya sendiri. Fail auth tidak kelihatan seperti fail pembayaran. Fail kemas kini profil tidak kelihatan seperti kedua-duanya. Pendekatan laluan tetap terlepas butiran pengguna yang muncul pada laluan pelik dalam konteks ralat.

Nilai teknikal bercampur dengan PII: Jejak tindanan, kod ralat, dan cap masa mesti kekal utuh. Pelucutan menyeluruh memadam medan yang diperlukan dan menjadikan fail tidak berguna.

Pendekatan yang betul adalah pengesanan berasaskan kandungan. Cari butiran pengguna dengan apa yang mereka ada — corak e-mel, format IP, entiti bernama — bukan di mana mereka duduk dalam struktur. Ini mengendalikan skema variable tanpa persediaan setiap titik akhir yang diperlukan.

Penggantian Konsisten Mengekalkan Log Berguna

Keperluan utama adalah integriti rujukan. Jika sarah.johnson@company.com muncul dalam 47 entri merentasi rantai permintaan, kesemua 47 mesti dipetakan ke nilai yang sama.

Peraturan pemetaan:

  • sarah.johnson@company.comuser1@example.com (nilai yang sama sepanjang fail)
  • 82.123.45.67192.0.2.1 (IP dokumentasi RFC 5737 — jelas bukan sebenar)
  • +49 176 1234 5678+49 XXX XXX XXXX (bertopeng)

Dengan pemetaan itu, pembangun boleh menjejaki user1@example.com melalui 47 entri, membina semula rantai permintaan, dan membetulkan pepijat — tanpa melihat sebarang butiran pengguna sebenar.

Medan metadata ini kekal tidak berubah:

  • Cap masa (bukan data pengguna)
  • Kod dan jenis ralat (bukan data pengguna)
  • Jejak tindanan (mungkin mengandungi ID teknikal, bukan data pengguna)
  • Kaedah HTTP, laluan, kod status (bukan data pengguna)
  • Nilai metrik dan angka kependaman (bukan data pengguna)

Hasilnya adalah fail yang berfungsi untuk kerja debug. Ia tidak mengandungi butiran pengguna sebenar. Lihat glosari kami untuk perbezaan antara anonimisasi dan pseudonimisasi di bawah GDPR.

Kes Penggunaan: Perkongsian Log Ujian Pen

Firma SaaS menjalankan semakan keselamatan suku tahunan dengan pasukan ujian pen luar. Skop memerlukan 90 hari output API pengeluaran untuk memetakan aliran auth dan menganalisis corak ralat.

Volum mentah: 180 MB fail JSON. Kiraan PII: 4,200 e-mel pengguna unik, 1,800 IP unik, 340 nombor akaun separa dalam konteks ralat.

Tanpa melucutkan butiran pengguna terlebih dahulu, berkongsi fail tersebut akan memerlukan:

  • DPA dengan firma ujian pen
  • Alat pemindahan Perkara 46 GDPR (firma itu berada di luar EU)
  • Semakan notis subjek data

Setiap satu ini menambah kerja undang-undang dan masa.

Dengan pelucutan PII yang digunakan:

  • Masa pemprosesan: 25 minit untuk 180 MB
  • Output: 180 MB fail berstruktur sama, semua e-mel dan IP digantikan dengan nilai selamat
  • Keputusan: pasukan ujian pen menerima konteks penuh; sifar butiran pengguna sebenar sampai kepada mereka
  • Hasil GDPR: tiada DPA diperlukan — output yang dilucutkan bukan data pengguna di bawah GDPR

Lihat Soalan Lazim kami untuk soalan biasa tentang apa yang dianggap tanpa nama di bawah GDPR.

Mengintegrasikan Pelucutan PII ke dalam CI/CD

Untuk pasukan yang berkongsi output secara berkala, langkah ini boleh berjalan dalam saluran sedia ada.

Putaran log:

  1. Skrip putaran berjalan setiap malam
  2. Langkah pelucutan berjalan sebelum mengarkib atau menghantar ke mana-mana platform log
  3. Fail yang dilucutkan pergi ke sistem luar
  4. Fail asal kekal dalaman dengan pengekalan penuh

Skrip pra-perkongsian:

  1. Jurutera perlu berkongsi sampel dengan kontraktor
  2. Jalankan skrip: input=raw-logs/ output=clean-logs/
  3. Kongsi folder clean-logs/
  4. Tiada semakan PII manual diperlukan

Pendekatan sidecar:

  1. Sidecar melucutkan aliran output sebelum meneruskan
  2. Pelucutan masa nyata mengekalkan utiliti untuk analisis log
  3. Platform menerima sifar butiran pengguna sebenar

Integrasi Dasar Pengekalan

Perkara 5(1)(e) GDPR memerlukan had penyimpanan. Pelucutan PII sesuai dengan sebarang dasar pengekalan.

  • Output mentah disimpan selama 7 hari (untuk kerja debug hari ke hari)
  • Versi yang dilucutkan disimpan selama 90 hari (untuk analisis trend dan semakan insiden)
  • Langkah pelucutan berjalan pada hari ke-7

Ini memenuhi had penyimpanan. Ia menghilangkan risiko menyimpan output mentah jangka panjang.

Sumber

Sedia untuk melindungi data anda?

Mulakan pengenalan PII dengan 285+ jenis entiti dalam 48 bahasa.

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.