İçerik tespiti
CID222 tespit hattını POST /api/v1/guardrails/detect ile herhangi bir metin üzerinde çalıştırın; döndürdüğü varlıkları, eylemleri ve maskelenmiş metni okuyun.
- Sürüm: 0.4
- Rol: admin_user, normal_user, viewer
- Tür: başvuru
CID222 tespit motorunu doğrudan sunar; böylece herhangi bir metni bir modele göndermeden KKV, sırlar, toksisite ve prompt enjeksiyonu açısından tarayabilirsiniz. Aynı motor her sohbet isteğinde çalışır.
İçerik tespit etme
POST /api/v1/guardrails/detect
Tam tespit hattını — KKV, sırlar, toksisite, jailbreak ve enjeksiyon — bir metin bloğu üzerinde çalıştırır; bulunan varlıkları, kararlaştırılan eylemi ve metnin maskelenmiş bir kopyasını döndürür.
Ağ geçidinde /api/v1 ön ekini taşıyan tek yüzey budur. Diğer tüm uç noktalar kökte yer alır,
örneğin /chat/completions ve /models.
Uç nokta 201 değil 200 döndürür. Bir JWT ya da bir ağ geçidi API anahtarı
(Authorization: Bearer cid_key_<64 hex>) kabul eder. Geri döngü (loopback) veya bir RFC1918
adresinden gelen kimlik doğrulamasız istek, kiracı bağlamı olmadan kabul edilir; pakete dahil
kırmızı takım hizmeti uç noktaya bu şekilde ulaşır. Kiracı bazlı filtre geçersiz kılmaları bu
çağrılara uygulanmaz.
İstek gövdesi
| Parametre | Tür | Gerekli | Açıklama |
|---|---|---|---|
text | string | Evet | Analiz edilecek metin, 1–50.000 karakter |
check_type | string | Hayır | prompt (varsayılan) veya response |
hap_version | number | Hayır | Toksisite modeli sürümü, 1 veya 2 (varsayılan 2) |
filter | string | Hayır | DTO tarafından kabul edilir ve ardından atılır — aşağıdaki nota bakın |
Warning
filter doğrulanır ve sonra düşürülür: denetleyici bunu tespit servisine iletmez, dolayısıyla
burada bir filtre adı vermek hiçbir şeyi değiştirmez. Bir filtrenin davranışını bunun yerine
kiracı bazlı filtre geçersiz kılmasıyla kapsamlandırın.
Bilinmeyen alanlar reddedilmez, sessizce çıkarılır; çünkü ağ geçidi whitelist: true ile küresel
bir doğrulama katmanı çalıştırır. Yanlış yazılmış bir alan adı hiçbir hata üretmez.
Örnek istek
Yanıt
Yanıt; genel eylemi, bir sayımı, tespit edilen varlıkların listesini ve girdinin maskelenmiş bir kopyasını bildirir.
normalization.applied, girdi üzerinde çalışan kaçınma çözücülerini listeler — rot13, base64,
leetspeak, unicode, case — ve hiçbiri uygulanmadığında boş bir dizidir.
normalization.originalText her zaman boş bir dizedir: denetleyici bu alanı boşaltır, böylece ham
girdi asla geri verilmez.
Warning
Ham değerler asla döndürülmez. detectedEntities[].value, varlığın yer tutucusunu taşır; tespit
motoru bir yer tutucu üretmediğinde [REDACTED] gelir. Orijinal hassas metin yanıtın hiçbir
yerinde görünmez.
Tespit edilen varlık alanları
| Alan | Tür | Açıklama |
|---|---|---|
type | string | Tespit kategorisi, örneğin EMAIL, PERSON_NAME, violence, jailbreak |
value | string | [EMAIL] gibi bir yer tutucu veya [REDACTED] — asla ham değer değil |
action | string | allow, flag, mask veya reject |
confidence | number | 0–1. Regex tespitleri sabit olarak 0.95 |
source | string | Tespiti hangi motorun ürettiği, aşağıdaki tabloya bakın |
filterName | string | Tespit motoru veya filtre grubu kimliği; tek tek kural değil |
start, end | number | Girdideki karakter konumları; metnin tamamına ilişkin güvenlik tespitlerinde bulunmaz |
source şu değerlerden birini alır:
source | Üreten |
|---|---|
regex | Girdi filtresi satırlarından yüklenen regex desenleri |
ml | ONNX NER modeli |
hap_detector | 13 etiketli toksisite modeli |
jailbreak_detector | ONNX jailbreak ve enjeksiyon modeli |
injection_scan | Deterministik SQLi ve XSS taraması |
code_rule_detector | Kod Güvenliği regex kuralları |
code_ml_detector | Kod Güvenliği denetleyicisi, bildirilen her CWE için bir kayıt |
mrz | Görüntü yolundaki pasaport MRZ ayrıştırıcısı |
identity_layout | Görüntü yolundaki kimlik belgesi yerleşim çıkarıcısı |
filterName, tetiklenen kuralı değil, tespit motorunu veya filtre grubunu bildirir. Bir regex
tespiti Regex Detector bildirir ve tohum kuralının adını dahili olarak taşır; bir toksisite
tespiti filtre grubunu bildirir, örneğin Content Safety (HAP Model - 13 Categories).
Tespit eylemleri
| Eylem | Anlamı |
|---|---|
allow | Eylem yok. İçerik temiz veya eşiğin altında |
flag | Tespit kaydedilir; içerik değiştirilmeden geçer |
mask | Varlık yer tutucusuyla değiştirilir ve istek devam eder |
reject | İçerik engellenir |
Note
Birden çok varlık eşleştiğinde en güçlü eylem kazanır: reject, mask'ı yener; mask, flag'i yener; flag, allow'u yener.
Sohbet yüzeyinde bir reddetme HTTP hatası değildir. Akış, engellenen bir prompt için
{"type":"content_rejected"}, engellenen bir yanıt için {"type":"output_content_rejected"}
yayınlar ve ardından [DONE] gelir.
KKV varlık türleri
Tohumlanan KKV filtre grubu 17 kural içerir. ONNX NER modeli 21 yerel etiket üretir; regex katmanı modelin taşımadığı Türkçe formatları ve doğrulayıcıları ekler. İkisi aynı aralıkta tetiklendiğinde tespitler birleştirilir.
| Tür | Açıklama | Tespit eden | Varsayılan eylem |
|---|---|---|---|
EMAIL | E-posta adresleri | Regex, NER | mask |
PHONE | Telefon numaraları — ABD, uluslararası, Türkiye mobil ve sabit hat | Regex (6 desen), NER | mask |
PERSON_NAME | Kişi adları | NER ve Türk kimlik kartlarındaki büyük harfli adlar için bir regex | mask |
SSN | ABD Sosyal Güvenlik numarası | Regex, us.ssn sağlama toplamı, NER | mask |
TC_KIMLIK, ID_NUMBER | T.C. kimlik numarası | Regex (OCR toleranslı dahil 5 desen), tr.tckimlik sağlama toplamı, NER | mask |
ID_DOCUMENT_NO | Türk kimlik kartı belge ve seri numarası | Regex | mask |
CREDIT_CARD | Kart numaraları | Regex, Luhn ile marka ve uzunluk denetimi | mask |
IBAN, ACCOUNT_NUMBER | IBAN ve Türkiye yurt içi hesap numaraları | Regex, ISO 13616 mod-97 | mask |
VKN, TAX_ID | Vergi kimlik numarası | Regex, tr.vkn sağlama toplamı | mask |
PASSPORT | Pasaport numaraları — ABD, genel AB, Türkiye | Regex, NER | mask |
IP_ADDRESS | IPv4 ve IPv6 | Regex, NER | mask |
LICENSE_PLATE | Türkiye araç plakaları | Regex, il aralığı denetimi, NER | mask |
CRYPTO_ADDRESS | Kripto cüzdan adresleri | Yalnızca NER | mask |
LOCATION, STREET_ADDRESS, CITY, ZIPCODE | Adresler, şehirler, bölgeler, posta kodları | NER ve bir Türkiye posta kodu regex'i | flag |
ORGANIZATION | Şirket ve kurum adları | Yalnızca NER | flag |
DATE_TIME | Tarih ve saatler | Yalnızca NER | flag |
URL | URL'ler | Yalnızca NER | flag |
Note
Varsayılan eylemler paketle gelen tohum satırlarından gelir. Bir yönetici bunları kural bazında değiştirir; kiracı veya grup bazlı bir geçersiz kılma ise kuralı hiç ellemeden tek bir departmanın eylemini değiştirebilir.
Sır ve kimlik bilgisi tespiti
Ayrı bir DLP filtre grubu sırları ve kimlik bilgilerini kapsar. Kurallarından dokuzu yalnızca regex tabanlıdır.
| Tür | Kapsam | Varsayılan eylem |
|---|---|---|
API_KEY | OpenAI, Anthropic, AWS erişim ve gizli anahtarları, GitHub, Slack, Google, CID inceleme anahtarları ve genel bir desen — toplam 10 desen | mask |
password_assignment, db_password, secret_assignment | Satır içi parolalar ve gizli anahtar atamaları | mask |
rsa_private_key, private_key_generic, openssh_private_key | RSA ve OpenSSH özel anahtarları | mask |
postgres_connection, mysql_connection, mongodb_connection, redis_connection | Veritabanı bağlantı URI'leri | mask |
jwt_token, bearer_token, google_refresh_token, refresh_token_assignment | JWT'ler, bearer token'lar ve yenileme token'ları | mask |
webhook_secret, stripe_webhook | Webhook imzalama sırları | mask |
mac_colon, mac_hyphen | MAC adresleri | mask |
mrn_labeled, mrn_format | Tıbbi kayıt numaraları | mask |
cve_id | CVE tanımlayıcıları | flag |
Warning
Yalnızca API anahtarı kuralı bir model etiketi bildirir; dolayısıyla yalnızca o kural
type: "API_KEY" döndürür. Diğer DLP kuralları hiçbir etiket bildirmez, bu yüzden type
değerleri yukarıda görülen regex desen adıdır; value ise yer tutucuyu taşır — [PASSWORD],
[RSA_PRIVATE_KEY], [MRN] gibi. Kararlı bir kategoriye ihtiyacınız varsa yer tutucuya göre
eşleştirin.
Güvenlik kategorileri
KKV'nin ötesinde üç tespit motoru içeriği sınıflandırır: 13 etiketli bir toksisite modeli, 2 etiketli bir saldırı modeli ve deterministik bir enjeksiyon taraması.
| Etiket | Tespit motoru | Kapsam | Varsayılan eylem |
|---|---|---|---|
violence | Toksisite | İnsanlara veya hayvanlara yönelik yasa dışı şiddet | reject |
crime | Toksisite | Şiddet içermeyen suçlar — finansal, mülkiyet, uyuşturucu | reject |
sexual_crime | Toksisite | Rızaya dayanmayan cinsel eylemler, insan ticareti | reject |
child_exploitation | Toksisite | Çocuk istismarı materyali | reject |
defamation | Toksisite | İtibar zedeleyici asılsız iddialar | reject |
dangerous_advice | Toksisite | Tehlikeli uzmanlık tavsiyesi | reject |
weapons | Toksisite | Kitle imha silahları, yasa dışı silahlar | reject |
hate | Toksisite | Korunan özellikleri hedef alan nefret söylemi | reject |
self_harm | Toksisite | İntihar, kendine zarar verme, yeme bozuklukları | reject |
cyber_crimes | Toksisite | Hacking, zararlı yazılım, hizmet engelleme | reject |
privacy | Toksisite | Takip, ifşa, kimlik hırsızlığı | flag |
intellectual_property | Toksisite | Korsanlık, intihal, taklit | flag |
sexual_content | Toksisite | Yetişkin cinsel içeriği | flag |
jailbreak | Saldırı modeli | Rol yapma saldırıları, sistem prompt'u sızdırma | reject |
injection | Saldırı modeli | Prompt enjeksiyonu girişimleri | reject |
sql_injection | Enjeksiyon taraması | Deterministik olarak tespit edilen SQL enjeksiyonu | reject |
xss | Enjeksiyon taraması | Deterministik olarak tespit edilen siteler arası betik çalıştırma | reject |
Toksisite ve saldırı modellerinin her biri sekiz dili kapsar: en, tr, de, fr, es, ar,
it ve nl. Enjeksiyon taraması dilden bağımsızdır — sınıflandırmak yerine dizeyi ayrıştırır — ve
saldırı modelinden gelen düşük bir saldırı niyeti puanı, kararını reject'ten flag'e düşürür.
Toksisite eşikleri etiket başınadır, üç düzeylidir (block, flag, log-only) ve tek bir küresel değer yerine etiket bazında ayarlanmış olarak gelir. Saldırı modeli eşikleri de aynı şekilde etiket başına ve üç düzeylidir. Her iki küme de kendi servis imajına gömülüdür ve ortam değişkeniyle geçersiz kılınamaz; değiştirmek imajı yeniden derlemek demektir.
Güven puanları
Her tespit 0 ile 1 arasında bir güven taşır. Regex tespitleri sabit olarak 0.95'tir, çünkü
derlenmiş bir desen ya eşleşmiştir ya da eşleşmemiştir. Model tespitleri modelin kendi puanını
taşır.
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. Artırım bağlam anahtar kelimesine dayanır; iki
tespit motorunun aynı fikirde olması için verilmez.
Doğrulanan bir varlık yalnızca nihai güveni 0.6'ya ulaştığında geçer. Hiç güven değeri olmadan
gelen bir tespit 0.8 varsayılır.
Note
Doğruluk ve gecikme; metin uzunluğuna, dile, tespit motoruna ve filtre yapılandırmasına bağlıdır. Bir sayı aktarmadan önce performans ve doğruluk sayfasına bakın.
Kaydedilmiş tespitleri sorgulama
GET /admin/detections ve GET /admin/detections/stats, hattın kaydettiklerini okur. İkisi de
admin_user veya auditor rolünü ve detections.view yetkisini gerektirir; ikisi de çağıranın
zaten okuyabildiği kiracılarla sınırlıdır.
| Parametre | Tür | Açıklama |
|---|---|---|
page, limit | number | Sayfalama. Varsayılanlar 1 ve 10; limit en fazla 100 |
entity_type | string | Tespit kategorisine göre süzer, örneğin EMAIL |
action_taken | string | masked, rejected veya flagged |
message_role | string | user, assistant veya system |
tenant_id | string | Kiracıya göre süzer |
group_id | string (UUID) | Tek bir kiracı grubunun üyeleriyle daraltır; çağıranın sahibi olmadığı bir grup 404 döndürür |
session_id | string | Oturuma göre süzer |
start_date, end_date | string | ISO 8601 tarih aralığı |
search | string | Serbest metin araması |
Yanıt sayfalanmıştır:
İlgili sayfalar
- İçerik güvenliği hattı — ne, hangi sırayla çalışır ve eylemi ne belirler.
- KKV tespiti — varlık kapsamı, doğrulayıcılar ve maskeleme.
- Sohbet API'si — bir tespitin akışta nasıl göründüğü.
Son güncelleme