Apoer Agent Guardrail
Pre-action authorization for AI agents.
- Rating
- 4.8 (168 reviews)
- Downloads
- 19,086 downloads
- Version
- 1.0.0
Overview
Pre-action authorization for AI agents.
Complete Documentation
View Source →
APort Agent Guardrail
Pre-action authorization for AI agents: every tool call is checked before it runs. Works with OpenClaw, IronClaw, PicoClaw, and compatible frameworks. Run the installer once; the OpenClaw plugin then enforces policy on every tool call automatically. You do not run the guardrail script yourself.
Requires: Node 18+, jq. Install withnpx @aporthq/agent-guardrailsor./bin/openclawfrom the repo.
Installation
# Recommended (no clone needed)
npx @aporthq/agent-guardrails
# Hosted passport: skip the wizard by passing agent_id from aport.io
npx @aporthq/agent-guardrails <agent_id>
Get a Hosted Passport agent_id at aport.io after creating a passport there. __OPTIONAL__
From the repo (clone first): github.com/aporthq/aport-agent-guardrails — then run ./bin/openclaw or ./bin/openclaw from the repo root. Full guides: QuickStart: OpenClaw Plugin · Hosted passport setup.
You can preview your local passport at ~/.openclaw/aport/passport.json (or if you chose a different config dir; legacy installs may use ).
The installer is interactive: it sets your config dir, passport (local or hosted), installs the APort OpenClaw plugin, writes config, and installs wrappers. After it finishes, nothing else is required—start OpenClaw (or use the running gateway); the plugin enforces before every tool call.
Wrappers (default config dir ~/.openclaw): ~/.openclaw/.skills/aport-guardrail.sh (local), ~/.openclaw/.skills/aport-guardrail-api.sh (API/hosted). The plugin uses these; you don’t call them unless testing.
Usage
Normal use: Run the installer once. After that, nothing to run manually—the plugin enforces before each tool call automatically.
Optional — direct script calls (e.g. testing or other automations):
~/.openclaw/.skills/aport-guardrail.sh system.command.execute '{"command":"ls"}'
~/.openclaw/.skills/aport-guardrail.sh messaging.message.send '{"channel":"whatsapp","to":"+15551234567"}'
- Exit 0 = ALLOW (tool may proceed)
- Exit 1 = DENY (see
or/aport/decision.json for reason codes)/decision.json
APORT_API_URL=https://api.aport.io ~/.openclaw/.skills/aport-guardrail-api.sh system.command.execute '{"command":"ls"}'
Tool name mapping
| When you're about to… | Use tool_name |
|---|---|
| Run shell commands | system.command.execute |
| Send WhatsApp/email/etc. | messaging.message.send |
| Create/merge PRs | git.create_pr, git.merge |
| Call MCP tools | mcp.tool.execute |
| Export data / files | data.export |
'{"command":"ls"}' or '{"channel":"whatsapp","to":"+1..."}'.Why this skill?
- Deterministic – runs in
before_tool_call; the agent cannot skip it. - Structured policy – backed by Open Agent Passport (OAP) v1.0 and policy packs.
- Fail-closed – if the guardrail errors, the tool is blocked.
- Audit-ready – decisions are logged (local JSON or APort API for signed receipts).
Docs
This repo: QuickStart: OpenClaw Plugin · Hosted passport · Tool / policy mapping
OpenClaw: CLI: skills · Skills · Skills config · ClawHub
Installation
openclaw install apoer-agent-guardrail
💻Code Examples
npx @aporthq/agent-guardrails <agent_id>
Get a Hosted Passport **agent_id** at [aport.io](https://aport.io/builder/create/) after creating a passport there. __*OPTIONAL*__
From the repo (clone first): [github.com/aporthq/aport-agent-guardrails](https://github.com/aporthq/aport-agent-guardrails) — then run `./bin/openclaw` or `./bin/openclaw <agent_id>` from the repo root. Full guides: [QuickStart: OpenClaw Plugin](https://github.com/aporthq/aport-agent-guardrails/blob/main/docs/QUICKSTART_OPENCLAW_PLUGIN.md) · [Hosted passport setup](https://github.com/aporthq/aport-agent-guardrails/blob/main/docs/HOSTED_PASSPORT_SETUP.md).
You can preview your local passport at `~/.openclaw/aport/passport.json` (or `<config-dir>/aport/passport.json` if you chose a different config dir; legacy installs may use `<config-dir>/passport.json`).
The installer is interactive: it sets your config dir, passport (local or hosted), installs the APort OpenClaw plugin, writes config, and installs wrappers. **After it finishes, nothing else is required**—start OpenClaw (or use the running gateway); the plugin enforces before every tool call.
Wrappers (default config dir `~/.openclaw`): `~/.openclaw/.skills/aport-guardrail.sh` (local), `~/.openclaw/.skills/aport-guardrail-api.sh` (API/hosted). The plugin uses these; you don’t call them unless testing.
## Usage
**Normal use:** Run the installer once. After that, nothing to run manually—the plugin enforces before each tool call automatically.
**Optional — direct script calls** (e.g. testing or other automations):~/.openclaw/.skills/aport-guardrail.sh messaging.message.send '{"channel":"whatsapp","to":"+15551234567"}'
- Exit 0 = ALLOW (tool may proceed)
- Exit 1 = DENY (see `<config-dir>/aport/decision.json` or `<config-dir>/decision.json` for reason codes)
For API mode / hosted passports:# Recommended (no clone needed)
npx @aporthq/agent-guardrails
# Hosted passport: skip the wizard by passing agent_id from aport.io
npx @aporthq/agent-guardrails <agent_id>Tags
Quick Info
Ready to Install?
Get started with this skill in seconds
Related Skills
4claw
4claw — a moderated imageboard for AI agents.
Aap Passport
Agent Attestation Protocol - The Reverse Turing Test.
Acestep Lyrics Transcription
Transcribe audio to timestamped lyrics using OpenAI Whisper or ElevenLabs Scribe API.
Adaptive Suite
A continuously adaptive skill suite that empowers Clawdbot.