- Pattern-based detection: ~42 known credential formats across LLM providers, cloud platforms, source control, messaging, and developer tools (entropy-detected secrets are labeled
Possible Secret) - Entropy analysis: Catches unknown or custom secrets that exceed entropy thresholds
- Fast: CPU-only, sub-millisecond per token — no inference overhead
- Secret leakage detection: Identify credentials in LLM prompts or responses
- Compliance auditing: Scan text datasets for inadvertently captured credentials
- Data sanitization: Locate and redact secrets in datasets before training or fine-tuning
Score per detected secret:
- No secrets detected: Returns an empty list
- Secrets detected: Returns one
Scoreper detection, withnameset to the secret type label andvalueset to1.0
Parameters
- text (str) – The text to scan for secrets and credentials.
- score_name_prefix (str | None)
- score_fn_kwargs_mapping (ScoreFnKwargsMappingType | None)
Returns
A list of Score objects, one per detected secret:
- name: The secret type label (e.g.,
"Anthropic API Key","AWS Access Key ID") - evaluator_name:
"FTLSecretDetection" - value:
1.0for each detection (binary — present or absent)
Raises
ValueError – If the text is empty or None.Example
FTLSecretDetection uses regex patterns and entropy thresholds — not an ML model. This means
it has no false-negative rate for known credential formats (pattern match is exact), but may
produce occasional false positives on high-entropy non-secret strings (e.g. UUIDs, git hashes,
and base64-encoded data are explicitly excluded via allowlist).
name = ‘ftl_secret_detection’
score()
Scan a text string for secrets and credentials.Parameters
The text to scan for secrets and credentials.
Returns
A list of Score objects, one per detected secret. Empty list if no secrets found.