Salı sabahı. Destek ekibinden biri, uzun bir müşteri e-postasını özetletmek için sohbet botuna yapıştırıyor. E-postanın altında imza var: ad soyad, telefon, bir de teslimat adresi. O metin artık kurum dışında.
Kural aslında tek cümle: kişisel veriyi modele göndermeden önce bulun ve maskeleyin. Model sağlayıcısının sözleşmesi ne derse desin, ham kişisel verinin kurum dışına çıkması KVKK açısından başlı başına bir veri işleme faaliyetidir; sağlayıcı yurt dışındaysa buna bir de yurt dışı aktarımı eklenir. Bu yazı, "gönder" tuşuna basmadan önce neye bakacağınızı tek listede topluyor.
Türkçe metinde en sık hangi kişisel veriler sızıyor?
Sızıntıyı en çok metnin kenarlarında görüyoruz: imza satırında, alıntılanan eski yazışmada, ekran görüntüsünden kopyalanan tabloda. Metnin "içeriğine" odaklanan göz, kenardakini veri olarak görmüyor.
| Veri türü | Nerede karşımıza çıkıyor | Neden gözden kaçıyor |
|---|---|---|
| Ad soyad | "Ayşe Demir ile görüşüldü" | Cümlenin öznesi; kimse veri saymıyor |
| TC kimlik no | İmza blokları, form dökümleri | 11 hane, tablonun içinde kayboluyor |
| Telefon ve e-posta | İmza satırları | Kopyala-yapıştır sırasında fark edilmiyor |
| Açık adres | "Moda Caddesi No:15" gibi ifadeler | Serbest metinde kalıba benzemiyor |
| IBAN ve kart | Ödeme yazışmaları | Rakam dizisi "teknik detay" sanılıyor |
| Sağlık bilgisi | "diyabet tanısıyla izleniyor" | Tanı adı geçmese de bağlamdan anlaşılıyor |
| Kurum içi kimlikler | Müşteri no, dosya no | Tek başına masum; sistemle eşleşince kişi |
Göndermeden önce: yedi adımlık kontrol listesi
Listeyi yukarıdan aşağı, her seferinde aynı sırayla uygulayın. Amaç kusursuzluk değil, alışkanlık; sırayla bakan göz çok daha az şey kaçırır.
- Kimlik numaraları. TCKN, vergi, SGK, pasaport, MERSİS. On ve on bir haneli rakam dizilerine bir kez daha bakın.
- Adı geçen herkes. Yalnız müşteri değil; eş, çocuk, tanık, doktor. Üçüncü kişilerin adı da kişisel veridir.
- İletişim alanları. Telefon, e-posta, açık adres. İmza bloklarını ve alıntılanan eski yazışmaları atlamayın.
- Finansal bilgiler. IBAN, kart numarası, maaş tutarı.
- KVKK m.6 izleri. Sağlık durumu, dini inanç bilgisi, sendika üyeliği, ceza mahkûmiyeti. Tanı ya da kurum adı geçmese bile cümleden anlaşılıyorsa veri oradadır.
- Kurum içi tanımlayıcılar. Müşteri numarası, dosya numarası, sipariş kodu. Sistemlerinizle eşleştirilebildiği anda kişisel veriye dönüşür.
- Dolaylı kimlikleme. "Ankara'daki tek şubemizin müdürü" cümlesinde isim yok ama kişi tek. Ya yeniden yazın ya maskeleyin.
KVKK m.6 verileri neden ayrı dikkat ister?
KVKK'nın 6. maddesi sağlık, dini inanç, etnik köken, siyasi görüş, sendika üyeliği, ceza mahkûmiyeti, cinsel hayat, biyometrik ve genetik veriyi "özel nitelikli" sayar; işleme şartları daha sıkı, ihlalin bedeli daha ağırdır.
Asıl zorluk şu: bu veriler numara kalıbına benzemez, cümlenin anlamında saklanır. "Raporu perşembe günkü diyaliz seansından sonra iletiriz" cümlesinde tek bir tanı adı geçmez. Sağlık verisi yine de oradadır. Bu yüzden özel nitelikli kategorileri yakalamak, kalıp eşlemeden fazlasını ister; cümleyi anlamak gerekir.
Maskeleme çıktısı: önce ve sonra
Maskelemede kişisel veri, türünü söyleyen bir etikete dönüşür. Metnin anlamı ve yapısı modele aynen gider; model deseni görür, kişiyi görmez. Canlı demo servisinden alınmış gerçek bir örnek:
Girdi:
Danışan Elif Korkmaz, TCKN 10000000214, adresi Moda Caddesi No:15 Kadıköy.
Çıktı:
Danışan <KİŞİ_1>, TCKN <TCKN_1>, adresi <ADRES_1>.
Örnekteki kimlik numarası gerçek bir kişiye ait değil; ürünle doğrulanmış sentetik bir test değeri.
İki şeyi açık söyleyelim. Hiçbir otomatik sistem her kişisel veriyi yakalamaz; Siper'in güncel ölçümü, insan doğrulamalı 403 belgelik Türkçe test setinde %84,6 yakalama oranı (recall). Yöntemin tamamı benchmark sayfasında açık. İkincisi, maskeleme anonimleştirme değildir: maskelenmiş metin KVKK kapsamında kişisel veri olarak işlenmeye devam eder. Bu ayrımın hukuki arka planını KVKK ne diyor? sayfasında anlattık.
Bu listeyi elle işletmek sürdürülebilir mi?
Tek seferlik bir yazışmada evet. Günde yüzlerce destek kaydı işleyen bir ekipte hayır; elle tarama üçüncü günden sonra gevşer. Otomasyon gevşemez.
İki yol var. Metni modele göndermeden önce maskeleyen bir API çağrısı ekleyebilirsiniz; ya da OpenAI SDK uyumlu bir gateway ile mevcut entegrasyonu hiç değiştirmeden aradaki maskeleme katmanını açarsınız. Siper ikisini de İstanbul'daki sunucularda, yönetilen hizmet olarak sunar; metin, modele gönderilmeden önce her seferinde maskeleme katmanından geçer.
Küçük başlayın: playground'a bir destek e-postası yapıştırın, neyin maskelendiğine bakın. Kayıt istemez.