İçeriğe geç
Gurubase Siper
English
Esc
navigateopen⌘Jpreview
Bu sayfada

Concepts

How masking works, the placeholder format, fail-closed behavior, and data sovereignty.

Siper runs every request headed to the language model through a masking step first. This page explains what happens in that step: the format of the placeholders, how the Gateway behaves when masking cannot be performed, and where your data is processed.

How does masking work?

Text arriving at the Gateway is scanned before it is forwarded to the model. Each detected piece of personal data is replaced with a placeholder in the form <CATEGORY_N>: the first person name in the text becomes <PERSON_1>, the second <PERSON_2>. The model sees only the masked text; the placeholders are preserved as the response comes back.

Detection covers 26 categories, including names, TCKN (Turkish national ID number), phone numbers, and addresses. For the full list and synthetic examples, see Categories.

Behind this accuracy is data: we built a large Turkish training dataset that covers KVKK’s special categories (including health, religion, political opinion, trade-union membership, and criminal convictions) and trained the model on it over months of work. We re-measure new releases under the same test protocol and share comparative results on the benchmark page.

Placeholder format and the language distinction

In masked text returned by the API, placeholders are in English: <PERSON_1>, <PHONE_MOBILE_1>, <TCKN_1>. Each new value in the same category increments the number by one. The management panel, on the other hand, displays the same placeholders with Turkish labels; this is only a display layer, the API contract does not change.

API output Panel display
<PERSON_1> <KİŞİ_1>
<PHONE_MOBILE_1> <TELEFON_1>
<EMAIL_1> <EPOSTA_1>

When writing integration code, always rely on the English form; the Turkish labels appear only in the panel.

What happens if masking fails?

The request stops. If the masking service cannot process a request, the Gateway does not forward that request to the external model and responds with a 502 status code; there is no “send it unmasked anyway” option. When you receive a 502, retry the request later. This behavior is called fail-closed.

Data sovereignty

Masking runs before the model call, on infrastructure hosted in Turkey. Only masked text goes to the external language model; raw personal data does not leave the country.

For retention, audit trail, and access topics, see Security.

Bu sayfa yardımcı oldu mu?