Skip to main content
CID222 Docs

KKV tespiti

CID222'nin tespit ettiği kişisel veri varlık türleri, regex ile NER modelinin işi nasıl paylaştığı ve bir tespitin nasıl yer tutucuya dönüştüğü.

  • Sürüm: 0.4
  • Rol: admin_user, normal_user, viewer

CID222, kişisel veriyi bir prompt bir sağlayıcıya ulaşmadan önce ve bir yanıt kullanıcıya ulaşmadan önce tespit eder. İşi iki katman yapar: sağlama toplamlı deterministik desenler ve çok dilli bir ONNX NER modeli.

Sorun

Kişisel veri etiketli gelmez. Bir kişinin yazdığı paragrafın içinde, sizin seçmediğiniz bir dilde, bazen bir belgenin taraması olarak gelir. Bir desen, biçimi olanı yakalar — bir kart numarası, bir IBAN, bir ulusal kimlik — ve hiç görmediği bir adı kaçırır. Bir model adı yakalar ama kart numarasının gerçek olduğunu kanıtlayamaz. Yalnızca birini çalıştırmak ya sızdırmak ya da işi durdurmak demektir; ikisini birden çalıştırmak, aynı on beş karakter hakkındaki iki görüşü uzlaştırmak demektir.

CID222 bunu nasıl yapar

İki katman, tek katalog

Regex katmanı desenlerini veritabanındaki girdi filtresi satırlarından yükler; böylece katalog, bir yöneticinin genişletebileceği bir veridir, kod değildir. NER katmanı, 21 yerel etiket üreten tek bir çok dilli ONNX DistilBERT modelidir. Kavram örtüştüğünde her iki katman da aynı varlık türünü bildirir; böylece aynı aralığa ilişkin tespitler iki kez sayılmak yerine birleştirilir.

Neler tespit edilir

Aşağıdaki her satır paketle gelen bir filtredir. Varsayılan eylem, tohumun ayarladığıdır; bir yönetici bunu kural bazında değiştirir ve kiracı veya grup bazlı bir geçersiz kılma, kurala hiç dokunmadan tek bir departman için değiştirebilir.

Kişisel tanımlayıcılar

VarlıkAçıklamaTespit edenVarsayılan eylem
PERSON_NAMEKişi adlarıNER ve Türk kimlik kartlarındaki büyük harfli adlar için bir regexmask
EMAILE-posta adresleriRegex, NERmask
PHONETelefon numaraları — ABD, uluslararası, Türkiye mobil ve sabit hat, altı desenRegex, NERmask
SSNABD Sosyal Güvenlik numarasıus.ssn sağlama toplamlı regex, NERmask
TC_KIMLIK, ID_NUMBERT.C. kimlik numarası, OCR toleranslı ve bağlam çapalı biçimler dahiltr.tckimlik sağlama toplamlı regex, NERmask
ID_DOCUMENT_NOTürk kimlik kartı belge ve seri numarasıRegexmask
PASSPORTPasaport numaraları — ABD, genel AB, TürkiyeRegex, NERmask
DATE_TIMETarih ve saatlerYalnızca NERflag

Finansal veriler

VarlıkAçıklamaTespit edenVarsayılan eylem
CREDIT_CARDKart numaraları; düz, boşluklu ve noktalıLuhn ile marka ve uzunluk doğrulamalı regex, NERmask
IBAN, ACCOUNT_NUMBERIBAN, Türkiye IBAN'ı ve Türkiye yurt içi hesap numaralarıISO 13616 mod-97'li regex, NERmask
VKN, TAX_IDVergi kimlik numarasıtr.vkn sağlama toplamlı regexmask
CRYPTO_ADDRESSKripto cüzdan adresleriYalnızca NERmask

Konum ve ağ verileri

VarlıkAçıklamaTespit edenVarsayılan eylem
LOCATION, STREET_ADDRESS, CITY, ZIPCODEAdresler, şehirler, bölgeler, posta kodlarıNER ve il aralığı denetimli bir Türkiye posta kodu regex'iflag
IP_ADDRESSIPv4 ve IPv6Regex, NERmask
LICENSE_PLATETürkiye araç plakaları, il aralığı denetimliRegex, NERmask
URLURL'lerYalnızca NERflag
ORGANIZATIONŞirket ve kurum adlarıYalnızca NERflag
mac_colon, mac_hyphenMAC adresleriYalnızca regexmask

