By · Last updated 2026-06-05

Bloga DönTeknik

GDPR Uyumlu Log Anonimleştirmesi: Hata Ayıklamayı Koruyun

Uygulama günlükleri sessiz sedasız kullanıcı e-postalarını, IP adreslerini ve hesap numaralarını biriktirir. Günlükleri üçüncü taraflarla, yüklenicilerle ve gözlemlenebilirlik platformlarıyla güvenli şekilde paylaşmanın yolu.

June 5, 20267 dk okuma
JSON logsGDPR complianceDevOps privacylog anonymizationdata minimization

KKB Uygulama Günlüklerinde Gizleniyor

Uygulama günlükleri, mühendislikteki en göz ardı edilen GDPR yüzeylerinden biridir. Mühendislerin kanunu görmezden gelmesi nedeniyle değil. Kullanıcı ayrıntıları log dosyalarına kazara girdiği için.

Tek bir JSON istek günlüğü dört KKB alanı içerebilir:

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

Bu tek giriş bir e-posta, bir IP ve bir telefon numarası içeriyor. Bunu günde milyonlarca API çağrısıyla çarpın. Sonuç büyük ölçekli bir KKB etkinliğidir. Hukuki dayanak, sınırlar ve kontroller gerektirir.

Üçüncü Taraflarla Log Paylaşımı GDPR Riskini Artırıyor

Ekipler log dosyalarını dış taraflarla her zaman paylaşır:

  • Sızma testi firmaları uygulama davranışını haritalamak için kayıtlar alır
  • Dış danışmanlar yavaş noktaları bulmak için log örnekleri kullanır
  • Log platformları (Elastic, Datadog, Splunk) tam çıktı akışları alır
  • SRE yüklenicileri olaylar sırasında kayıtlara erişir
  • Diğer yasal kuruluşlardaki geliştirici ekipleri hata ayıklama için dosyalar alır

Her paylaşım GDPR Madde 28 sorularını gündeme getirir. Alıcı bir veri işleyici midir? Bir Veri İşleme Sözleşmesi var mı? Bu dosyalardaki kullanıcı ayrıntılarını görmek için hukuki dayanakları var mı?

Log platformları yaygın bir açıktır. Gerçek kullanıcı e-postaları ve IP'leri içeren çıktıları Elastic Cloud veya Datadog'a göndermek bir işleme bağlantısı yaratır. Bu bağlantı, platform AB dışında yer alıyorsa bir VİS, standart maddeler ve bir transfer aracı gerektirir. Bunların her biri zaman ve hukuki inceleme gerektirir.

Daha basit yol: kullanıcı ayrıntılarını sisteminizden çıkmadan önce soyun. Tam Madde 28 kuralları için uyumluluk genel bakışımıza bakın.

JSON Yapısının Tespiti Neden Zorlaştırdığı

JSON log dosyaları yapı bakımından farklılık gösterir. Genel metin taraması yeterli değildir.

İç içe geçme derinliği: Kullanıcı ayrıntıları herhangi bir derinlikte görünür. request.headers.x-forwarded-for alanı IP adreslerini tutar. response.body.errors[0].field_value alanı kullanıcı girdisini içerebilir. Düz metin taraması iç içe yollarda gömülü alanları kaçırır.

Tutarsız şemalar: Her API uç noktası kendi çıktı şeklini üretir. Kimlik doğrulama dosyaları ödeme dosyalarına benzemez. Profil güncelleme dosyaları her ikisine de benzemez. Sabit yol yaklaşımı, hata bağlamlarındaki tuhaf yollarda görünen kullanıcı ayrıntılarını kaçırır.

KKB ile karışık teknik değerler: Yığın izleri, hata kodları ve zaman damgaları bozulmadan kalmalıdır. Kapsamlı silme, gerekli alanları da siler ve dosyayı işe yaramaz hale getirir.

Doğru yaklaşım içerik tabanlı tespittir. Kullanıcı ayrıntılarını yapı içindeki konumlarına göre değil, ne olduklarına göre — e-posta kalıbı, IP formatı, adlandırılmış varlık — bulun. Bu, uç nokta başına kurulum gerektirmeden değişken şemalarla başa çıkar.

Tutarlı Değiştirme Günlükleri Kullanışlı Tutar

Temel gereksinim referans bütünlüğüdür. sarah.johnson@company.com bir istek zinciri boyunca 47 girdide görünüyorsa, 47'sinin tamamı aynı değere eşlenmelidir.

