clawwall

Outbound DLP for OpenClaw — hard regex blocks secrets & PII from leaving the machine. Domain control, no LLM.

Safety Notice

This listing is from the official public ClawHub registry. Review SKILL.md and referenced scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "clawwall" with this command: npx skills add stanxy/clawguard-skill

ClawWall — Outbound DLP for OpenClaw

GitHub: https://github.com/Stanxy/clawguard PyPI: https://pypi.org/project/clawwall

ClawWall sits between your AI agent and the outside world. Every outbound tool call is intercepted and scanned against 60+ hard-coded patterns before anything leaves the machine. If content matches — it is blocked or redacted. No LLM, no approximation: regex and entropy only.

Setup

One command:

bash setup.sh

This installs the Python service, builds the plugin and hook, registers the plugin in your OpenClaw config, sets up a system service, and verifies the health endpoint.

The gateway:startup hook auto-starts the service whenever OpenClaw boots — no manual clawwall command needed.

Trust & Permissions

What this installs:

ComponentWhat It Does
Python service (port 8642)Receives every outbound tool call for scanning
OpenClaw plugin (before_tool_call)Intercepts outbound content and routes to the service
Startup hook (gateway:startup)Auto-starts the service when OpenClaw boots
SQLite databaseStores scan metadata (finding type, severity, action, duration)
systemd/launchd serviceFallback auto-start via OS service manager

What the database stores: finding type, severity, position offsets, action taken, and duration. It never stores raw content, secrets, or PII values.

What it does NOT do: no telemetry, no external connections, no data leaves the machine. The service is fully local.

Verify Installation

# Health check
curl -s http://127.0.0.1:8642/api/v1/health

# Test scan
curl -s -X POST http://127.0.0.1:8642/api/v1/scan \
  -H "Content-Type: application/json" \
  -d '{"content": "key=AKIAIOSFODNN7EXAMPLE"}'

# Dashboard
open http://127.0.0.1:8642/dashboard

What ClawWall Detects

  • Secrets (52 patterns): AWS, GCP, Azure, GitHub, GitLab, Stripe, Square, PayPal, Slack, Discord, Telegram, Twilio, SSH/PGP private keys, database URIs, JWT/Bearer tokens, SaaS API keys, and more
  • PII (10 patterns): SSNs, credit cards (Luhn-validated), emails, phone numbers, IP addresses
  • Entropy analysis: high-entropy strings that don't match any known pattern
  • Custom patterns: user-defined regex via policy YAML

Configuration

Environment variables (all prefixed CLAWGUARD_):

VariableDefaultDescription
CLAWGUARD_HOST0.0.0.0Bind address
CLAWGUARD_PORT8642Port
CLAWGUARD_DATABASE_URLsqlite+aiosqlite:///~/.config/clawwall/clawwall.dbDatabase path
CLAWGUARD_POLICY_PATH~/.config/clawwall/policy.yamlPolicy file
CLAWGUARD_LOG_LEVELINFOLog verbosity

Policy

Default policy redacts all findings. Edit via the dashboard or ~/.config/clawwall/policy.yaml:

default_action: REDACT      # BLOCK | REDACT | ALLOW
redaction:
  strategy: mask             # mask | hash | remove
  mask_char: "*"
  mask_preserve_edges: 4
destination_allowlist: []    # bypass scanning for trusted destinations
destination_blocklist: []    # always reject these destinations
custom_patterns: []          # add your own regex patterns
disabled_patterns: []        # disable specific built-in patterns by name

Policy evaluation order: severity overrides > destination allowlist > destination blocklist > destination rules > agent rules > default action.

Agent Instructions

You are operating behind ClawWall. All outbound tool calls are scanned before leaving the machine using hard pattern matching — not an LLM.

ResultMeaning
ALLOWNo sensitive data detected — call went through
REDACTSensitive portions were masked before sending
BLOCKCall rejected — nothing was sent

Best practices:

  • Never include raw API keys, tokens, or PII in outbound calls
  • Reference credentials by name ($OPENAI_API_KEY), not by value
  • If blocked, check findings to see what matched, remove the sensitive data, and retry
  • False positive? Tell the user to adjust the policy via the dashboard at http://localhost:8642/dashboard

Troubleshooting

ProblemSolution
Service not startingCheck ~/.config/clawwall/clawwall.log for errors
Port 8642 in useAnother process is using the port — check with lsof -i :8642
Plugin not interceptingVerify plugin is registered in ~/.openclaw/openclaw.json
False positivesDisable specific patterns via disabled_patterns in policy YAML
Hook not firingRebuild hook: cd hooks/openclaw && npm run build
clawwall not foundEnsure pip install directory is on PATH, or use python3 -m clawguard

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

General

Workout Readiness Check In

Create a same-day workout readiness decision card for users who planned to exercise today but feel tired, sore, stressed, underslept, ill, or uncertain. Use...

Registry SourceRecently Updated
General

URL to Markdown

Convert HTML web pages from HTTP/HTTPS URLs to clean, readable Markdown files with optional batch processing and formatting features.

Registry SourceRecently Updated
General

Appliance Manual Command Card

Assist in creating a one-page appliance command card for tracking maintenance, troubleshooting, warranty info, and repair preparation.

Registry SourceRecently Updated
General

Fireseed Writing Expert

全能小说写作专家,支持从零创作、DNA提取与克隆、风格仿写、一键发布到 fireseed.online。用户可以用自然语言描述需求,系统自动调度子技能完成科学、闭环的写作与发布流程。

Registry SourceRecently Updated