Assumptions
- Your application already defines the tools an agent can call.
- Tool credentials and permissions are controlled outside the prompt.
- You can require approval or rejection before a sensitive action executes.
Gate the actions
1
Classify tools by impact
Separate read-only tools from tools that write, send, delete, purchase, or change state. The higher the impact, the
stronger the approval and validation path should be.
2
Keep credentials narrow and separate
Give each tool the smallest set of permissions it needs. Do not reuse one broad service credential for unrelated
tools or workflows.
3
Validate arguments deterministically
Require structured arguments, schema checks, allowlisted destinations, and strict parameter validation before the
action reaches the real system.
4
Add approval for high-impact actions
Require explicit approval for actions that are destructive, external, financial, regulated, or hard to reverse. A
model suggestion is not the same thing as user authorization.
5
Evaluate tool results before reuse
Treat browser results, connector responses, and other tool output as untrusted text until Anthale and your
application have evaluated the next boundary.
6
Log the decision and the outcome
Record whether the action was proposed, validated, approved, blocked, or executed. Include the tool name, request
identifier, and the policy or rule set that governed the path.
What this looks like in code
Common failure patterns
- One agent can access more tools than the user workflow actually needs.
- Natural-language arguments are passed directly into downstream systems without schema validation.
- Read-only and write-capable tools share the same approval path.
- Tool output is trusted as if it were system instruction instead of untrusted content.