POST /api/v1/evaluate as their enforcement gate. Place evaluate before local
tool dispatch for tools routed through this wrapper or container integration.
Sector8 returns the verdict. Your application owns honoring that decision at
dispatch time before any side effect starts.
This path uses the same admission and policy contract as the MCP connector. Coverage
applies only to tool calls your runtime routes through evaluate or the Sector8 adapter.
Unconnected tools, direct OS dispatch, and chat or completion content that never becomes a governed tool call are not automatically covered.
Prerequisites
- A Sector8 API key and client ID
- A container build or runtime path that you control
- A place in the tool caller where you can block dispatch on non-
ALLOWdecisions pipavailable in the container if you use the Python adapter
Step 1 — Add Sector8 to the container image
Install the SDK once in your approved base image:Step 2 — Set required environment variables
Step 3 — Place evaluate before dispatch
For tools routed through this integration, replace direct tool dispatch with an evaluate-before-dispatch hook. Sector8 decides; your runtime enforces. Honor the decision exactly like this:
Optional adapter helper for the same routed path:
Runtime semantics
Success state
When correctly wired:- Your runtime calls
/api/v1/evaluatebefore local dispatch for tools routed through this integration - Your application honors the decision at the dispatch boundary
ALLOWactions may executeDENYactions are blocked before execution- Unknown, missing, or failed evaluate results fail closed and do not execute
- Decision artifacts include
reason_code,decision_trace_id,evidence_hash, andpolicy_version_id
Evaluation response schema
reason_code and policy_version_id values depend on your active policy and environment. See Evaluate for the full contract.
Example — blocked call
Example — allowed call
Gotchas
session_idis required for rate limiting. A missing or staticsession_idwill cause all requests to share a rate limit bucket.owned_objectsmust list what the caller actually owns. BOLA checks compareobject_idagainst this list — an empty list means every object-level request is denied.- Do not cache
ALLOWdecisions. Evaluate every call independently. A cachedALLOWis not a security property. - Do not treat adapter install as full coverage. Only tool calls that go through evaluate or the adapter are governed.
Honest scope
This path governs tool calls that route through evaluate or the adapter. It does not govern:- inline completions or chat content that never becomes a governed tool call
- tools the runtime can still dispatch without calling evaluate
- bypassed or unconfigured execution paths
