Detection classes
Every entity type the engine emits, how it is found, how it is validated, and the token label it gets.
The entity_type in a response is one of the values below, or {"other": "<category>"} for a custom rule. The token label is the class in upper case, so national_id becomes NATIONAL_ID_wbqtrz.
Identity
| Class | Found by | Validation |
|---|---|---|
person |
Entity model, then verifier | Name shape; junk filtered by the normaliser lexicon |
organization |
Entity model, then verifier | |
national_id |
Rule | TCKN two-step checksum, first digit non-zero. Also accepts a separated form, and 8 to 12 digits next to a “T.C. Kimlik” or “TCKN” label without a checksum, for OCR-damaged values. Foreigner IDs (99 + 9 digits) under a label. |
passport |
Rule, label-gated | Shape under a passport caption. Machine-readable zones are recognised by their check digits. |
date_of_birth |
Rule under a birth-date label or role word, and the role model | Year between 1900 and now. A bare date is never a date of birth. |
place_of_birth |
Rule under a caption, and the normaliser retyping a location | |
nationality |
Rule under a caption, and the normaliser retyping a location | |
license_plate |
Rule | Turkish plate grammar, province 01 to 81, with a plate word nearby |
Contact and location
| Class | Found by | Validation |
|---|---|---|
phone |
Rules | Numbering-plan check with Türkiye as the default region; twelve further regions with a country prefix or label. Excludes values that are a valid TCKN, a Luhn-valid card or a date. |
email |
Rule | Address shape with word boundaries |
address |
Normaliser, composed from a model location plus unit nouns and numbers | |
location |
Entity model, then verifier | |
coordinates |
Rule | Decimal pairs inside the Turkish bounding box, or anywhere under a position label; DMS and hemisphere forms |
url |
Rule | www. or an http(s) scheme |
ip_address |
Rule | IPv4 and IPv6 parsed as addresses |
Financial and account
| Class | Found by | Validation |
|---|---|---|
iban |
Rule | ISO 13616 mod-97, length 15 to 34, Turkish and foreign |
credit_card |
Rule | Luhn, four groups of four. A card inside an IBAN is ignored. |
vkn |
Rule, label-gated | Ten digits under a tax-number label; the caption-above layout also requires the VKN check digit |
bank_account |
Rule, label-gated | Account numbers under a label; SWIFT/BIC with an ISO country code |
customer_id |
Rule, label-gated | 6 to 20 digits under a customer or subscriber label; excludes valid TCKNs and cards |
Telecom and device
| Class | Found by | Validation |
|---|---|---|
imsi |
Rule | 286 plus 12 digits bare; 14 to 15 digits under an IMSI label |
iccid |
Rule | 89 plus 17 or 18 digits, Luhn |
imei |
Rule | 15 digits, Luhn; IMEISV as 16 digits under a label |
Custom categories
Rules published in the management console add categories of your own, per tenant or globally: case numbers, policy numbers, internal identifiers. A rule is a regular expression with a category, a confidence and a lifecycle (draft, active, disabled). Published rules take effect at the next request. A category that is not a built-in class is reported as {"other": "<category>"} and tokenised under its own label.
Languages
Rules carry Turkish and English labels throughout, with German phone formats and French captions for passports, place of birth and nationality. The entity model is trained on Turkish. Identifier rules are Turkish-specific where the identifier is (TCKN, VKN, plates) and international where it is not (IBAN, cards, passports, IP addresses).
All example values in this documentation are synthetic.