Skip to main content

Built-in Rules

Sensitive Data Scanner ships 75 built-in detection rules, all active by default. Every rule can be disabled or re-enabled per installation from the Rule Catalog, and custom rules can be added alongside them.

A few rules match formats broad enough that their hit rate depends on the Jira instance - postal addresses, IP addresses, employee IDs, national identifiers, domestic bank accounts, residence permits. If one of them buries the genuine secrets under false positives on your content, disable it in the Rule Catalog.

Precedence between rules​

  • Provider-specific credential matches win over generic assignment and high-entropy candidates when their spans overlap. An AWS key is reported as an AWS key, not as "high entropy token".
  • The Swiss QR-IBAN, Swiss IBAN, Swiss identity-document MRZ, and Swiss phone rules take precedence over their generic counterparts.

Validation beyond the regex​

Several rules check more than a shape, so a number that merely looks right is not reported:

  • Swiss AHV/AVS numbers require the 756 prefix and a valid EAN-13 check digit.
  • Swiss QR references require the recursive Modulo-10 check digit.
  • Swiss QR-IBANs additionally require a QR-IID in the reserved 30000-31999 range.

Rule versioning​

Built-in rules are versioned and immutable. A new release appends a new rule version rather than editing the old one, and preserves whatever active/inactive choice an administrator has made.

One consequence is worth knowing: toggling a built-in rule on or off appends a version of your own, which raises its version number above the shipped catalog's. Startup reconciliation only appends when the catalog version is higher than the stored one, so a built-in rule you have toggled stops picking up catalog updates automatically. Rule detail shows the full version history, and you can roll back to any earlier version.

Built-in rules can be enabled without a test run - their regexes ship pre-validated and covered by tests. The test-before-activation gate applies to custom rules only.

The catalog​

Core secret patterns​

6 rules.

RuleIDCategorySeverity
AWS access key candidatesecret.aws-access-key-candidateSecretHigh
Bearer token candidatesecret.bearer-token-candidateSecretHigh
PEM private key blocksecret.pem-private-key-blockSecretCritical
JWT candidatesecret.jwt-candidateSecretHigh
Password assignmentsecret.password-assignmentSecretMedium
High entropy token candidatesecret.high-entropy-token-candidateSecretMedium

Core PII patterns​

2 rules.

RuleIDCategorySeverity
Email addresspii.email-addressPIILow
Phone number candidatepii.phone-number-candidatePIILow

Core financial patterns​

5 rules.

RuleIDCategorySeverity
IBAN candidatefinancial.iban-candidateFinancialMedium
Credit card candidatefinancial.credit-card-candidateFinancialHigh
BIC/SWIFT code candidatefinancial.bic-candidateFinancialLow
US ABA routing number candidatefinancial.us-routing-number-candidateFinancialMedium
Crypto wallet address candidatefinancial.crypto-wallet-candidateFinancialMedium

Core telecom patterns​

4 rules.

RuleIDCategorySeverity
IMEI candidatetelecom.imei-candidateTelecomMedium
SIM ICCID candidatetelecom.iccid-candidateTelecomMedium
MAC address candidatetelecom.mac-address-candidateTelecomLow
SIP URI candidatetelecom.sip-uri-candidateTelecomLow

Provider credentials​

29 rules.

