Ajanın hassas veri görmesini engelleyen maskeleme ve kırpma akışı

Ajanın hassas veri görmesini engelleyen maskeleme ve kırpma akışı

Yapay zeka ajanları artık müşteri destek sistemlerinden finansal analizlere kadar her yerde. Ancak bu ajanların eriştiği veriler arasında kredi kartı numaraları, TC kimlik bilgileri veya sağlık kayıtları varsa işler karmaşıklaşıyor. Ajanın hassas veri görmesini engelleyen maskeleme ve kırpma akışı, tam da bu noktada devreye giriyor: LLM’e gönderilen prompt’lardan hassas bilgileri ayıklayarak hem KVKK uyumluluğunu sağlıyor hem de olası veri sızıntılarının önüne geçiyor.

Kilit Çıkarım: 2024 verilerine göre yapay zeka kaynaklı veri güvenliği olayları bir önceki yıla kıyasla %56’dan fazla artış gösterdi. Maskeleme akışı kurmak artık “iyi olur” değil, zorunluluk.

Başlamadan Önce

Maskeleme pipeline’ı kurmadan önce elinizde olması gereken araçlar ve karşılamanız gereken ön koşullar var. Eksik bir hazırlıkla başlamak, sonradan tüm sistemi yeniden yapılandırmak anlamına gelebilir.

Gerekenler

  • Bir LLM API erişimi (OpenAI, Claude, Amazon Bedrock vb.)
  • Veri maskeleme kütüphanesi veya servisi (Presidio, AWS Comprehend, Langfuse)
  • Regex pattern koleksiyonu (TC Kimlik, IBAN, telefon formatları için)
  • Test veri seti (gerçek PII içermeyen sentetik veriler)
  • Loglama altyapısı (maskeleme işlemlerini izlemek için)

Ön Koşullar

  • Hangi veri türlerinin “hassas” sayılacağına dair net bir politika
  • KVKK veya GDPR kapsamında veri işleme envanteri
  • Mevcut ajan mimarisinin dokümantasyonu
  • Geri dönüşümlü (reversible) mi yoksa kalıcı maskeleme mi yapılacağına karar

Maskeleme ve Kırpma: Temel Farklar

Maskeleme ve Kırpma: Temel Farklar

Bu iki kavram sıklıkla karıştırılıyor. Oysa işlevleri ve kullanım senaryoları oldukça farklı.

Özellik Maskeleme (Masking) Kırpma/Redaksiyon (Redaction)
Veri Durumu Geri döndürülebilir (token ile) Kalıcı olarak silinir
Kullanım Alanı Test ortamları, geçici işlemler Arşivleme, log kayıtları
Performans Etkisi Orta (token eşleme gerektirir) Düşük
Uyumluluk KVKK “anonimleştirme” şartını kısmen karşılar Tam uyumluluk sağlar
Risk Seviyesi Orta (token sızarsa veri açığa çıkabilir) Düşük

Pro İpucu: Hibrit yaklaşım en güvenlisi. Prompt’a giden veride maskeleme yap, log’lara yazarken redaksiyon uygula. Böylece hem debug yapabilirsin hem de kalıcı kayıtlarda hassas veri tutmazsın.

Adım Adım Maskeleme Akışı Kurulumu

Aşağıdaki adımlar, tipik bir LLM ajan sisteminde pre-processing katmanı olarak maskeleme pipeline’ı kurmayı gösteriyor.

  1. Veri Sınıflandırma Kurallarını Tanımla: Hangi pattern’lerin hassas sayılacağını belirle. TC Kimlik için 11 haneli sayı + modül kontrolü, IBAN için TR + 24 karakter gibi spesifik regex’ler oluştur.
  2. Tespit Motorunu Entegre Et: AWS Comprehend PII Detection, Microsoft Presidio veya açık kaynak spaCy tabanlı NER modelleri kullanabilirsin. Türkçe için özel eğitilmiş modeller tercih et.
  3. Maskeleme Stratejisini Seç: Üç temel yöntem var:
    • Token Replacement: “Ahmet Yılmaz” → “[PERSON_1]”
    • Partial Masking: “5321***4567” (kısmi gösterim)
    • Synthetic Swap: Gerçek veriyi benzer formatta sahte veriyle değiştir
  4. Token Mapping Tablosu Oluştur: Eğer geri dönüşümlü maskeleme yapıyorsan, orijinal değer ile token arasındaki eşleşmeyi güvenli bir vault’ta sakla. Bu tablo asla LLM’e gönderilmemeli.
  5. Pre-Processing Hook’u Ekle: Ajan prompt’u oluşturmadan hemen önce çalışacak bir middleware yaz. Bu katman tüm kullanıcı girdilerini ve context verilerini tarayacak.
  6. Post-Processing Restore (Opsiyonel): LLM yanıtında token’lar varsa bunları orijinal değerlerle değiştir. Dikkat: Bu adım sadece güvenli, son kullanıcıya dönük çıktılarda yapılmalı.
  7. Audit Log Mekanizması Kur: Her maskeleme işlemini kaydet: zaman damgası, tespit edilen PII türü, uygulanan maskeleme yöntemi. Ancak orijinal değeri loglama!

