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.

The built-in detector works without any setup. Until you add it as a connector, sensitive-data scans use its defaults, with IPv4 detection off. Add it as a connector to change its settings for a project and environment:

Open the Connectors page

Go to Connectors (/connectors) in the project and environment the setting is for, and choose Add connector.

Choose the Built-in detector

In the Sensitive-data inspection category, choose Built-in detector and give it a name. It needs no credentials and no external service.

Choose whether to detect IP addresses

Turn on Also detect IP addresses only where addresses count as personal data. It’s off by default because version numbers look like addresses.

Test it

Save, then use Test connection. The detector scans a sample containing a test card number and reports Working: it found the test card number and nothing else. when it’s healthy.

Scans in that project and environment then use the saved settings. Document redaction for document connectors always uses the detector’s defaults, whatever this connector is set to.

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.