RuleIDCategorySeverity
AWS secret access keycredential.aws-secret-access-keyCredentialCritical
AWS session tokencredential.aws-session-tokenCredentialCritical
GitHub tokencredential.github-tokenCredentialCritical
GitLab tokencredential.gitlab-tokenCredentialCritical
Slack tokencredential.slack-tokenCredentialHigh
Slack webhookcredential.slack-webhookCredentialHigh
Stripe secret keycredential.stripe-secret-keyCredentialCritical
Stripe test keycredential.stripe-test-keyCredentialLow
Google API keycredential.google-api-keyCredentialHigh
GCP service account private keycredential.gcp-service-accountCredentialCritical
Azure storage keycredential.azure-storage-keyCredentialCritical
Azure SAS tokencredential.azure-sas-tokenCredentialHigh
SendGrid API keycredential.sendgrid-api-keyCredentialCritical
npm access tokencredential.npm-access-tokenCredentialHigh
PyPI API tokencredential.pypi-api-tokenCredentialHigh
OpenAI API keycredential.openai-api-keyCredentialCritical
Hugging Face tokencredential.huggingface-tokenCredentialHigh
Twilio API keycredential.twilio-api-keyCredentialHigh
Mailgun API keycredential.mailgun-api-keyCredentialHigh
Shopify access tokencredential.shopify-access-tokenCredentialHigh
DigitalOcean tokencredential.digitalocean-tokenCredentialHigh
Telegram bot tokencredential.telegram-bot-tokenCredentialHigh
Discord credentialcredential.discord-tokenCredentialHigh
Cloudflare API tokencredential.cloudflare-tokenCredentialHigh
Atlassian API tokencredential.atlassian-api-tokenCredentialHigh
Database URI with passwordcredential.database-uriCredentialCritical
Basic-auth URLcredential.basic-auth-urlCredentialHigh
Docker registry authcredential.docker-config-authCredentialCritical
Kubernetes Secretcredential.kubernetes-secretCredentialHigh

Generic secret assignments​

4 rules.

RuleIDCategorySeverity
API key assignmentsecret.generic-api-key-assignmentSecretHigh
Client secret assignmentsecret.generic-client-secret-assignmentSecretHigh
Token assignmentsecret.generic-token-assignmentSecretHigh
Crypto seed phrasesecret.crypto-seed-phraseSecretCritical

Extended PII​

11 rules.

RuleIDCategorySeverity
US Social Security numberpii.us-social-security-numberPIIHigh
National identifier candidatepii.national-identifier-candidatePIIHigh
Passport MRZpii.passport-mrzPIIHigh
Date of birthpii.date-of-birthPIIMedium
IP addresspii.ip-addressPIILow
Physical addresspii.physical-addressPIILow
GPS coordinatepii.gps-coordinatePIIMedium
Medical record numberpii.medical-record-numberPIIHigh
Health insurance identifierpii.health-insurance-identifierPIIHigh
Employee identifierpii.employee-identifierPIILow
Vehicle identification numberpii.vehicle-identification-numberPIIMedium

Extended financial​

3 rules.

RuleIDCategorySeverity
Domestic bank accountfinancial.domestic-bank-accountFinancialMedium
Tax identifierfinancial.tax-identifierFinancialMedium
Card security codefinancial.card-security-codeFinancialHigh

Extended telecom​

3 rules.

RuleIDCategorySeverity
IMSI candidatetelecom.imsi-candidateTelecomMedium
eSIM EID candidatetelecom.esim-eid-candidateTelecomMedium
MSISDN candidatetelecom.msisdn-contextualTelecomLow

Switzerland-specific​

8 rules.

RuleIDCategorySeverity
Swiss AHV/AVS numberpii.ch-ahv-numberPIIHigh
Swiss identity document MRZpii.ch-identity-document-mrzPIIHigh
Swiss or Liechtenstein IBANfinancial.ch-ibanFinancialMedium
Swiss QR-IBANfinancial.ch-qr-ibanFinancialMedium
Swiss QR referencefinancial.ch-qr-referenceFinancialLow
Swiss phone numberpii.ch-phone-numberPIILow
Swiss addresspii.ch-addressPIILow
Swiss residence permitpii.ch-residence-permitPIIMedium

What is deliberately not a rule​

The Swiss UID/VAT number (CHE-... with MWST, TVA, or IVA) is a public business identifier, not sensitive data, and is intentionally absent from the security catalog.

Extending the catalog​

  • Custom rules - write your own regex, test it against positive and negative examples, then activate.
  • Ruleset transfer - move custom rules between environments.