Sağlık verileri

VarlıkAçıklamaTespit edenVarsayılan eylem
mrn_labeled, mrn_formatTıbbi kayıt numaraları, etiketli ve çıplak biçimlerYalnızca regexmask

Warning

Tıbbi kayıt numaraları ve MAC adresleri, model etiketi olmayan yalnızca regex kurallarıdır; bu yüzden bir API yanıtındaki type değerleri düzgün bir MRN veya MAC_ADDRESS değil, yukarıda görülen desen adıdır. value değerleri yine yer tutucuyu taşır — [MRN], [MAC_ADDRESS]. Kararlı bir kategoriye ihtiyacınız varsa yer tutucuya göre eşleştirin. Daha geniş bir sağlık verisi tespit motoru yoktur: CID222 durumları, ilaçları veya tanıları sınıflandırmaz.

Note

Kişisel verinin ötesinde, ayrı bir DLP kural kümesi sızdırılan sırları tespit eder — API anahtarları, parolalar, özel anahtarlar, veritabanı bağlantı dizeleri, OAuth ve yenileme token'ları, webhook sırları, CVE tanımlayıcıları. Tam katalog içerik tespiti sayfasındadır.

Güvenmeden önce doğrulama

Bir tespit, doğrulamadan geçmeden uygulanmaz. Kurallar sekiz kategoride gelir — length, boundary, context, confidence, pattern, content, checksum ve intent_gate — ve filtre satırlarına veri olarak iliştirilir.

Sağlama toplamı kategorisi bunların en güçlüsüdür ve üç durumlu bir karar döndürür:

KararAnlamıEtkisi
validBiçim doğru ve denetim geçtiTespit geçerli kalır
invalidBiçim doğru, denetim başarısızDüşürülür veya kural söylüyorsa mask'tan flag'e indirilir
unknownBu doğrulayıcının biçiminde değilDoğrulayıcı hiç çalışmamış gibi davranılır

Bu üçüncü durum göründüğünden önemlidir. Bir ulusal kimlik alanı B1234567 gibi belge numaraları da taşır, bir banka hesabı alanı çıplak hesap numaraları da taşır. Yalnızca sayı okuyan bir sağlama toplamı ikisini de okuyamaz ve açığa düşmek, bunların sessizce atılmasını engelleyen şeydir.

Doğrulanan bir varlık yalnızca nihai güveni 0.6'ya ulaştığında geçer. Bir tespit, varlık türü için kayıtlı bir bağlam anahtar kelimesi aralığın 50 karakter yakınında göründüğünde 0.1 artırılır ve 1.0'da sınırlanır — örneğin email kuralı contact ve communication kelimelerini kaydeder. Anahtar kelime–tür haritası etkin filtre satırlarından yüklenir.

Maskeleme

Maskelenen bir varlık bir yer tutucuyla değiştirilir ve yer tutucu iki yerden birinden gelir.

  • Bir regex kuralı kendi replacement_text değerini kullanır. [EMAIL], [PHONE], [SSN], [CREDIT_CARD], [IBAN], [NATIONAL_ID], [DOCUMENT_NO], [PASSPORT], [LICENSE_PLATE], [POSTAL_CODE], [BANK_ACCOUNT], [TAX_ID], [NAME], [MRN].
  • Kuraldan bir eylem almayan bir model tespiti üretilmiş bir yer tutucu alır: alt çizgileri boşluk yapılmış varlık türü ve sonuna eklenen dört yıldız. PERSON_NAME, [PERSON NAME****] olur.
Original: "Contact john.smith@company.com or call 555-123-4567"
Masked:   "Contact [EMAIL] or call [PHONE]"

Original: "My SSN is 123-45-6789 and my card is 4111-1111-1111-1111"
Masked:   "My SSN is [SSN] and my card is [CREDIT_CARD]"

Original: "Send it to John Smith in New York"
Masked:   "Send it to [PERSON NAME****] in [LOCATION****]"

