Content Guard

v0.1.1

OpenClaw outbound message adapter for Content Guard. Scans and redacts outbound messages before delivery using the content-guard Python package.

@solomonneas/content-guard·runtime content-guard·by @solomonneas
Code Pluginsource linkedCommunity code plugin. Review compatibility and verification before install.

README

@solomonneas/content-guard

OpenClaw outbound message adapter for Content Guard.

Scans every outbound OpenClaw message against a Content Guard policy before delivery. Replaces the message with a redacted form (or blocks it entirely) when sensitive content is detected: secrets, infrastructure identifiers, PII, and any custom rules you add to the policy.

Install

# 1. The Python core (does the actual scanning):
pip install content-guard

# 2. This OpenClaw adapter:
npm install @solomonneas/content-guard

Wire into OpenClaw

Add to your openclaw.json:

{
  "plugins": {
    "load": {
      "paths": ["@solomonneas/content-guard"]
    },
    "entries": {
      "content-guard": {
        "enabled": true,
        "dryRun": false
      }
    }
  }
}

Config

KeyTypeDefaultDescription
enabledbooltrueDisable without uninstalling
dryRunboolfalseLog decisions, deliver original message
allowedRecipientsstring[][]Recipient IDs that bypass guarding
policyPathstringbundled openclaw-message.jsonPath to a custom policy file
pythonCommandstringpython3Override Python binary
timeoutMsnumber5000Per-message scan timeout
failOpenbooltrueOn scanner error: deliver original (true) or block (false)
failureReplacementstring[content blocked by content-guard]Replacement when blocked
opfboolfalseRun OpenAI Privacy Filter as an extra backend
opfDevicestringcpuOPF device hint
opfBinstring~/.opf-venv/bin/opfPath to OPF binary

How it works

The plugin shells out to python3 -m content_guard scan --json for each outbound message, applies the policy decision (allow / redact / block), and either:

  • delivers the original message (allow, dryRun, or failOpen on error),
  • delivers a redacted form (any redact rule matches), or
  • replaces with failureReplacement (any block rule matches).

Single-owner rule

Do not enable Content Guard alongside another outbound scrubber. Pick one. They will fight over message shape and produce inconsistent redactions.

License

Apache-2.0. See LICENSE.

Capabilities

configSchema
Yes
Executes code
Yes
HTTP routes
0
Runtime ID
content-guard

Compatibility

Built With Open Claw Version
2026.4.27
Min Gateway Version
2026.3.24-beta.2
Plugin Api Range
>=2026.3.24-beta.2
Plugin Sdk Version
2026.4.27

Verification

Tier
source linked
Scope
artifact only
Summary
Validated package structure and linked the release to source metadata.
Commit
7563fad049c2
Tag
main
Provenance
No
Scan status
suspicious

Tags

content-guard
0.1.1
latest
0.1.1
pii
0.1.1
redaction
0.1.1
scrub
0.1.1