Skip to content

secrets

Creates a builder for secret (API keys, tokens, private keys, etc.) detection rules.

Signature

ts
const builder = secrets(options?);

Parameters

ParameterTypeDescription
options.namestringRule name (auto-generated if omitted)

Methods

MethodReturnsDescription
.exclude(...types)DetectorBuilderExclude specified types from detection
.only(...types)DetectorBuilderDetect only specified types
.scope(...tools)DetectorBuilderLimit to specific tools (string | RegExp)
.block(message?)RuleBlock on violation (severity: "error")
.warn(message?)RuleWarn on violation (severity: "warn")
.log(message?)RuleLog violation (severity: "info")

Detection Types

TypeDetectsConfidence
aws_access_keyAWS access keys (AKIA...)0.95
aws_secret_keyAWS secret keys0.60
github_tokenGitHub tokens (ghp_, github_pat_)0.95
slack_tokenSlack tokens (xoxb-, xoxp-)0.95
bearer_tokenBearer tokens0.85
private_keyPrivate keys (BEGIN PRIVATE KEY)0.99
api_keyGeneric API key patterns (api_key=...)0.75
google_api_keyGoogle API keys (AIza...)0.90
stripe_keyStripe keys (sk_live_, sk_test_)0.95
generic_secretGeneric secrets (password=, token=)0.70

Returns

DetectorBuilder — terminal methods return a Rule.

Examples

Basic

ts
import { secrets } from "open-mcp-guardrails";

secrets().block();

Exclude noisy types

ts
secrets().exclude("generic_secret", "aws_secret_key").block();

Only specific types

ts
secrets().only("github_token", "stripe_key").block();

Scope to specific tools

ts
secrets().scope("filesystem__read_file").block();
secrets().scope(/^filesystem__/).warn();

JSON Config

Equivalent configurations using guardrails.json:

json
{ "type": "secrets", "action": "block" }
json
{ "type": "secrets", "action": "block", "exclude": ["generic_secret", "aws_secret_key"] }
json
{ "type": "secrets", "action": "block", "only": ["github_token", "stripe_key"] }
json
{ "type": "secrets", "action": "block", "scope": ["filesystem__read_file"] }
json
{ "type": "secrets", "action": "warn", "scope": ["/^filesystem__/"] }