Data protection
PII detection and entity types
The personal data and secret types AgentID detects, how it detects them, and the placeholder each type becomes.
AgentID scans prompts, context, attachments and tool results for personal data (PII) and secrets. Detection combines several layers:
- Validated patterns: formats with checksums or strict rules, such as IBAN (mod 97), card numbers (Luhn), national IDs with their control digits, and provider API key formats.
- Context rules: values that are only sensitive next to a label or cue, such as "password is ...", "IČO:", "date of birth", "account number".
- Language-aware detection of names, organizations and addresses in free text, tuned for English, Czech and Slovak.
All contact details are masked, including work e-mail addresses and phone numbers.
Personal data
| Type | Detects | Placeholder |
|---|---|---|
person_name | Person names, including initials and inflected forms | PERSON_NAME |
account_owner | Account holder names | PERSON_NAME |
email | E-mail addresses | EMAIL |
phone | Phone numbers | PHONE |
address | Home and street addresses | ADDRESS |
address_postal | Postal addresses with postal code (EU) | ADDRESS_POSTAL |
date_of_birth | Dates of birth | DATE_OF_BIRTH |
year_of_birth | Birth years, for example "ročník 1975" | YEAR_OF_BIRTH |
gps_coordinates | GPS coordinates | GPS_COORDINATES |
ip_address | IP addresses | IP_ADDRESS |
mac_address | MAC addresses | MAC_ADDRESS |
login_identifier | User names and logins | LOGIN_IDENTIFIER |
health_information | Health information in context | HEALTH_INFORMATION |
license_plate | Vehicle registration plates | LICENSE_PLATE |
vin | Vehicle identification numbers | VIN |
Government and national identifiers
| Type | Detects | Placeholder |
|---|---|---|
birth_number | Czech and Slovak birth numbers (rodné číslo) | BIRTH_NUMBER |
government_id | Government ID numbers | GOVERNMENT_ID |
identity_id | Identity card numbers | IDENTITY_ID |
passport_number | Passport numbers | PASSPORT_NUMBER |
mrz_document | Machine-readable zone of EU passports and ID cards | MRZ_DOCUMENT |
driver_license | Driving licences (CZ, SK, PL, DE, AT, GB) | DRIVER_LICENSE |
healthcare_id | Health insurance and healthcare IDs | HEALTHCARE_ID |
us_ssn | US Social Security numbers | US_SSN |
pl_pesel | Polish PESEL | PL_PESEL |
pl_nip | Polish NIP | PL_NIP |
ro_cnp | Romanian CNP | RO_CNP |
de_tax_id | German tax ID (Steuer-ID) | DE_TAX_ID |
hu_taj | Hungarian TAJ | HU_TAJ |
uk_nino | UK National Insurance number | UK_NINO |
fr_insee | French INSEE number | FR_INSEE |
es_dni_nie | Spanish DNI / NIE | ES_DNI_NIE |
it_codice_fiscale | Italian codice fiscale | IT_CODICE_FISCALE |
nl_bsn | Dutch BSN | NL_BSN |
at_svnr | Austrian social insurance number | AT_SVNR |
Financial and business identifiers
| Type | Detects | Placeholder |
|---|---|---|
iban | IBANs | IBAN |
bank_account | Bank account numbers, including Czech and Slovak formats | BANK_ACCOUNT |
credit_card | Payment card numbers | CREDIT_CARD |
card_cvv | Card security codes in context | CARD_CVV |
card_expiry | Card expiry dates in context | CARD_EXPIRY |
financial_id | Other financial identifiers | FINANCIAL_ID |
vat_id | VAT IDs (DIČ) | VAT_ID |
eu_vat | European VAT numbers | EU_VAT |
organization_id | Company registration numbers (IČO) | ORGANIZATION_ID |
organization_name | Organization names | ORGANIZATION_NAME |
customer_id | Customer numbers | CUSTOMER_ID |
employee_id | Employee numbers | EMPLOYEE_ID |
member_id | Membership numbers | MEMBER_ID |
student_id | Student numbers | STUDENT_ID |
policy_number | Insurance policy numbers | POLICY_NUMBER |
claim_number | Insurance claim numbers | CLAIM_NUMBER |
Secrets and credentials
Secrets are controlled by the Block / Mask Secrets & API Keys switches, separately from personal data.
| Detects | Placeholder |
|---|---|
| Passwords in assignments or sentences ("my password is ..."), passwords in URLs | PASSWORD |
| PIN codes in a credential, account or security context | PIN_CODE |
| Security-question answers | SECRET |
| Provider API keys and tokens (for example OpenAI, Anthropic, Google, AWS, GitHub, GitLab, Slack, Stripe, Hugging Face, npm, PyPI) | SECRET |
Bearer tokens, JWTs, x-api-key headers | SECRET |
Credential and environment assignments (DB_PASSWORD=...), connection strings with credentials, Azure connection strings and SAS tokens | SECRET |
| PEM private keys, certificates and PGP private key blocks | SECRET |
| Slack and Discord webhook URLs, high-entropy base64 secrets, wallet private keys | SECRET |
| Internal project codes | SECRET |
Limits
Detection is designed to avoid false positives on ordinary words, labels and technical terms, so some values are best effort:
- names without any context, or names in languages other than English, Czech and Slovak,
- short numbers that can be an order, ticket or PIN depending on context,
- content the integration cannot read as text, such as images without OCR or provider UI the browser extension cannot access.
To protect terms the detectors cannot know, such as project names, add content policies.