Developer documentation

Put the decision before the action.

Onboard the shared execution boundary once, then route eligible tool and workflow interactions through it. This is the public contract-level guide; customer configuration, credentials, and policy internals remain private.

Integration model

Place the AgenticDome check immediately before the sensitive side effect. A central gateway, shared plugin, wrapper, middleware, or MCP/tool boundary can cover interactions that actually traverse that boundary. Calls that bypass it are not covered.

Important: setup once does not mean coverage by magic. Coverage follows the connected execution path and must be verified with test actions.

Python quickstart

from agenticdome_sdk.client import AgenticDomeClient

client = AgenticDomeClient(
    api_base="https://your-sidecar.example.com",
    api_key="your-api-key",
    tenant_id="your-tenant-id",
)

decision = client.guardrail_validate(
    text="Agent requests a refund tool call.",
    agent_id="support-agent",
    direction="outbound",
    platform="python",
    tool_name="payments.refund.create",
    tool_args={"amount": 2500, "currency": "USD"},
)

if decision.get("verdict") == "BLOCKED":
    raise PermissionError(decision.get("reason", "Action blocked"))

Use tenant-specific endpoint and API-key configuration supplied during onboarding. Never ship an AgenticDome credential to browser code or commit it to source control.

Action-decision contract

The Action Firewall returns a decision such as ALLOWED, BLOCKED, or REDACTED, together with decision context available to the integration. The application remains responsible for enforcing that result before the side effect occurs.

Compatibility paths

Public implementation paths cover Python and TypeScript applications, REST, MCP/tool boundaries, OpenClaw workspaces, Microsoft Copilot Studio and AI Foundry patterns, AWS Bedrock agents, and common agent frameworks. Platform names describe integration patterns unless a page explicitly identifies a native package or certified connector.

Runtime performance

AgenticDome is engineered for inline runtime use. Warming and deterministic policy paths are designed to keep AgenticDome processing to a few milliseconds for eligible decisions. Do not treat component processing time as total request overhead: network RTT, proxy traversal, payload size, retries, and optional LLM-assisted branches can add materially more.

Co-locate the assigned runtime with the protected workload where possible, reuse connections, choose bounded timeouts, and run the performance harness against representative allowed, blocked, and unavailable paths before production.

Timeout and error semantics

Set explicit timeouts and select fail-closed or fail-open behavior based on the action’s risk. Test network failure, malformed decisions, retries, and duplicate submissions. Production-sensitive actions should not silently execute when their required decision is unavailable.

See the Trust Center for public boundary disclosures or book a deployment review for your exact architecture.