Security & Compliance
SkillMonitoring & opsClaude Code security and compliance, permissions model, settings.json allowlists/denylists, enterprise managed settings, audit logging, secrets handling, SOC2/HIPAA/GDPR patterns. Use this skill whenever configuring permissions, auditing a setup for security, handling secrets, preparing for compliance, or tightening access. Triggers on: "permissions", "allowlist", "security audit", "compliance", "SOC2", "HIPAA", "GDPR", "secrets", "enterprise settings", "managed settings", "deny list".
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Security & Compliance skill
What this skill tells your AI
The instructions your AI receives, as published by thelobbi/claude in plugins/claude-code-expert/skills/cc-security-compliance/SKILL.md and read by ahel’s review.
Baseline security + enterprise compliance patterns for Claude Code.
Permission model
Permissions live in .claude/settings.json:
{
"permissions": {
"allow": ["Read", "Write", "Edit", "Glob", "Grep", "Bash(npm *)"],
"deny": ["Bash(rm -rf /)", "Bash(sudo *)", "Bash(curl * | sh)"],
"ask": ["WebFetch", "Bash(git push *)", "Bash(npm publish *)"]
}
}
allow→ tool executes without askingdeny→ tool never executesask→ user is prompted each time- Missing from all lists → falls back to permission mode default
Permission modes
| Mode | Behavior |
|---|---|
ask | Prompt for every tool use |
acceptEdits | Auto-accept Read/Write/Edit; prompt for others |
auto | Minimal prompting |
bypassPermissions | Skip prompts (dangerous; CI only) |
plan | Plan mode — no file writes |
Set via claude --permission-mode <mode> or in settings.json → permissionMode.
Secrets handling
Never in repo:
.envfiles (except.env.example)- API keys, tokens, credentials in settings/MCP config
- Passwords, private keys
Where secrets go:
- OS keychain (via
secretstorage,keyring,keychain) - Cloud secret manager (AWS Secrets Manager, Azure Key Vault, GCP Secret Manager, Vault)
- CI-injected env vars
Install the protect-sensitive-files hook (via cc_kb_hook_recipe("protect-sensitive-files")) to prevent accidental writes to .env / credentials.
Audit logging
Enterprise deployments log all tool calls for compliance:
{
"hooks": {
"PostToolUse": [
{ "matcher": "*", "hooks": [{ "type": "command", "command": "bash .claude/hooks/audit-log.sh" }] }
]
}
}
audit-log.sh appends JSON lines to a log shipping to SIEM (Splunk, Elastic, Datadog). Key fields: timestamp, session_id, tool_name, tool_input_hash (not raw input if sensitive), decision, duration_ms.
Enterprise managed settings
For org-wide enforcement, use managed settings at the OS level:
- macOS:
/Library/Application Support/Claude/managed-settings.json - Windows:
C:\ProgramData\Claude\managed-settings.json - Linux:
/etc/claude/managed-settings.json
Managed settings override user settings. Use for: denylist of dangerous commands, required hooks (audit), forbidden MCP servers.
Compliance frameworks
SOC2 Type II
- Audit logging of all file modifications and tool calls.
- Access control: user-level
allow/denytied to AD/SSO identity. - Change management: all
.claude/edits go through PR review. - Retention: audit logs kept ≥1 year.
HIPAA (healthcare)
- PHI never in prompts — scan with
detect-secrets+ custom PHI regex in hook. - BAA required for any cloud-hosted MCP server handling PHI.
- Encryption at rest for any memory/cache files containing PHI.
GDPR
- Right-to-erasure: memory stores (engram, Obsidian) must support selective deletion by user identity.
- Data minimization: don't save user PII to memory without a legitimate purpose.
- Portability: export format for user's saved memory (
mem_timeline,/cc-memory export).
Security audit checklist
Run security-compliance-advisor agent for a full audit. Minimum checks:
- No secrets in
settings.json,.mcp.json, or any committed file -
denylist includes destructive commands (rm -rf, sudo, curl|sh) -
protect-sensitive-fileshook installed - Permission mode not
bypassPermissionsoutside CI - MCP servers from trusted sources only
- Hook scripts pass shellcheck
- No
--dangerously-skip-permissionsin any committed script
MCP delegation
| Need | Tool |
|---|---|
| Settings schema | cc_docs_settings_schema |
| Audit checklist | cc_docs_checklist("security") |
| Model for review | cc_docs_model_recommend("security review") → Opus |
| Hook recipe for protection | cc_kb_hook_recipe("protect-sensitive-files") |
Anti-patterns
permissions.allow: ["*"]→ defeats the point.- Secrets in settings.json under
env→ committed to git. bypassPermissionsin developer default → one typo destroys something.- Audit log writes to same disk as repo → logs vanish with the incident.
- Skipping managed settings for enterprise → one dev disables them all.
Reference
- compliance-checklists.md — SOC2/HIPAA/GDPR control mapping
Signals
- GitHub stars
- 21
- Forks
- 2
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
cc-security-compliance- Source
- github.com/thelobbi/claude