Skip to main content

Overview

Plugins extend profClaw with new tools, providers, and integrations. Because plugins run as JavaScript in the same process, they have significant power. The plugin security system enforces a permission model, scans code for dangerous patterns, and requires explicit trust grants before plugins can run.

Permission Model

Every plugin declares the permissions it needs in its manifest. profClaw only grants the minimum permissions required.
A plugin requesting only network and tools cannot access the filesystem or run shell commands.

Plugin Manifest

Code Scanning

Before a plugin is loaded, the AuditScanner analyzes its code for dangerous patterns: If the scanner finds CRITICAL patterns that do not match declared permissions, the plugin is rejected at load time.

Trust Levels

Plugins are assigned one of three trust levels:
Plugin has been explicitly reviewed and approved. All declared permissions are granted immediately.
Only grant trusted to plugins you have reviewed yourself or that come from verified ClawHub publishers.

Installing Plugins

When installing, the scanner runs immediately:

Plugin Allowlist

In allowlist security mode, plugins must also be on the plugin allowlist:

Managing Plugins

Writing Secure Plugins

When developing plugins, follow these rules:
1

Declare minimum permissions

Only request the permissions your plugin actually needs. Users will see and approve each permission.
2

Use the plugin SDK

Always use profClaw’s SDK for tool execution rather than calling shell commands directly. The SDK applies security policies.
3

Never hardcode credentials

Use context.env to access configuration values. Never embed API keys in code.
4

Handle errors safely

Catch all errors and return structured error responses. Never let unhandled exceptions crash the server.

Plugin SDK

Full plugin development API reference.

Audit Logging

Plugin load and scan events are audit-logged.