Assume the model can be persuaded on some fraction of requests, permanently, then design for what happens next. This reference holds twenty-one controls across seven families, each written as a requirement, a test that proves the requirement holds, and the place in an ordinary stack where it lives. Every family carries OWASP, MITRE ATLAS and NIST AI 600-1 identifiers, so the controls can be cited inside your own security standard rather than argued from first principles every time a customer sends a questionnaire.
Seven families is a lot to hold in your head at once. These three decide how far a single persuaded completion travels, and each carries a test you can run this week rather than a principle everyone in the review can agree with.
Retrieved content is data and never instruction. Each segment is tagged trusted, semi-trusted or untrusted and passed in structured fields, with system policy re-asserted server-side on every call. The component that chooses tools reads no untrusted content at all, which a trace assertion proves: no retrieval payload in the planner context, ever.
Each tool holds its own identity, scoped to its narrowest action, and the callable set for a session is decided by the server from the caller role rather than requested in a prompt. Payments, deletions, merges and permission changes wait for a human who is shown the exact parameters. The test is blunt: an out-of-scope call returns a refusal.
Prompt, retrieved chunk identifiers, every tool call with its parameters, the completion and the caller identity, all carried on one correlation ID. The proof is a timed reconstruction of a named historic session, end to end. Fourteen days off a containment window is worth around $370K at the 2026 hourly figure, which no span schema costs.
Weights are executable content in most loaders and a tag is not a version. Fail the build on any tag-only reference, refuse pickle checkpoints at load, and attach a model bill of materials to the release.
Fewer than half of organisations secure non-human identities. Make each agent a principal that appears in the quarterly access review, issue short-lived tokens, and keep a never list covering admin roles, signing keys and payment credentials.
Authenticated, attributed writes on every source feeding the index, a scan for instruction-like text and invisible characters, a maximum index age, and permissions re-applied at rebuild. A poisoned canary document should be caught there.
Per-tenant and per-feature ceilings, a concurrency cap, a maximum tool-call depth, and a breaker that fails closed. Prove it with a load test that trips the breaker and lands on the fallback path.
Run the three tests in the first section against it: a per-role retrieval assertion, a read-only token on a write path, and one injection case per output sink. Each takes an afternoon and tells you whether the control you believe you have is enforced anywhere. Fix what fails before adding families.
It is telemetry, and useful as telemetry. A classifier scores text probabilistically, so treating it as a boundary means your boundary has a failure rate you cannot state. Put the boundary where enforcement is deterministic: the tool gateway, the retrieval entitlement check, the schema validator and the egress allowlist.
A long-lived key is a shared account with no owner and no expiry. Make the agent a directory principal with a named human owner, exchange for short-lived tokens at the tool gateway, and hold a deny list in the broker. The test is whether the agent turns up in the quarterly access review.
Every family carries OWASP LLM, MITRE ATLAS and NIST AI 600-1 identifiers, so you can cite recognised references beside your own control IDs. The test column matters more in practice: an assessor asking for evidence gets a dated CI result rather than a description of intent.
This one covers what to build and how to prove it works. AI Security Under Regulation covers which obligation makes each control mandatory and by when, including the NIS2, DORA and GDPR notification windows. Use them together when a customer asks for both the control and its legal basis.
AppSec engineers, platform teams and security architects who have to implement rather than approve. It is written to be opened at a family and read in five minutes, so it assumes working knowledge of retrieval, agents and CI, and it names the test rather than describing the principle behind it.
Drop your details and we'll send AI Security: An Engineering Reference straight to your inbox - no spam, unsubscribe anytime.
We assess one live AI feature against this catalogue, close the cheapest gap in your own repository, and leave an adversarial evaluation suite running in your CI. Two weeks, defined criteria, no commitment. SECTION 7 - FAQ - 5 to 8 questions
Book a control gap review