Eşleme kuralları:

  • sarah.johnson@company.comuser1@example.com (dosya boyunca aynı değer)
  • 82.123.45.67192.0.2.1 (RFC 5737 dokümantasyon IP'si — açıkça gerçek değil)
  • +49 176 1234 5678+49 XXX XXX XXXX (maskelenmiş)

Bu eşlemeyle bir geliştirici, user1@example.com'u 47 girdide takip edebilir, istek zincirini yeniden oluşturabilir ve hatayı düzeltebilir — gerçek kullanıcı ayrıntılarını görmeden.

Bu meta veri alanları değişmeden kalır:

  • Zaman damgaları (kullanıcı verisi değil)
  • Hata kodları ve türleri (kullanıcı verisi değil)
  • Yığın izleri (teknik kimlikler içerebilir, kullanıcı verisi değil)
  • HTTP yöntemleri, yollar, durum kodları (kullanıcı verisi değil)
  • Metrik değerler ve gecikme rakamları (kullanıcı verisi değil)

Sonuç hata ayıklama çalışmaları için işlevsel bir dosyadır. Gerçek kullanıcı ayrıntısı içermez. GDPR kapsamında anonimleştirme ile takma adlaştırma arasındaki fark için sözlüğümüze bakın.

Kullanım Durumu: Sızma Testi Log Paylaşımı

Bir SaaS firması, dış bir sızma testi ekibiyle üç aylık bir güvenlik incelemesi yürüttü. Kapsam, kimlik doğrulama akışlarını haritalamak ve hata kalıplarını analiz etmek için 90 günlük üretim API çıktısını gerektiriyordu.

Ham hacim: 180 MB JSON dosyası. KKB sayısı: 4.200 benzersiz kullanıcı e-postası, 1.800 benzersiz IP, hata bağlamlarında 340 kısmi hesap numarası.

Kullanıcı ayrıntılarını önce soymadan bu dosyaları paylaşmak şunları gerektirecekti:

  • Sızma testi firmasıyla bir Veri İşleme Sözleşmesi
  • Bir GDPR Madde 46 transfer aracı (firma AB dışında bulunuyordu)
  • Veri öznesu bildirim incelemesi

Bunların her biri hukuki iş ve zaman ekler.

KKB soyma uygulandığında:

  • İşlem süresi: 180 MB için 25 dakika
  • Çıktı: Yapısal olarak özdeş 180 MB dosya, tüm e-postalar ve IP'ler güvenli değerlerle değiştirilmiş
  • Sonuç: Sızma testi ekibi tam bağlamı aldı; hiçbir gerçek kullanıcı ayrıntısı onlara ulaşmadı

GDPR sonucu: Veri İşleme Sözleşmesi gerekmedi — soyulmuş çıktı GDPR kapsamında kullanıcı verisi değildir.

GDPR kapsamında anonim sayılan şeyle ilgili yaygın sorular için SSS sayfamıza bakın.

KKB Soymayı CI/CD'ye Entegre Etme

Düzenli olarak çıktı paylaşan ekipler için bu adım mevcut ardışık düzenlerin içinde çalışabilir.

Log döndürme:

  1. Döndürme betiği her gece çalışır
  2. Soyma adımı arşivlemeden veya herhangi bir log platformuna göndermeden önce çalışır
  3. Soyulmuş dosyalar dış sistemlere gider
  4. Orijinal dosyalar tam saklama süresiyle dahili kalır

Paylaşım öncesi betik:

  1. Mühendis bir yükleniciye örnek paylaşması gerekiyor
  2. Betiği çalıştırıyor: input=raw-logs/ output=clean-logs/
  3. clean-logs/ klasörünü paylaşıyor
  4. Elle KKB incelemesi gerekmiyor

Sidecar yaklaşımı:

  1. Sidecar çıktı akışını iletmeden önce soyar
  2. Gerçek zamanlı soyma, log analizi için kullanışlılığı korur
  3. Platform hiçbir gerçek kullanıcı ayrıntısı almaz

Saklama Politikası Entegrasyonu

GDPR Madde 5(1)(e) saklama sınırlamasını gerektirir. KKB soyma, herhangi bir saklama politikasına entegre olur.

  • Ham çıktı 7 gün saklanır (günlük hata ayıklama çalışmaları için)
  • Soyulmuş sürümler 90 gün saklanır (eğilim analizi ve olay incelemesi için)
  • Soyma adımı 7. günde çalışır

Bu, saklama sınırlamasını karşılar. Ham çıktıyı uzun vadeli tutma riskini ortadan kaldırır.

Kaynaklar

Verilerinizi korumaya hazır mısınız?

48 dilde 285+ varlık türü ile PII anonimleştirmeye başlayın.

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.