# Masked categories

The full list of 32 categories Siper masks, with short descriptions and synthetic examples; KVKK Article 6 special categories are marked.

Siper detects and masks 32 categories in Turkish text. This page is the full list: next to each category you will find a short description and a synthetic example. Twenty-nine of them are personal data, and nine of those fall under the special categories defined in Article 6 of KVKK (Turkey’s personal data protection law). The remaining three are secrets (access key, token, private key). A secret is not personal data, but it is still removed from the text, because a leaked key can be abused immediately. Both groups have their own section below.

All examples are synthetic and do not belong to any real person. In masked output, each category has its own placeholder; the API returns them with English names. For format details, see [Concepts](/docs/en/concepts/).

## General categories

| Category | Description | Synthetic example |
| --- | --- | --- |
| Person | First and last name. | `Ahmet Yılmaz` |
| Address | Street, neighborhood, and full address details. | `Zambak Sk. No:4` |
| Birth date | Date of birth with day, month, and year. | `12.03.1981` |
| TCKN | TCKN (Turkish national ID number). | `10000000214` |
| YKN | Foreign national ID number; starts with 99. | `99…` |
| VKN | Tax ID number. | tax ID |
| MERSİS | Companies’ Central Registry System (MERSİS) number. | MERSİS no |
| SGK | Social Security Institution (SGK) registry number. | SGK registry no |
| Passport | Passport number. | `U1234…` |
| Serial no | ID card serial number. | ID serial |
| Phone (mobile) | Mobile phone number. | `0532 000 11 22` |
| Phone (landline) | Landline number. | `0212…` |
| Email | Email address. | `ayse.demir@ornek.gov.tr` |
| IBAN | Bank account number. | `TR33…` |
| Card | Payment card number. | `4111…` |
| License plate | Vehicle license plate. | `35 ABC 042` |
| IP address | IP address. | `10.1.2.3` |
| MAC address | Device hardware (MAC) address. | `00:1A:2B:3C:4D:5E` |
| Bar registration | A lawyer’s bar registration number. | `bar registration 12345` |
| Driving licence | Driving licence number. A bare number is never treated as a licence; context is required. | `licence no 123456` |

## Secret categories (not personal data)

The three categories below are not personal data and deliberately sit apart: with personal data the goal is to protect a person, with a secret the goal is to protect an organisation. Because a leaked key can be abused immediately, these are removed from the text as well. To mask only this group, use the `SECRETS` category preset in a `/mask` request.

| Category | Description | Synthetic example |
| --- | --- | --- |
| Access key | Service access keys: GitHub, AWS, Google, Slack, Stripe, npm, PyPI, OpenAI/Anthropic and the Gurubase key format. | `sk-grbs-v1-…` |
| Token (JWT) | A JWT-format access token. Not every dotted string counts; the header segment must genuinely decode. | `eyJhbGciOi…` |
| Private key | A PEM private key block, captured whole. Public keys (`PUBLIC KEY`) are out of scope. | `-----BEGIN PRIVATE KEY-----…` |

## Special categories (KVKK Article 6)

The nine categories below fall under Article 6 of Law No. 6698. A category name on its own is not personal data; mentioning the concept of “union membership” and writing down a specific person’s union membership are different things. That is why every example in the table is a sentence, and the backticked part is the expression Siper masks in that sentence. All examples are synthetic and have been verified against the live service; no real belief, origin, party, or organization name appears.

| Category | Description | Example sentence and masked part |
| --- | --- | --- |
| Health | Diagnosis, treatment, and health status tied to a person. | Ayşe Demir’e `diyabet tanısı` kondu. |
| Religion | Statements about a person’s religious belief. | Çalışan, `dini inancı` gerekçesiyle izin talep etti. |
| Ethnic origin | Statements about a person’s ethnic origin. | Tanık, `etnik kökenine` yönelik ayrımcılığa uğradığını belirtti. |
| Political opinion | A person’s political opinion and party membership. | Başvuran, `Y Partisi üyeliğini` doğruladı. |
| Union membership | A person’s union membership. | Ahmet Yılmaz, `Örnek-İş Sendikası` üyesidir. |
| Criminal conviction | A person’s conviction and security measure information. | Müşteri, `adli sicil kaydı` bulunmadığını beyan etti. |
| Sex life | Statements about a person’s sex life. | Danışan, `cinsel yönelimini` görüşmede paylaştı. |
| Biometric | Biometric template and record codes; a code is masked only when it appears near a biometric context. | Parmak izi şablonu `FP-7788` sistemde kayıtlı. |
| Genetic | Gene and variant names tied to a person; a name is masked only within a genetic context. | `BRCA1` mutasyonu taşıdığı genetik testle doğrulandı. |

Siper errs on the side of caution in these categories: an expression like “diyabet tanısı” (diabetes diagnosis) may be masked even when the sentence does not tie it to a specific person. This is a deliberate choice; the risk of missing personal data outweighs the cost of masking a general expression unnecessarily. To exclude patterns specific to your organization that you are certain carry no personal data, use the `allow_patterns` field ([Mask-only usage → Pattern lists](/docs/en/guides/mask-only/#pattern-lists)).

If you want to narrow the scope, the `/mask` request offers predefined category sets; for example, `KVKK_SENSITIVE` masks only these nine categories. Details: [Mask-only usage → Category filtering](/docs/en/guides/mask-only/#category-filtering). To try the categories on your own text, use the [Playground](/docs/en/guides/playground/).
