Layer 1 — suspicious variable names
Iris matches suspicious variable names assigned to string literals. The following names (and their common variants) trigger a finding when assigned to a string value:keytokensecretpasswordauthcredentialapi
Layer 2 — known credential formats
Iris also matches known credential formats regardless of the variable name they are assigned to:- GitHub PATs (
ghp_) - OpenAI and Stripe keys (
sk-) - AWS access key IDs (
AKIA) - Google API keys (
AIza) - Slack bot tokens (
xoxb-/xoxp-) - Inline Bearer tokens
Placeholder values (
your_key_here, changeme, REPLACE_ME, all-caps templates) are suppressed automatically and do not generate findings. Layer 1 hits also suppress matching Layer 2 hits on the same line to avoid duplicate Problems panel entries.CLI scanning
Runiris secrets as a standalone scan — it is free and requires no authentication:
Configuration
Set"enableSecretsDetection": false in .irisconfig.json to disable detection entirely. To keep detection active but suppress squiggles and Problems panel entries, set inlineDiagnostics.hardcodedSecrets to false instead.