Metni maskele
Verilen metindeki kişisel verileri tespit eder ve seçilen dönüşüme göre
maskeler. Varsayılan dönüşüm placeholder (geri-çözülebilir yer-tutucu).
POST
/maskRequest body
requiredapplication/jsontextstringrequiredMaskelenecek ham metin.
transformstring`placeholder` (geri-çözülebilir `<KATEGORİ_N>`),
`mask` (uzunluk-koruyan `####`, geri-alınamaz).
default: "placeholder"
Allowed:
placeholdermaskmask_charstringtransform=mask için dolgu karakteri.
default: "#"
return_vaultbooleanYer-tutucu → orijinal değer eşlemesini döndürür (hassas! varsayılan kapalı,
asla loglanmaz).
default: false
categoriesobjectKategori filtreleme: `{preset, enable:[...], disable:[...]}`.
preset değerleri: ALL, IDENTITY, IDENTIFIERS, KVKK, KVKK_SENSITIVE.
(KVKK = tüm kapsam; KVKK_SENSITIVE = yalnız m.6 özel-kategori.)
allow_patternsstring[]Düzenli ifade (regular expression, Python `re` sözdizimi) listesi;
maskelemeden muaf tutma (allowlist). Tespit edilen bir alanın yüzey
metni desenlerden biriyle eşleşiyorsa o alan MASKELENMEZ. Kurum adı
gibi kamuya açık bir değer yanlışlıkla kişisel veri sanılıyorsa
kullanın. Geçersiz desen 422 döndürür.
block_patternsstring | object[]Düzenli ifade listesi; eşleşen her metin parçası, model tespit
etmemiş olsa bile ZORLA maskelenir. Kurum içi sicil/dosya numarası
gibi size özgü tanımlayıcıları garantiye almak için kullanın.
Düz dize verilirse kategori `custom` olur; `{pattern, category}`
nesnesiyle kategori atanır. Mevcut bir tespitle çakışan eşleşme
atlanır (tespit kazanır). Geçersiz desen 422 döndürür.
Show propertiesHide properties
Array of
string | objectOne of:
string
stringobject
patternstringrequiredDüzenli ifade (Python `re` sözdizimi).
categorystringZorlanan alana atanacak kategori (varsayılan `custom`).
Responses
200Maskeleme sonucu
masked_textstringMaskelenmiş metin.
transformstringspansSpan[]Show propertiesHide properties
Array of
Spancategorystringstartintegerendintegerscorenumbertimings_msobjectToplam işlem süresi (ms): yalnız { total }.
vaultobjectreturn_vault=true ise yer-tutucu → orijinal eşlemesi (hassas).
401Eksik veya geçersiz sanal anahtar
detailstring413Metin azami uzunluğu aştı (parçalayın veya /mask/batch kullanın)
422Geçersiz istek gövdesi
detailValidationError[]Show propertiesHide properties
Array of
ValidationErrorlocstring | integer[]Show propertiesHide properties
Array of
string | integerAny of:
string
stringinteger
integermsgstringtypestringRequest
import requests
response = requests.post(
"https://gw-tr.gurubase.io/mask",
headers={
"Content-Type": "application/json"
},
json={
"text": "Ahmet Yılmaz, TC 10000000214.",
"transform": "placeholder",
"mask_char": "#",
"return_vault": False,
"categories": {},
"allow_patterns": [
"\\bDemo Kurum\\b"
],
"block_patterns": [
"\\bPRJ-\\d{4}\\b",
{
"pattern": "\\bSICIL-\\d{6}\\b",
"category": "custom"
}
]
},
)curl -X POST "https://gw-tr.gurubase.io/mask" \
-H "Content-Type: application/json" \
-d '{
"text": "Ahmet Yılmaz, TC 10000000214.",
"transform": "placeholder",
"mask_char": "#",
"return_vault": false,
"categories": {},
"allow_patterns": [
"\\bDemo Kurum\\b"
],
"block_patterns": [
"\\bPRJ-\\d{4}\\b",
{
"pattern": "\\bSICIL-\\d{6}\\b",
"category": "custom"
}
]
}'const response = await fetch("https://gw-tr.gurubase.io/mask", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Ahmet Yılmaz, TC 10000000214.",
"transform": "placeholder",
"mask_char": "#",
"return_vault": false,
"categories": {},
"allow_patterns": [
"\\bDemo Kurum\\b"
],
"block_patterns": [
"\\bPRJ-\\d{4}\\b",
{
"pattern": "\\bSICIL-\\d{6}\\b",
"category": "custom"
}
]
})
});Response
{
"masked_text": "string",
"transform": "string",
"spans": [
{
"category": "person",
"start": 0,
"end": 0,
"score": 0.85
}
],
"timings_ms": {},
"vault": {}
}{
"detail": "string"
}Metin azami uzunluğu aştı (parçalayın veya /mask/batch kullanın)
{
"detail": [
{
"loc": [
"string"
],
"msg": "string",
"type": "string"
}
]
}