{
  "markdown": "# Unbound — Security & Governance for Claude Code\n\nReal-time policy enforcement, DLP guardrails, and session analytics for [Claude Code](https://claude.ai/code) — powered by [Unbound AI](https://getunbound.ai).\n\n## Why Unbound?\n\nEngineering teams adopting Claude Code face real risks: sensitive data pasted into prompts, dangerous commands executed without oversight, and zero visibility into what's happening across sessions. Unbound solves this by sitting between your developers and Claude Code — enforcing security policies in real time and streaming every session to a central dashboard. No workflow disruption, no developer friction.\n\n## Quick Start\n\n### Step 1 — Install the plugin\n\nInside Claude Code, run these two commands:\n\n```\n/plugin marketplace add websentry-ai/claude-code-plugin\n/plugin install unbound@websentry-ai/claude-code-plugin\n```\n\n### Step 2 — Run setup\n\nOpen Claude Code and run:\n\n```\n/unbound:setup\n```\n\nThe setup skill walks you through getting an API key, persisting it to your shell profile, and verifying connectivity. Takes under 5 minutes.\n\n### Step 3 — Verify on your dashboard\n\nAfter setup, every tool invocation is checked against your Unbound policies. Test with:\n\n- **Command policy**: create a BLOCK rule in your Unbound dashboard, then try running the blocked command — it should be rejected\n- **DLP guardrail**: enable DLP, then type a prompt containing an SSN — it should be blocked\n- **Analytics**: run any command, then check your Unbound dashboard for the event\n\n## What Gets Enforced\n\n| Capability | What it does |\n|---|---|\n| **Command policies** | Block or warn on dangerous tool invocations before they execute |\n| **Prompt guardrails** | DLP, NSFW, and jailbreak detection on every user prompt |\n| **Audit logging** | Streams tool usage to the Unbound dashboard in real time |\n| **Session analytics** | Sends the full conversation exchange when a session ends |\n\n## Fail-Open Design\n\nThe plugin never blocks your workflow if the Unbound API is unreachable or the key is missing. All hooks fail open — Claude Code continues working normally, and queued events are replayed when connectivity resumes.\n\n## Enterprise Deployment\n\nFor fleet deployment where end users cannot disable the plugin, see the [enterprise deployment guide](enterprise/README.md). In short: drop a managed settings file via your MDM and provision `UNBOUND_CLAUDE_API_KEY` per device.\n\n## Configuration\n\n| Variable | Description |\n|---|---|\n| `UNBOUND_CLAUDE_API_KEY` | Bearer token for the Unbound API. Get one at [app.getunbound.ai](https://app.getunbound.ai) → Settings → API Keys |\n\n## Logs\n\n| Path | Contents |\n|---|---|\n| `~/.unbound/logs/debug.jsonl` | Raw stdin from every hook event (for debugging) |\n| `~/.claude/hooks/agent-audit.log` | Per-session audit trail |\n| `~/.unbound/logs/offline-events.jsonl` | Events that failed to send (replayed on reconnect) |\n| `~/.claude/hooks/error.log` | API errors (last 25 entries) |\n\n## Troubleshooting\n\n**Plugin not loading**\nRun `claude plugin list` and confirm `unbound` appears. If not, re-install with `/plugin marketplace add websentry-ai/claude-code-plugin` followed by `/plugin install unbound@websentry-ai/claude-code-plugin`.\n\n**API key not set**\nRun `/unbound:setup` again — it will detect the missing key and guide you through setup. You can also set `UNBOUND_CLAUDE_API_KEY` manually in your shell profile.\n\n**Command blocked unexpectedly**\nCheck your policy rules at [app.getunbound.ai](https://app.getunbound.ai). The block response includes a reason — review it to confirm the rule that triggered.\n\n**Events not appearing on dashboard**\nVerify your API key is valid and the Unbound API is reachable. Check `~/.claude/hooks/error.log` for details. Offline events are stored in `~/.unbound/logs/offline-events.jsonl` and replayed automatically.\n\n## Support\n\nQuestions or issues? Email [support@unboundsecurity.ai](mailto:support@unboundsecurity.ai).\n\n## License\n\n[MIT](LICENSE)\n",
  "bytes": 3961,
  "sha": "f27f3ae538cdd3f44968d11a65e1f2394e8a8e33903e3c75dcfeb0b4f4d76e7b",
  "repo_slug": "websentry-ai/claude-code-plugin",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/plg_websentry_ai_claude_code_plugin_unbound_a9430c6d/readme"
}