Skip to main content
CID222 Docs

Entity and label types

Every PII entity type, DLP secret type, toxicity label and attack label a CID222 detector can report, and where each is declared.

  • Type: reference

Every entity type, secret/DLP category, toxicity label and attack label a CID222 detector can report — where each one is declared, and which detector emits it. Regenerate with make docs-generate.

There is no shared PiiEntityType (or DlpSecretType) enum in the gateway — both interfaces type detectedEntity.type as a bare string, and the actual vocabulary is the seeded rows of ai_input_filters. This page, and the SCREAMING_SNAKE token sets it feeds to docs-lint rule 2, are built from that seed rather than from a TypeScript type, because that seed is what actually ships to a fresh database.

PII entity types (24)

One row per seeded filter in the "PII & Sensitive Data Protection" group (database/seeds/seed-data/input-filters.json). Detector is regex when the filter carries compiled patterns, ML when at least one of its entity types is also a native NER label — see native ML NER labels below — and both when it is either.

Entity type(s)FilterDetectorRegex patternsDefault action
IBAN, ACCOUNT_NUMBERbank-accountregex, ML5mask
card-expiry-cvvregex2mask
CREDIT_CARDcredit-cardregex, ML3mask
CRYPTO_ADDRESScrypto-addressML0mask
DATE_TIMEdate-timeML0flag
EMAILemailregex, ML1mask
ID_DOCUMENT_NOid-document-noregex2mask
IP_ADDRESSip-addressregex, ML2mask
LICENSE_PLATElicense-plateregex, ML1mask
LOCATION, STREET_ADDRESS, CITY, ZIPCODElocationregex, ML1flag
TC_KIMLIK, ID_NUMBERnational-idregex, ML5mask
ORGANIZATIONorganizationML0flag
PASSPORTpassportregex, ML3mask
PERSON_NAMEperson-nameregex, ML1mask
PHONEphoneregex, ML7mask
SSNssnregex, ML1mask
VKN, TAX_IDtax-idregex1mask
URLurlML0flag

Note

The ONNX NER model also emits API_KEY, which the seed does not attach to a dedicated filter row above (folded into another filter's ml_entity_types, or covered only by the model itself). It is still real — a detection reports this type — so it counts toward the PII entity type total.

DLP / secret types (28)

One row per seeded filter in the "Data Leakage Prevention (DLP)" group. Only api-key declares an ml_entity_types label (API_KEY) — every other DLP filter is regex-only, so its type in an API response is the pattern name, while value carries the bracketed placeholder shown here.

FilterReported typePlaceholder(s)Regex patternsDefault action
api-keyAPI_KEYOPENAI_API_KEY, AWS_ACCESS_KEY, AWS_SECRET_KEY, API_KEY, ANTHROPIC_API_KEY, GITHUB_TOKEN, SLACK_TOKEN, GOOGLE_API_KEY, CID_API_KEY10mask
connection-stringpostgres_connection, mysql_connection, mongodb_connection, redis_connection, url_credentialsPOSTGRES_CONNECTION, MYSQL_CONNECTION, MONGODB_CONNECTION, REDIS_CONNECTION, CREDENTIALS5mask
credential-paircredential_pair_contextCREDENTIALS1mask
cve-vulnerabilitycve_idCVE_ID1flag
mac-addressmac_colon, mac_hyphenMAC_ADDRESS2mask
medical-record-numbermrn_labeled, mrn_formatMRN2mask
oauth-tokenjwt_token, bearer_token, google_refresh_token, refresh_token_assignmentJWT_TOKEN, BEARER_TOKEN, REFRESH_TOKEN4mask
passwordpassword_assignment, turkish_password_assignment, db_password, secret_assignmentPASSWORD, DB_PASSWORD, SECRET4mask
private-keyrsa_private_key, private_key_generic, openssh_private_keyRSA_PRIVATE_KEY, PRIVATE_KEY, SSH_PRIVATE_KEY3mask
webhook-secretwebhook_secret, stripe_webhookWEBHOOK_SECRET, STRIPE_WEBHOOK_SECRET2mask

HAP / toxicity labels (13)

The 13 labels of HAP_CATEGORIES (guardrails/constants/guardrails.constants.ts), with the per-label thresholds baked into the cid-hap-guard-v2 image. log_only is 0.00 for every label in the current file — no label has that tier tuned above the floor.

LabelDefault actionBlockFlagLog-only
child_exploitationreject0.530.47
crimereject0.840.66
cyber_crimesreject0.470.36
dangerous_advicereject0.850.70
defamationreject0.690.54
hatereject0.840.61
intellectual_propertyflag0.430.35
privacyflag0.600.48
self_harmreject0.560.48
sexual_contentflag0.640.48
sexual_crimereject0.490.35
violencereject0.700.55
weaponsreject0.580.47

HAP_CATEGORIES and cid-hap-guard-v2/thresholds.json name exactly the same 13 labels.

Attack-guard labels (4)

The 4 labels of ATTACK_TYPES: prompt_injection and jailbreak from the 2-label ONNX attack model, sql_injection and xss from the deterministic libinjection scan. Default actions come from the seeded "Jailbreak & Prompt Injection" and "Injection Scan" filter groups.

LabelDefault action
prompt_injectionflag
jailbreakreject
sql_injectionreject
xssreject

ATTACK_TYPES and the seeded filter rows name exactly the same labels.

Warning

cid-attack-guard/thresholds.json keys its two rows label_0 / label_1 — positional, not named. The names (injection, jailbreak) live only in the model's own label_map.json, which is downloaded from HuggingFace at image build time and is not committed to this repo. This page cannot assert which row is which label without that file; do not assume label_0 is injection in a doc.

RowBlockFlagLog-only
label_00.700.550.40
label_10.500.400.30

Native ML NER labels (cid-security-ml)

The 21 native labels the PII ONNX model emits, from cid-security-ml/README.md — the model's own label_map.json is downloaded from HuggingFace at build time and is not committed, so this README table is the only static listing in the repo.

CategoryEntities
ContactEMAIL, PHONE, URL
FinancialCREDIT_CARD, IBAN, CRYPTO_ADDRESS, ACCOUNT_NUMBER
IdentityPERSON_NAME, SSN, TC_KIMLIK, ID_NUMBER, PASSPORT, LICENSE_PLATE, API_KEY
LocationLOCATION, STREET_ADDRESS, CITY, ZIPCODE, IP_ADDRESS
OtherORGANIZATION, DATE_TIME

Document and image analysis

Neither document-analysis/ nor image-analysis/ declares its own entity-type set. Both route through the same ContentDetectionService used by the chat pipeline (document-analysis/services/document-analysis-orchestrator.service.ts, image-analysis/services/image-analysis-orchestrator.service.ts), and their DTOs type type as a bare string (DocumentDetectedEntity, PiiDetectionItem, SafetyDetectionItem) — so a detection on a document or an image reports exactly the PII and DLP entity types above. The image path additionally reports two detector-only sources with no entity-type catalogue of their own: mrz (passport MRZ parser) and identity_layout (identity-document layout extractor) — see the content detection API source table.

On this page

Download PDF