“Barış” bazen bir insandır.
Yabancı bir yazılım farkı bilmez.
Barış, Deniz, Umut, Güneş… Dilimizde isimler kelimelerle iç içe. Kişisel veriyi korumak, önce dili anlamaktan geçiyor.
Yazıdan akılda kalması gereken üç şey.
- 01
Türkçede Barış, Deniz, Umut gibi isimler aynı zamanda gündelik kelime olduğu ve ek aldığı için İngilizce odaklı araçlar Türkçe metinlerde çok hata yapıyor.
- 02
2.700 Türkçe belgelik testte curtaindata kişisel verilerin yüzde 89,5'ini 1 yanlış alarmla buldu; Microsoft Presidio yüzde 77,4'ünü 3.191 yanlış alarmla buldu.
- 03
curtaindata TC kimlik, vergi no, IBAN ve kart numaralarını kontrol haneleriyle doğrular ve ücretsiz aracı tamamen tarayıcıda çalıştırır.
Bu yazıda · 6 dakikalık okuma
Şu iki cümleye bakın: “Barış Bey toplantıya geç kaldı.” ve “Barış görüşmeleri ertelendi.” Bir Türk okur, birincisinin bir insandan, ikincisinin bir kavramdan söz ettiğini düşünmeden anlar. İngilizce metinler için geliştirilmiş bir yazılım ise ya ikisini de görmez ya da ikisini de bir insan sanır. Kişisel veri korumasının pek konuşulmayan gerçeği şu: Bir dili anlamayan araç, o dili konuşan insanları koruyamaz.
01İsimlerin kelime olduğu bir dil
Türkçede isimlerin büyük bir kısmı aynı zamanda gündelik kelimedir: Deniz, Umut, Barış, Güneş, Kaya, Çiçek, Bahar, Yıldız. Metinde “deniz” geçtiğinde onun bir sahil mi yoksa bir insan mı olduğunu ancak bağlam söyler. İngilizce odaklı araçların bu dengeyi kurması zor; testlerimizde Microsoft Presidio, Türkçe belgelerde “Merhaba” gibi kelimeleri bile insan adı sandı.Presidio, açık kaynak dünyasının en bilinen ve en saygın kişisel veri araçlarından biri[2]. Sorun aracın kalitesinde değil, dilin kendisinde.
02Kesme işaretinin sakladığı ipucu
Türkçe eklemeli bir dil. Aynı soyadı bir metinde Kurguoğlu, Kurguoğlu’na, Kurguoğlu’ndan ya da Kurguoğlu’nun olarak karşınıza çıkabilir. Kelimeyi olduğu gibi arayan bir sistem bunların her birini ayrı bir şey sanar ya da hiçbirini bulamaz.
Dilimiz bir ipucu da bırakır (okulda belki de en sıkıcı bulduğumuz kurallardan biri): Özel isimlere gelen ekler kesme işaretiyle ayrılır. “Deniz’e” yazıldığında bir insandan, “denize” yazıldığında sudan söz ediyoruzdur. curtaindata bu ipuçlarını Türkçe ad ve soyadı sözlükleriyle, “Sayın”, “Bey”, “Hanım”, “Davacı:” gibi hitap ve rol kalıplarıyla birlikte okur. İsmi gizlerken eki yerinde bırakır; maskeli cümle de dil bilgisi açısından düzgün kalır.Önünde böyle bir ipucu olan isimlerde curtaindata’nın başarısı %99,5. İpucu olmadan geçen, sözlükte bulunmayan nadir isimler ise hâlâ en zor kısım; bunu açıkça yazıyor ve üzerinde çalışıyoruz.
03On bir hanenin içindeki matematik
Peki örnekteki sipariş numarası neden gizlenmedi? O da on bir haneli bir sayı. Cevap, çoğumuzun hiç fark etmediği küçük bir matematikte saklı: TC kimlik numarasının son iki hanesi, önceki hanelerden hesaplanan kontrol haneleridir. Bir numaranın gerçekten kimlik numarası olup olmadığını, kimseye sormadan, yalnızca toplayıp çıkararak anlayabilirsiniz.
curtaindata TC kimlik, vergi kimlik, IBAN ve kart numaralarını bu algoritmalarla doğrular. Böylece sipariş, fatura ya da kargo takip numaralarını kimlik numarası sanıp metninizi gereksiz yere karartmaz; geçerli bir kimlik numarasını ise yanında “TC” yazmasa bile yakalar.
04Ölçtük ve sonuçları yayımladık
İddia etmek kolay; biz ölçmeyi seçtik. 2.700 Türkçe belgeye 12.300 sahte kişisel veri yerleştirdik ve curtaindata’yı Presidio ile aynı belgelerde denedik[1]. Presidio’nun ayarlarına dokunmadık, kuralları onun lehine tuttuk.
| Ölçüt | curtaindata | Presidio |
|---|---|---|
| Bulunan kişisel veri | %89,5 | %77,4 |
| Yanlış alarm | 1 | 3.191 |
| Posta adresi | %100 | %0 |
| Araç plakası | %100 | %2,2 |
| Tarama hızı | 347 KB/sn | 14 KB/sn |
Eksiğimizi de saklamıyoruz: İsimlerin genelinde iki araç başa baş (curtaindata %67, Presidio %68), hiçbir ipucu olmadan geçen nadir isimlerde ise Presidio açıkça önde. Bu açığı kapatmak için yapay zekâ tabanlı bir isim tanıma katmanı üzerinde çalışıyoruz. Bütün sayıları ve yöntemi açıkça yayımlıyoruz.
Veri egemenliği, verinin hangi ülkede saklandığıyla başlar; hangi dilde anlaşıldığıyla tamamlanır.
05Kendi dilinde, kendi bilgisayarında
Türkiye’de yapay zekâ kullanımı hızla artarken, kişisel veriyi koruyan araçların neredeyse tamamı başka diller ve başka yasalar için tasarlanmış durumda. curtaindata’yı bu boşluğu doldurmak için yaptık: Türkçe için sıfırdan, KVKK’nın kategorileriyle, VERBİS’in diliyle[3]. Avrupa’ya hizmet verenler için GDPR desteği de yolda.
Bir de ilke meselesi var. Kişisel veriyi korumak için onu başka bir sunucuya göndermek, yangını benzinle söndürmeye benzer. Bu yüzden ücretsiz maskeleme aracımız tamamen tarayıcınızda çalışır: Metniniz bilgisayarınızdan çıkmaz, hiçbir yerde saklanmaz (tarayıcınızın ağ sekmesini açıp kendiniz de izleyebilirsiniz). Kendi yazılımına bağlamak isteyenler için entegrasyon da sunuyoruz.
Türkçe, kendi perdesini hak ediyor. Biz onu örmeye başladık; siz de bir cümleyle deneyin.
curtaindata ekibi tarafından hazırlandı
Türkçe metinlerdeki kişisel verileri bulan ve gizleyen curtaindata’yı geliştiren ekip. Bu yazıdaki bütün sayılar kaynaklarıyla birlikte verilmiştir; örnek çıktılar curtaindata’nın gerçek sonuçlarıdır.
5 Ekim 2026 · 6 dk okuma
