Same policy. Three runtimes. # Claude Code, with @jamjet/claude-code-hook installed as a PreToolUse hook: > Delete the old customer records from the staging DB. Tool request: bash.shell_exec Args: psql -c "DELETE FROM customers WHERE created_at < '2024-01-01'" JamJet policy: BLOCKED (rule: shell.exec) Audit: ~/.jamjet/audit/2026-05-11/claude-code-hook.jsonl Enter fullscreen mode Exit fullscreen mode # OpenAI Agents SDK (TS), with @jamjet/openai-guardrail wired into a refund tool: JamjetPolicyBlocked: JamJet policy: BLOCKED (tool: payments.refund, rule: payments.*) Audit: ~/.jamjet/audit/2026-05-11/openai-guardrail.jsonl Enter fullscreen mode Exit fullscreen mode # Claude Desktop talking to a Postgres MCP server, fronted by @jamjet/mcp-shim: {"jsonrpc":"2.0","id":7,"error":{ "code": -32000, "message": "JamJet policy: BLOCKED (rule: *delete*)", "data": {"tool": "postgres.delete_all_rows", "audit": "mcp-shim.jsonl"} }} Enter fullscreen mode Exit fullscreen mode Same policy.yaml . Three runtimes.…