rampart

OpenClaw Integration

For current OpenClaw versions, the native Rampart plugin is the primary integration path for non-legacy installs, but native OpenClaw exec approvals remain the UX reference path for exec approval behavior.

That means:

Approval ownership model

For OpenClaw-hosted workflows, there should be exactly one human-facing approval object per action.

Primary integration path

Use the native plugin setup:

rampart setup openclaw

Use --plugin only if you need to force the native plugin path explicitly.

The plugin integrates via OpenClaw’s native hook APIs and is the preferred path because it survives upgrades much better than direct dist/ patching.

What the plugin does

For each tool call:

  1. OpenClaw invokes the Rampart plugin hook
  2. Rampart evaluates the tool call through rampart serve
  3. Rampart returns one of:
    • allow
    • deny
    • ask
  4. If ask, OpenClaw owns the native approval flow
  5. If the user chooses Allow Always, Rampart persists a rule so future matching calls are auto-allowed

Native exec approvals

Rampart also supports OpenClaw native exec approval events as a secondary seam.

This is useful for host-exec/native approval flows that already produce OpenClaw approval events. In that mode:

This native exec approval path is supported and remains the reference UX for exec approval behavior. The plugin path should match its single-queue ownership model and, where possible, its native approval UX.

Legacy compatibility path

Older setups used:

sudo rampart setup openclaw --patch-tools --force

That direct dist/ patching approach is now legacy compatibility, not the recommended default. It is more fragile across OpenClaw upgrades.

Verify the plugin path

rampart doctor

You should verify at minimum that:

Practical guidance

If you are choosing what to support for current Rampart releases:

Long-term goal

The long-term goal is a clean OpenClaw integration that: