Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Pre-action authorization module enforcing permission checks before AI agent tool calls, supporting OpenClaw, IronClaw, PicoClaw, with local or hosted policy...
Pre-action authorization module enforcing permission checks before AI agent tool calls, supporting OpenClaw, IronClaw, PicoClaw, with local or hosted policy...
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Pre-action authorization for AI agents. Installs an OpenClaw before_tool_call hook that evaluates every tool call against a passport (identity + capabilities + limits) and policy before it executes. If the policy denies the call, the tool does not run. This skill provides setup instructions. The enforcement logic comes from the @aporthq/aport-agent-guardrails npm package, which is open-source (Apache 2.0) and can be audited before installation.
User wants to add guardrails to their AI agent setup User asks about protecting against unauthorized tool calls User wants pre-action authorization for OpenClaw, IronClaw, or PicoClaw agents User needs audit trails for AI agent actions
User Request -> Agent Decision -> APort Hook -> [ALLOW/DENY] -> Tool Execution | Policy + Passport Agent decides to use a tool (e.g., run a shell command) OpenClaw fires the before_tool_call hook APort loads the passport, maps the tool to a policy, checks allowlists and limits Decision: ALLOW (tool runs) or DENY (tool blocked) Decision is logged to the audit trail Enforcement runs in the OpenClaw hook layer, not in agent prompts. However, like any application-layer security control, it depends on the integrity of the runtime environment (OS, OpenClaw, filesystem). See the Security Model for trust boundaries.
Check these before starting: Node.js 18+ and npx β run node -v to verify (must show v18 or higher) OpenClaw (or compatible runtime) β the hook registers as an OpenClaw plugin
npx @aporthq/aport-agent-guardrails The wizard will: Create or load a passport (local file or hosted from aport.io) Configure capabilities and limits Register the OpenClaw plugin (adds before_tool_call hook) Set up wrapper scripts under ~/.openclaw/ After install, the hook runs on every tool call automatically.
npx @aporthq/aport-agent-guardrails <agent_id> Get agent_id at aport.io for signed decisions, global suspend, and centralized audit dashboards.
git clone https://github.com/aporthq/aport-agent-guardrails cd aport-agent-guardrails ./bin/openclaw
Files created under ~/.openclaw/: Plugin config in config.yaml or openclaw.json Wrapper scripts in .skills/aport-guardrail*.sh aport/passport.json (local mode only) aport/decision.json and aport/audit.log (created at runtime) Total disk usage: ~100KB for scripts + passport/decision files.
After installation, the hook runs automatically on every tool call: # Allowed command β hook approves, tool executes agent> run git status # APort: passport checked -> policy evaluated -> ALLOW # Blocked command β hook denies, tool does not run agent> run rm -rf / # APort: passport checked -> blocked pattern detected -> DENY
# Test allowed command (exit 0 = ALLOW) ~/.openclaw/.skills/aport-guardrail.sh system.command.execute '{"command":"ls"}' # Test blocked command (exit 1 = DENY) ~/.openclaw/.skills/aport-guardrail.sh system.command.execute '{"command":"rm -rf /"}' Decision logs: Latest decision: ~/.openclaw/aport/decision.json Audit trail: ~/.openclaw/aport/audit.log
All evaluation happens on your machine, zero network calls Passport stored locally at ~/.openclaw/aport/passport.json Works offline Note: local passport file must be protected from tampering (standard filesystem permissions)
Passport hosted in the aport.io registry (not stored locally) Signed decisions (Ed25519) for tamper-evident audit trails Global suspend across all systems Centralized compliance dashboards Sends tool name + context to API (does not send file contents, env vars, or credentials)
All optional. Local mode requires no environment variables. VariableWhen usedPurposeAPORT_API_URLAPI modeOverride endpoint (default: https://api.aport.io)APORT_AGENT_IDHosted passportPassport ID from aport.ioAPORT_API_KEYIf API requires authAuthentication token
Shell commands β Allowlist enforcement, 40+ blocked patterns (rm -rf, sudo, chmod 777, etc.), interpreter bypass detection Messaging β Rate limits, recipient allowlist, channel restrictions File access β Path restrictions, blocks access to .env, SSH keys, system directories Web requests β Domain allowlist, SSRF protection, rate limiting Git operations β PR size limits, branch restrictions
Agent actionTool namePolicy checksShell commandssystem.command.executeAllowlist, blocked patternsMessaging (WhatsApp/Email/Slack)messaging.message.sendRate limits, recipient allowlistPRsgit.create_pr, git.mergePR size, branch restrictionsMCP toolsmcp.tool.executeServer/tool allowlistFile read/writedata.file.read, data.file.writePath restrictionsWeb requestsweb.fetch, web.browserDomain allowlist
ProblemFixPlugin not enforcingCheck openclaw plugin list shows aport-guardrailConnection refused (API mode)Verify APORT_API_URL is reachableTool blocked unexpectedlyCheck ~/.openclaw/aport/decision.json for deny reasonnpx not foundInstall Node.js 18+: https://nodejs.org
Source code (Apache 2.0) QuickStart: OpenClaw Plugin Security Model & Trust Boundaries Hosted Passport Setup OAP Specification
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.