egisai can stop before it
happens versus what it can only audit after the fact, framework by
framework.
This honesty matters for compliance. SOC 2, GDPR, HIPAA, and ISO 27001
auditors care that a control either fires preventively or is honestly
labelled as detective; conflating the two erodes audit trust. Every audit
row written by EgisAI carries an enforcement_status field that
distinguishes the two states, and this page is where you discover, per
framework, which state to expect.
Two enforcement seams
Two seams matter for compliance:- Tool / MCP call enforcement — block dangerous tool dispatches
(
deny_tool_call,deny_mcp_call,semantic_guard) before the tool runs. - Tool result enforcement — block or mask PII
(
pii_scan,deny_output_regex,semantic_guard) in the tool’s response before the model is shown it.
The matrix
What you can rely on
For every row above except Bedrock Agents:- A
deny_tool_call,deny_mcp_call, orsemantic_guardverdict on a tool call physically stops the tool from running. - A
pii_scan,deny_output_regex, orsemantic_guardverdict on a tool result either masks the result in place (action = "sanitize") or refuses it (action = "block") before the model is shown it. For Tier 1 and Tier 2 frameworks this happens on the next round trip’s input phase; for the Claude Agent SDK it happens at thePostToolUsehook so the model never sees the raw bytes for one turn. - Input-side policies (
pii_scan,deny_regex,allow_model,max_prompt_chars,semantic_guardon the prompt) always run before the model is called. - Sanitization rewrites the prompt locally before it reaches the provider — the raw value never crosses the SDK boundary.
- Audit rows distinguish
enforcement_status = "enforced"(the SDK actually prevented the action) fromenforcement_status = "advisory"(the SDK observed after the fact). SOC 2 / GDPR auditors can query both states with a single SQL clause.
SECURITY.md
for the architectural limitation. The limitation is publicly documented
so customers can risk-assess accordingly and pick a different framework
for workflows that require pre-execution gating.
Aggregated OUTPUT replay (Claude Agent SDK)
For the Claude Agent SDK only, there is a third evaluation pass that runs on the aggregated assistant stream atResultMessage. When that
evaluation replays structured tool_calls that the CLI subprocess
already executed, a verdict = "block" stamps
enforcement_status = "advisory" on the enclosing model_call row —
MCP / tool bytes were already replayed before Python aggregated them.
Text-only violations still stamp enforced when hooks are wired.
Applications using on_block = "raise" continue to see PermissionError
in their code path; the audit flag distinguishes subprocess timing
truth from caller withhold. The distinction is purely for SOC 2 / GDPR
evidence — your code’s behavior is unchanged.
Why this is published
A governance product that quietly papers over its limits is worse than one that names them. The Bedrock Agents row above will fail every “what controls would have stopped this” question an auditor asks; we publish the matrix so a customer evaluating EgisAI for a Bedrock Agents workload knows up front to pick a different runtime for pre-execution gating, and so an auditor reviewing a Bedrock Agents audit row can see immediately that theadvisory label is by design and not a regression.
Every other framework on this list does physically prevent the
failure modes listed above. If you ever see a tool call that ran despite
a matching deny_tool_call policy on any framework except Bedrock
Agents, or a tool result that reached the model despite a matching
pii_scan or deny_output_regex policy on any framework except Bedrock
Agents, that is a Critical-severity bypass and we want to know within
hours — see the vulnerability disclosure section of the
security page.
What’s next
Audit-event schema
The
enforcement_status field on every audit row.Verdicts
Allow, sanitize, and block — what each one means in detail.
Two-phase governance
The request / response split the matrix interacts with.
Trust Center
Live certifications, security posture, and downloadable evidence.