Süre: Temel bir pipeline için 2-3 gün, production-ready sistem için 1-2 hafta.

Maliyet: Açık kaynak araçlarla sıfır, bulut servisleriyle aylık $50-500 arası (işlem hacmine göre).

Yaygın Hatalar ve Kaçınılması Gerekenler

Yaygın Hatalar ve Kaçınılması Gerekenler

Pratikte en sık karşılaşılan sorunlar genellikle basit görünen detaylardan kaynaklanıyor.

  • Sadece regex’e güvenmek: “Banka hesap numaram 1234567890123456” cümlesinde sayı tek başına kredi kartı pattern’ine uymaz ama bağlamda hassas veri.
  • Türkçe karakter sorunları: “İ”, “ı”, “ş”, “ğ” karakterleri düzgün handle edilmezse “İbrahim” ismi tespit edilemez.
  • Over-masking: Her sayıyı maskelemek ajan performansını düşürür. “3 adet ürün” ifadesindeki “3” hassas değil.
  • Token’ları LLM context’inde tutmak: “[PERSON_1] = Ahmet Yılmaz” şeklinde mapping’i prompt’a eklemek tüm güvenliği sıfırlar.
  • Test verisiyle production’a çıkmak: Sentetik veri setinde çalışan sistem, gerçek dünya varyasyonlarında başarısız olabilir.

Mini Senaryo: Müşteri Destek Ajanı

Şu durumu düşün: Bir e-ticaret sitesinin AI destek ajanı var. Müşteri şöyle yazıyor:

“Siparişim gelmedi. TC kimlik numaram 12345678901, telefon 0532 123 4567. Kartımın son 4 hanesi 9876.”

Maskeleme akışı olmadan bu metin doğrudan LLM’e gider. LLM yanıtında bu bilgileri tekrar edebilir, log’lara yazılabilir veya fine-tuning veri setine sızabilir.

Doğru akış şöyle işler:

  1. Pre-processor metni tarar
  2. TC Kimlik → [TCKN_1], Telefon → [PHONE_1], Kart → [CARD_LAST4_1] olarak maskelenir
  3. LLM maskelenmiş metinle çalışır
  4. Yanıt kullanıcıya dönerken gerekirse token’lar restore edilir
  5. Tüm log’lar maskelenmiş haliyle saklanır

Sıkça Sorulan Sorular

Maskeleme LLM performansını etkiler mi?

Minimal düzeyde. Token sayısı genellikle aynı kalır veya azalır. Asıl gecikme pre-processing aşamasında yaşanır; bu da ortalama 50-200ms civarındadır.

Hangi bulut servisleri Türkçe PII tespiti destekliyor?

Hangi bulut servisleri Türkçe PII tespiti destekliyor?

AWS Comprehend ve Azure AI Language Türkçe desteği sunuyor. Google Cloud DLP’nin Türkçe desteği daha sınırlı. Açık kaynak tarafında Presidio’ya Türkçe model eklemek mümkün.

KVKK açısından maskeleme yeterli mi?

Tek başına yeterli değil. KVKK, veri işleme için açık rıza veya meşru gerekçe arıyor. Maskeleme teknik bir önlem; hukuki yükümlülüklerin yerine geçmez.

Real-time maskeleme mi yoksa batch işlem mi tercih edilmeli?

Ajan sistemlerinde real-time zorunlu. Batch maskeleme daha çok veri ambarı veya analitik senaryolarında kullanılır.

Sonuç

AI ajanların hassas verilere erişimini kontrol altına almak, hem yasal uyumluluk hem de kullanıcı güveni açısından kritik. Maskeleme ve kırpma akışı, bu kontrolün teknik omurgasını oluşturuyor.

Özetlemek gerekirse:

  • Maskeleme geri döndürülebilir, redaksiyon kalıcıdır — ihtiyaca göre seç
  • Türkçe karakter ve bağlam duyarlılığı için özelleştirilmiş modeller kullan
  • Token mapping’i asla LLM’e gönderme
  • Audit log’larında bile orijinal PII tutma
  • Hibrit yaklaşım (prompt’ta maskeleme + log’da redaksiyon) en güvenli yol

Veri güvenliği olaylarının bu denli arttığı bir dönemde, “sonra hallederiz” yaklaşımı artık kabul edilebilir değil. Pipeline’ı bugün kur, yarın rahat uyu.

Efe avatarı
Teknoloji konularını günlük hayata uyarlayan içerikler hazırlar; konuyu uzatmadan, net adımlarla anlatmaya odaklanır. Kahve eşliğinde ürün karşılaştırmaları okumak ve yeni araçları denemek rutinidir.