Governance, safety and risk — reference
Governance, safety and risk — reference
A decision-table companion. Each table names a decision, the documented input that settles it, and the claim it does not license.
1. The three rows (LO1)
| Check | What it settles | What it does not |
|---|---|---|
| Schema validity | Arguments are well-typed | Whether the caller may act |
| Authorisation | This caller may do this | Whether it is sensible now |
| Semantic safety | This should happen now | Nothing further; this is the decision |
Strict mode delivers row one only: it guarantees the tool inputs match your JSON Schema by constraining sampling to schema-valid outputs. Without it, the model might return incompatible types or omit required fields, breaking your functions.
⚠ The decision that stops an action must live outside the model, on the resolved call. Content returned from tools, documents and searches is untrusted data and must never override the original request — so a check inside the prompt is a check the injected text gets to argue with.
Untrusted content
| Placement | Guidance |
|---|---|
| Tool result blocks | The recommended channel |
| System prompt or plain user text | Advised against |
| Your own rules inside a tool result | May be ignored or flagged as injection |
JSON-encode third-party strings rather than concatenating them: the escaping gives unambiguous delimiters, so an attacker cannot close a quote or tag to break out. Underneath everything, least privilege — no secrets the agent does not need, sandboxed tools, permissions scoped as narrowly as possible — bounds what a successful injection reaches.
⚠ Strict tool use is eligible for protected health information, but that information must not appear in tool schema definitions (property names, enum, const, pattern). Compiled schemas are cached separately for up to 24 hours since last use and do not carry the same protections. Such data belongs in message content.
2. Failure taxonomy (LO2)
| Observed | Underlying failure | First remedy |
|---|---|---|
| Fact absent from the evidence | Knowledge from outside | Restrict to the provided documents |
| No quote supports the claim | Unsupported claim | Require a quote per claim; retract otherwise |
| Answers differ between runs | Instability | Repeat and compare; inconsistency can indicate hallucination |
Abstention is a design element, not a failure: explicitly give the model permission to admit uncertainty, and to state when no relevant quotes were found. Both convert a gap the system would paper over into one it reports.
⚠ The mitigations significantly reduce hallucinations without eliminating them, and critical information should always be validated, especially for high-stakes decisions. If an action is irreversible, the design needs a check that does not depend on the model having been right.
3. Human-in-the-loop (LO3)
| Capability | What it does |
|---|---|
| Permissions | Control which tools run automatically, which need approval |
| Hooks | Run custom code at key points in the agent lifecycle |
| Subagents | Spawn specialised agents for focused subtasks |
Gate matrix (house, built on the documented permission control and the instruction to validate high-stakes decisions):
| Consequence | Reversible | Gate |
|---|---|---|
| Low | Yes | Run automatically |
| High | Yes | Log and alert |
| High | No | Require approval |
A gate is only real if it carries evidence — quotes and sources for the claims the recommendation rests on — and a recommended action to approve or reject, with nothing applied until approval. Reduce the volume reaching a reviewer with an adversarial verification pass before surfacing, which the documentation credits with more real issues reported and fewer false positives.
4. Regulatory compliance (LO4)
| The documentation says | It does not say |
|---|---|
| Supports compliance with industry and regional standards | Confers compliance on your deployment |
| An addendum defining roles and responsibilities | That it assumes your obligations |
| Data subject rights, retention and deletion support | That it answers requests for you |
The addendum is automatically incorporated into the commercial terms, so accepting those accepts it. ⚠ Access through a third-party platform is governed by that platform's terms of service — eligibility is a per-access-path check.
| Control | Fixes |
|---|---|
| Data residency | Where prompts, outputs and history are stored |
| Inference residency | Where requests are processed and responses generated |
| Regional endpoint | Guarantees both stay in the specified region |
Global endpoints route dynamically for maximum uptime with no pricing premium — a good default without a residency requirement, and the wrong one with. By default, customer data from commercial deployments is not used to train models.
⚠ An audit trail starts when you switch it on. Activity feed retention is six years forward; recording is not retroactive, earlier activity is not backfilled, and a gap while recording was off cannot be recovered. Feed retention is independent of the content retention policy.
5. Ethics, bias and transparency (LO5)
Even hazy topics such as ethics and safety can be quantified. A criterion needs three things:
| Element | Example |
|---|---|
| Quantity | Under 0.1% of outputs |
| Population | Across 10,000 trials |
| Instrument | Flagged by the content filter |
Most use cases need multidimensional evaluation along several success criteria — the documented point is about criteria, not groups. Scoring per slice rather than blended is the house step layered on it, together with an evaluation set that mirrors the real distribution and its named edge cases. Binary classification suits a present-or-absent judgement such as whether a response contains protected information.
| Honest | Not supportable |
|---|---|
| Errors greatly reduced | Verified free of bias |
| Auditable when quotes are requested | Auditable by default |
| Validate high-stakes decisions | Safe to automate |
Publish the right-hand column as excluded, and give users an appeal path. Criteria must align with the application's purpose and users, so a threshold copied from another system carries a justification nobody made for this one.