Assumptions
- You can inspect the orchestration code, tool definitions, and enforcement path.
- You know which workflow or product surface the code is supposed to support.
- Anthale is either already integrated or planned as part of the control flow.
Review the code
1
Map where untrusted content first enters
Find the code that accepts user input, retrieved text, uploaded files, OCR output, tool results, memory replay, or
MCP responses. Mark where each of those sources first reaches model context.
2
Check Anthale boundary placement
Verify that Anthale runs before prompt assembly, before risky tool or retrieval output is reused, and before final
model output leaves the workflow. Anthale should guard the boundary, not observe it after the fact.
3
Inspect tool and action gating
Review how tools are registered, what credentials they use, and whether arguments are validated against business
rules before execution. A tool call should still be an application decision.
4
Inspect retrieval and memory writes
Check whether retrieved content and memory entries keep provenance, stay separate from higher-authority
instructions, and are re-checked before replay.
5
Inspect output handling
Verify that
redact uses sanitized content only, block stops the path, and structured or side-effecting outputs
are validated before the next system consumes them.6
Inspect logs and reviewability
Confirm that the code logs the Anthale action, the application enforcement result, and the boundary or source type
that produced the event. If you cannot explain a failure later, the review is incomplete.
What this looks like in code
Common anti-patterns
- Anthale is called after the prompt is already assembled or after a tool result is already trusted.
- One global prompt is treated as the main security layer while permissions and approvals stay broad.
- Tool arguments are schema-valid but still unsafe because destinations, records, or side effects are not allowlisted.
redactis returned, but the raw content is still logged, stored, or forwarded.- Memory or summaries are replayed without any source tagging or boundary check.