Getting Started
Get Sensitive Canary protecting your Claude Code session in under a minute.
Install
Install with two commands inside a Claude Code session:
# 1. Register the marketplace
/plugin marketplace add coo-quack/claude-code-marketplace
# 2. Install the plugin
/plugin install sensitive-canary@coo-quackThe hooks are active in every session started after the install. A session that was already running keeps going without them — it will say the plugin is enabled and check nothing — so restart before relying on it, and confirm with the check in Installation.
For alternative installation methods (pnpm global, manual git clone), see the Installation page.
What Happens
Just use Claude Code as usual. Sensitive Canary runs in the background and automatically scans at three points:
- On prompt submission — checks your input for secrets and PII before it reaches the API
- On file read — checks file names and contents before Claude reads them
- On command execution — checks Bash commands and environment variable values for secrets
When sensitive data is detected, the action is blocked and the terminal shows what was found. To intentionally allow it, add [allow-secret] or [allow-all] to your prompt.
Allow Tags
| Tag | Effect |
|---|---|
[allow-secret] | Allow secrets through for this prompt |
[allow-pii] | Allow PII through for this prompt |
[allow-all] | Bypass all sensitive-canary checks for this prompt |
Tags apply only to the message they appear in, and do not persist across turns. For PreToolUse hooks a tag stops applying once a tool result is recorded after it — so tool calls Claude issues together, before any of their results come back, are all covered by one tag. Include the tag again for later calls in the same request.
Configuration
Category filtering
Set SENSITIVE_CANARY_CATEGORIES in the env block of your Claude Code settings.json to limit which rule categories are active:
{
"env": {
"SENSITIVE_CANARY_CATEGORIES": "secret"
}
}| Value | Effect |
|---|---|
secret | Scan for secrets only — PII rules are disabled |
pii | Scan for PII only — secret rules and the name-based .env/.env.* block are disabled |
secret,pii / all | Scan everything (default) |
This persistent filter is applied before allow tags. A typical use is setting secret when PII rules are too noisy against test fixtures.
Custom rules
All 76 detection rules are defined in JSON. You can add your own or override built-in ones by creating a config file:
mkdir -p ~/.config/sensitive-canaryThen create ~/.config/sensitive-canary/config.json:
{
"rules": [
{
"id": "custom-api-key",
"description": "My Service API Key",
"regex": "MYSVC-[A-Za-z0-9]{32}",
"category": "secret"
}
]
}The plugin reads this file at startup. Rules with the same id as a built-in rule replace it; new ids are appended. See Detection Rules → Custom Rules for the full field reference and examples.
Next Steps
- Installation — alternative installation methods
- Detection Rules — all 76 detection rules explained