[[pattern]]
id = "aws_access_key"
name = "AWS Access Key"
regex = '(?:\bA3T[A-Z0-9]|\bAKIA|\bASIA|\bABIA|\bACCA)[A-Z2-7]{16}\b'
tier1_fragment = '(?:A3T[A-Z0-9]|AKIA|ASIA|ABIA|ACCA)[A-Z2-7]'
redact_prefix_len = 4
severity = "high"
[[pattern]]
id = "gcp_api_key"
name = "GCP API Key"
regex = '\bAIzaSy[0-9A-Za-z_-]{33}\b'
tier1_fragment = 'AIzaSy'
redact_prefix_len = 6
severity = "high"
[[pattern]]
id = "github_pat"
name = "GitHub PAT"
regex = '\bgh[oprsu]_[0-9a-zA-Z]{36}\b'
tier1_fragment = 'gh[oprsu]_[0-9a-zA-Z]'
redact_prefix_len = 4
severity = "high"
[[pattern]]
id = "github_fine_grained_pat"
name = "GitHub Fine-Grained PAT"
regex = '\bgithub_pat_\w{82}\b'
tier1_fragment = 'github_pat_'
redact_prefix_len = 11
severity = "high"
[[pattern]]
id = "gitlab_pat"
name = "GitLab PAT"
regex = '\bglpat-[0-9A-Za-z_=-]{20,22}\b'
tier1_fragment = 'glpat-'
redact_prefix_len = 6
severity = "high"
[[pattern]]
id = "anthropic_api_key"
name = "Anthropic API Key"
regex = '\bsk-ant-api03-[a-zA-Z0-9_-]{93}AA\b'
tier1_fragment = 'sk-ant-'
redact_prefix_len = 7
severity = "high"
[[pattern]]
id = "slack_token"
name = "Slack Token"
regex = '\bxox[aboprs]-(?:\d+-){2,}[A-Za-z0-9]*[A-Za-z][A-Za-z0-9]*\b'
tier1_fragment = 'xox[aboprs]-'
redact_prefix_len = 5
severity = "high"
[[pattern]]
id = "sendgrid_api_key"
name = "SendGrid API Key"
regex = '\bSG\.[a-zA-Z0-9=_-]{66}\b'
tier1_fragment = 'SG\.'
redact_prefix_len = 3
severity = "high"
[[pattern]]
id = "twilio_api_key"
name = "Twilio API Key"
regex = '\b(?:AC|SK)[0-9a-f]{32}\b'
tier1_fragment = '(?:AC|SK)[0-9a-f]{32}'
redact_prefix_len = 2
severity = "high"
[[pattern]]
id = "stripe_key"
name = "Stripe Key"
regex = '\b(?:sk|rk)_(?:test|live|prod)_[A-Za-z0-9]{16,}\b'
tier1_fragment = '(?:sk|rk)_(?:test|live|prod)_'
redact_prefix_len = 8
severity = "high"
[[pattern]]
id = "npm_token"
name = "npm Token"
regex = '\bnpm_[0-9A-Za-z]{36}\b'
tier1_fragment = 'npm_[0-9A-Za-z]'
redact_prefix_len = 4
severity = "high"
[[pattern]]
id = "age_secret_key"
name = "age Secret Key"
regex = '\bAGE-SECRET-KEY-1[0-9A-Z]{58}\b'
tier1_fragment = 'AGE-SECRET-KEY-'
redact_prefix_len = 15
severity = "high"
[[private_key_pattern]]
id = "private_key"
name = "Private Key Block"
regex = '-----BEGIN\s[A-Z0-9 ]*PRIVATE KEY-----'
tier1_fragment = '-----BEGIN\s'
redact_regex = '-----BEGIN\s[A-Z0-9 ]*PRIVATE KEY-----[\s\S]*?-----END\s[A-Z0-9 ]*PRIVATE KEY-----'
severity = "critical"