Sağlayıcıya giden, maskelenmiş metindir. Geri döndürülebilir maskeleme yapılandırıldığında, orijinale geri eşleme oturum başına AES-256-GCM ile şifrelenir; anahtar olmadan yanıtlar maskeli kalır ve hiçbir eşleme yazılmaz.

Kendi desenlerinizi ekleme

Kuruluşa özgü bir tanımlayıcı, bir veya daha çok regex deseni olan yeni bir filtre satırıdır. Yapısı paketle gelen kurallarla aynıdır:

{
  "filter_name": "employee-id",
  "filter_type": "pii_detection",
  "action_type": "mask",
  "priority": 100,
  "ml_entity_types": ["EMPLOYEE_ID"],
  "validation_entity_type": "employee_id",
  "context_types": ["staff", "personnel"],
  "is_active": true,
  "regex_patterns": [
    {
      "pattern_name": "employee_id",
      "regex_pattern": "EMP-[0-9]{6}",
      "replacement_text": "[EMPLOYEE_ID]",
      "description": "Internal employee identifier"
    }
  ]
}

ml_entity_types[0], çağıranlara bildirilen type değeri olur. context_types, güven artırımını kazandıran anahtar kelimelerdir. Deseni etkinleştirmeden önce kontrol panelinin filtre test aracıyla sınayın.

Sınırlar ve bilinen boşluklar

  • Doğruluk koşulludur ve tek bir sayı değildir. Varlık türüne, dile, metin uzunluğuna ve filtre yapılandırmasına göre değişir. Sağlama toplamı olan yapılandırılmış tanımlayıcılar deterministiğe yakın davranır; adlar, konumlar ve kuruluşlar NER modeline ve bağlamına bağlıdır. Çıplak bir yüzde değil, performans ve doğruluk sayfasındaki koşullu değerleri aktarın.
  • Tespit, CID222'nin kendi modelleri ve kurallarıdır. Yolun hiçbir yerinde Presidio, spaCy veya bir OPA/Rego politika motoru yoktur. Katalog, PostgreSQL'deki filtre satırları ve tek bir ONNX NER modelidir.
  • Serbest metin varlıkları varsayılan olarak maskelenmez, işaretlenir. LOCATION, ORGANIZATION, DATE_TIME ve URL flag kuralı olarak gelir; çünkü bunları NER kesinliğinde maskelemek sıradan prompt'ları bozar. Maskelenmelerini istiyorsanız eylemi bilinçli olarak değiştirin ve kabul ettiğiniz yanlış pozitifleri ölçün.
  • Türkçe kapsamı diğer tüm ulusal kapsamlardan derindir. T.C. kimlik numarası, vergi numarası, IBAN, yurt içi hesap, posta kodu, araç plakası ve kimlik kartı belge numarasının hepsinin özel desenleri ve doğrulayıcıları vardır. Başka bir ülkenin tanımlayıcılarının, siz eklemedikçe hiçbiri yoktur.
  • Bozuk bir desen sessizce hiçbir şeyi korumaz. Derlenemeyen, kayıtlı bir regex yükleme sırasında atlanır. Ağ geçidi bunu yüksek sesle günlüğe yazar ve filtreyi kontrol panelinde bozuk işaretler, ancak filtre yine de etkin görünür.
  • Desen önbelleği beş dakikaya kadar bayat olabilir. Regex katmanı derlenmiş desenlerini beş dakikalık bir TTL ile yeniler; bu yüzden yeni veya düzenlenmiş bir kural bir sonraki istekte mutlaka yürürlükte olmaz.
  • Sağlık verisi sınıflandırıcısı yoktur. Tıbbi kayıt numaraları iki regex deseniyle eşleştirilir. Serbest metindeki durumlar, ilaçlar ve tanılar sağlık verisi olarak tespit edilmez.
  • Parçalanmış bir yüklemenin içindeki KKV incelenmez. Hiçbir şey bir gövdeyi istekler arasında tamponlamaz; bu yüzden parçalı ve sürdürülebilir yüklemeler taranmak yerine reddedilir.

İlgili sayfalar

Son güncelleme

Bu sayfada