Skip to content

Detectors

Detectors are connectors in the sensitive-data inspection category, listed beside the datasource, memory and scanner connectors.

The Built-in detector runs inside your Shield360 deployment. No content is sent anywhere. It’s deliberately a small, high-confidence set of checkable patterns: card numbers that pass a Luhn check, national ID numbers in issued ranges, and keys with a known prefix. A detector that cries wolf is one nobody reads.

RuleEntityHow it’s confirmed
Private key blockprivate_keyPEM BEGIN … PRIVATE KEY header (RSA, EC, OpenSSH, PGP, DSA)
AWS access keyapi_keyAKIA / ASIA prefix and length
GitHub tokenapi_keyghp_, gho_, ghu_, ghs_, ghr_ prefix
Slack tokenapi_keyxox[baprs]- prefix
Google API keyapi_keyAIza prefix and length
OpenAI / Anthropic keyapi_keysk-, sk-proj-, sk-ant- prefix
JWTjwtThree base64url segments beginning eyJ
Assigned secretcredentialpassword=, secret:, api_key= and similar followed by a value. Placeholders such as ***, <token>, ${VAR} and changeme are ignored.
Payment cardpayment_card13–19 digits that pass a Luhn check
US Social Security numbernational_id###-##-#### in an issuable range
IBANbank_accountCountry code, check digits and account format
Email addressemailAddress format, excluding file names such as logo@2x.png
Phone numberphoneInternational (E.164) format
IPv4 address (opt-in)ip_addressRoutable addresses only

IPv4 detection is off by default. A version string like 1.24.3.7 is indistinguishable from an address, and an address counts as personal data only in some jurisdictions. Enable it in the detector’s settings when you need it.

Patterns are written to scan in linear time, because the input is arbitrary text from an agent and a pattern that backtracks could stall a scan.

Severity is set by the kind of entity found:

SeverityEntities
Criticalprivate_key, credential, api_key, payment_card, national_id
Highbank_account, jwt, health_term, date_of_birth
Mediumpostal_address, phone, email
Lowperson_name, ip_address, other

The built-in detector doesn’t produce health_term, date_of_birth, postal_address or person_name. Those kinds exist for detector connectors that do.

Every detector connector declares whether it sends content off the premises. The built-in detector doesn’t. A cloud detector would, and Shield360 tells an administrator so before it’s enabled, not after. This follows Shield360’s local-first default: content stays in your deployment unless you choose otherwise.