/policy-guide
Guide to ClawdStrike security policies and guard configuration
$ npx -y skills add backbay-labs/clawdstrike --skill policy-guide --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
- Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
- You can call itInvoke it directly when you want it.
- Slash command
/policy-guide
Context preview
The summary Claude sees to decide when to auto-load this skill.
Guide to ClawdStrike security policies and guard configuration
SKILL.md
policy-guide.SKILL.mddescription: "Guide to ClawdStrike security policies and guard configuration"
Policy Guide
<trigger> This skill activates when the user or conversation involves:
- Questions about what actions are allowed or blocked
- Policy configuration, guard behavior, or security rules
- Choosing or comparing security rulesets
- Understanding why an action was denied
- Customizing guard settings or thresholds
- Denial errors such as "action denied", "blocked by guard", or "policy violation"
- Questions like "why was X blocked", "why can't I access Y", or "how do I allow Z"
</trigger>
The 12 Built-in Guards
| Guard | Action Type | Purpose | Default Status | |-------|-------------|---------|----------------| | **ForbiddenPathGuard** | file | Blocks access to sensitive filesystem paths (e.g., /etc/shadow, ~/.ssh/id_rsa) | permissive: ON, default: ON, strict: ON | | **PathAllowlistGuard** | file | Only allows file access to explicitly permitted paths | permissive: OFF, default: OFF, strict: ON | | **EgressAllowlistGuard** | egress | Controls outbound network access by domain allowlist | permissive: OFF, default: ON, strict: ON | | **SecretLeakGuard** | file | Detects secrets, API keys, and credentials in file writes | permissive: ON, default: ON, strict: ON | | **PatchIntegrityGuard** | file | Validates that patches/diffs don't introduce unsafe changes | permissive: OFF, default: ON, strict: ON | | **ShellCommandGuard** | shell | Blocks dangerous shell commands (rm -rf, sudo, etc.) | permissive: OFF, default: ON, strict: ON | | **McpToolGuard** | mcp_tool | Restricts which MCP tools can be invoked | permissive: OFF, default: OFF, strict: ON | | **PromptInjectionGuard** | prompt | Detects prompt injection attempts in inputs | permissive: OFF, default: ON, strict: ON | | **JailbreakGuard** | prompt | 4-layer jailbreak detection (heuristic + statistical + ML + LLM-judge) | permissive: OFF, default: OFF, strict: ON | | **ComputerUseGuard** | computer_use | Controls Computer Use Agent actions for remote desktop | permissive: OFF, default: OFF, strict: ON | | **RemoteDesktopSideChannelGuard** | remote_desktop | Side-channel controls (clipboard, audio, drive mapping, file transfer) | permissive: OFF, default: OFF, strict: ON | | **InputInjectionCapabilityGuard** | computer_use | Restricts input injection capabilities in CUA environments | permissive: OFF, default: OFF, strict: ON |
Available Rulesets
Use `clawdstrike_policy_show` to inspect any ruleset.
| Ruleset | Use Case | |---------|----------| | `permissive` | Development/testing -- minimal restrictions | | `default` | General purpose -- balanced security | | `strict` | High-security environments -- maximum restrictions | | `ai-agent` | AI coding agents -- tuned for agent workflows | | `cicd` | CI/CD pipelines -- restricted to build/deploy operations | | `ai-agent-posture` | Agent posture assessment -- monitoring without blocking | | `remote-desktop` | Remote desktop sessions -- balanced CUA controls | | `remote-desktop-permissive` | Permissive CUA -- fewer restrictions for trusted environments | | `remote-desktop-strict` | Strict CUA -- maximum restrictions for untrusted environments |
How to Check Policies
Show active policy
Call `clawdstrike_policy_show` with no arguments to see the currently loaded policy, or pass a ruleset name to inspect a specific one.
Evaluate a hypothetical action
Call `clawdstrike_policy_eval` with an action_type and target to see which guards would fire and what the verdict would be, without actually executing the action.
Policy Inheritance
Policies support inheritance via the `extends` field:
- Built-in rulesets can be referenced by name (e.g., `extends: strict`)
- Local files can be referenced by path
- Remote URLs and git refs are supported
- Child policies override parent settings; guards merge by name
Design Philosophy: Fail-Closed
ClawdStrike follows a fail-closed design:
- **Invalid policies** are rejected at load time (not silently ignored)
- **Errors during guard evaluation** result in deny (not allow)
- **Unknown action types** are denied by default
- **Missing configuration** causes startup failure, not permissive fallback
This means if something goes wrong, the system errs on the side of security rather than availability.
What To Do When Too Strict
If the active policy is blocking legitimate actions, follow these steps to relax it safely:
1. **Identify the blocking guard**: Call `clawdstrike_policy_eval` with the denied action to see exactly which guard is blocking it. 2. **Check if the action is expected**: Verify the action is genuinely needed and not a misconfigured command or wrong path. 3. **Try a less restrictive ruleset**: If on `strict`, try `default` or `ai-agent`. Use `clawdstrike_policy_show` to compare what changes. 4. **Create a custom override**: Extend the current ruleset and override only the specific guard:
version: "1.5.0"
extends: strict
guards:
ForbiddenPathGuard:
additional_allowed_paths:
- "/path/that/was/blocked"5. **Add path-specific exceptions**: For file guards, add paths to allowlists rather than disabling the guard entirely. 6. **Disable a single guard as last resort**: Set `enabled: false` for a specific guard only if the above options do not work. Never disable SecretLeakGuard in production. 7. **Re-verify**: After changes, run `clawdstrike_policy_eval` again to confirm the action is now allowed without opening unintended gaps.
Response Guidelines
When this skill is active:
- Use `clawdstrike_policy_show` and `clawdstrike_policy_eval` to give concrete answers
- Explain guard behavior in terms of what the user is trying to do
- Recommend the most appropriate ruleset for the user's use case
- When an action is denied, explain which guard blocked it and why
Read more
description: "Guide to ClawdStrike security policies and guard configuration"
Policy Guide
<trigger> This skill activates when the user or conversation involves:
- Questions about what actions are allowed or blocked
- Policy configuration, guard behavior, or security rules
- Choosing or comparing security rulesets
- Understanding why an action was denied
- Customizing guard settings or thresholds
- Denial errors such as "action denied", "blocked by guard", or "policy violation"
- Questions like "why was X blocked", "why can't I access Y", or "how do I allow Z"
</trigger>
The 12 Built-in Guards
| Guard | Action Type | Purpose | Default Status | |-------|-------------|---------|----------------| | **ForbiddenPathGuard** | file | Blocks access to sensitive filesystem paths (e.g., /etc/shadow, ~/.ssh/id_rsa) | permissive: ON, default: ON, strict: ON | | **PathAllowlistGuard** | file | Only allows file access to explicitly permitted paths | permissive: OFF, default: OFF, strict: ON | | **EgressAllowlistGuard** | egress | Controls outbound network access by domain allowlist | permissive: OFF, default: ON, strict: ON | | **SecretLeakGuard** | file | Detects secrets, API keys, and credentials in file writes | permissive: ON, default: ON, strict: ON | | **PatchIntegrityGuard** | file | Validates that patches/diffs don't introduce unsafe changes | permissive: OFF, default: ON, strict: ON | | **ShellCommandGuard** | shell | Blocks dangerous shell commands (rm -rf, sudo, etc.) | permissive: OFF, default: ON, strict: ON | | **McpToolGuard** | mcp_tool | Restricts which MCP tools can be invoked | permissive: OFF, default: OFF, strict: ON | | **PromptInjectionGuard** | prompt | Detects prompt injection attempts in inputs | permissive: OFF, default: ON, strict: ON | | **JailbreakGuard** | prompt | 4-layer jailbreak detection (heuristic + statistical + ML + LLM-judge) | permissive: OFF, default: OFF, strict: ON | | **ComputerUseGuard** | computer_use | Controls Computer Use Agent actions for remote desktop | permissive: OFF, default: OFF, strict: ON | | **RemoteDesktopSideChannelGuard** | remote_desktop | Side-channel controls (clipboard, audio, drive mapping, file transfer) | permissive: OFF, default: OFF, strict: ON | | **InputInjectionCapabilityGuard** | computer_use | Restricts input injection capabilities in CUA environments | permissive: OFF, default: OFF, strict: ON |
Available Rulesets
Use `clawdstrike_policy_show` to inspect any ruleset.
| Ruleset | Use Case | |---------|----------| | `permissive` | Development/testing -- minimal restrictions | | `default` | General purpose -- balanced security | | `strict` | High-security environments -- maximum restrictions | | `ai-agent` | AI coding agents -- tuned for agent workflows | | `cicd` | CI/CD pipelines -- restricted to build/deploy operations | | `ai-agent-posture` | Agent posture assessment -- monitoring without blocking | | `remote-desktop` | Remote desktop sessions -- balanced CUA controls | | `remote-desktop-permissive` | Permissive CUA -- fewer restrictions for trusted environments | | `remote-desktop-strict` | Strict CUA -- maximum restrictions for untrusted environments |
How to Check Policies
Show active policy
Call `clawdstrike_policy_show` with no arguments to see the currently loaded policy, or pass a ruleset name to inspect a specific one.
Evaluate a hypothetical action
Call `clawdstrike_policy_eval` with an action_type and target to see which guards would fire and what the verdict would be, without actually executing the action.
Policy Inheritance
Policies support inheritance via the `extends` field:
- Built-in rulesets can be referenced by name (e.g., `extends: strict`)
- Local files can be referenced by path
- Remote URLs and git refs are supported
- Child policies override parent settings; guards merge by name
Design Philosophy: Fail-Closed
ClawdStrike follows a fail-closed design:
- **Invalid policies** are rejected at load time (not silently ignored)
- **Errors during guard evaluation** result in deny (not allow)
- **Unknown action types** are denied by default
- **Missing configuration** causes startup failure, not permissive fallback
This means if something goes wrong, the system errs on the side of security rather than availability.
What To Do When Too Strict
If the active policy is blocking legitimate actions, follow these steps to relax it safely:
1. **Identify the blocking guard**: Call `clawdstrike_policy_eval` with the denied action to see exactly which guard is blocking it. 2. **Check if the action is expected**: Verify the action is genuinely needed and not a misconfigured command or wrong path. 3. **Try a less restrictive ruleset**: If on `strict`, try `default` or `ai-agent`. Use `clawdstrike_policy_show` to compare what changes. 4. **Create a custom override**: Extend the current ruleset and override only the specific guard:
version: "1.5.0"
extends: strict
guards:
ForbiddenPathGuard:
additional_allowed_paths:
- "/path/that/was/blocked"5. **Add path-specific exceptions**: For file guards, add paths to allowlists rather than disabling the guard entirely. 6. **Disable a single guard as last resort**: Set `enabled: false` for a specific guard only if the above options do not work. Never disable SecretLeakGuard in production. 7. **Re-verify**: After changes, run `clawdstrike_policy_eval` again to confirm the action is now allowed without opening unintended gaps.
Response Guidelines
When this skill is active:
- Use `clawdstrike_policy_show` and `clawdstrike_policy_eval` to give concrete answers
- Explain guard behavior in terms of what the user is trying to do
- Recommend the most appropriate ruleset for the user's use case
- When an action is denied, explain which guard blocked it and why
Agentic AI EDR for developer workstations and autonomous agent swarms. Build Swarm Detection & Response platforms with Clawdstrike.

