Mistral released Shieldstral 1.0 on August 4, 2026 — a 3B-parameter, Apache 2.0 guard model that takes a plain-language safety policy as prompt text at inference time rather than baking a fixed set of harm categories into its weights. It evaluates text and images in a single pass, it is on Hugging Face, and it is small enough to sit inline in a request path on one GPU.
That shape matters more than the model does. A fixed content-moderation endpoint assumes one policy for every caller. An agent stack does not have one policy — it has a different one per tool, per tenant, and per surface, and those policies change on product timelines rather than model-training timelines. A guard model whose policy lives in the prompt is the first widely available component built for that reality.
This guide covers what actually shipped, the input format and scoring mechanic in concrete terms, and an honest row-by-row read of Mistral’s own benchmark tables — which show a mixed picture, not the clean sweep the announcement’s headline sentence implies. Everything below is sourced from Mistral’s announcement and the Hugging Face model card, with the gaps in that evidence called out where they exist.
- 01A 3B multimodal guard model under Apache 2.0.Shieldstral 1.0 is built on Ministral-3-3B-Base-2512 with a native Pixtral vision encoder, published as open weights on Hugging Face, and fits in 16GB of VRAM in BF16 on a single GPU.
- 02The policy is prompt text, not weights.Every request carries an instruction block, a single yes/no query, and the document under evaluation. Mistral states that policies live entirely in the prompt, so one checkpoint adapts to a new policy at deployment time without retraining.
- 03The output is one token, converted to a score.The model card's reference implementation requests a single token with log probabilities, renormalizes the yes and no probabilities into a continuous safety score, then thresholds it — Mistral uses 0.5 in its own benchmark tables.
- 04The 7x headline is not a clean sweep.By our count of the 21 benchmark rows Mistral publishes across five tables, Shieldstral leads on 6, sits within one point of the leader on 6 more, and trails by more than a point on the remaining 9.
- 05Strongest on multimodal, weakest on multilingual.Shieldstral leads two of three multimodal rows including VLGuard at 97.7 F1, but trails GPT-OSS-Safeguard-20B on all three listed refusal-detection rows and sits 15.8 points behind Nemotron-3.5-Content-Safety-4B on RTP-LX Prompt.
01 — What ShippedA guard model small enough to sit inline.
Shieldstral 1.0 is a 3B-parameter, policy-adaptive, multimodal safety classifier released as open weights. The Hugging Face model card gives the lineage directly: it is built on Ministral-3-3B-Base-2512 with a native Pixtral vision encoder, which is what lets a single evaluation take text, an image, or both together rather than routing images to a separate classifier.
The license is the part worth reading twice. Apache 2.0 covers both commercial and non-commercial use, which puts Shieldstral in a different bucket from guard models released under bespoke community-licence terms. For teams that need a moderation layer to run inside their own perimeter — regulated sectors, data-residency obligations, or simply a refusal to route user content through a third party — that combination of a permissive licence and a 16GB footprint is the whole story.
Shieldstral 1.0 3B
Released August 4, 2026 as a policy-adaptive multimodal safety classifier. Weights are on Hugging Face; a technical report is linked from both the announcement and the model card.
Ministral-3-3B-Base-2512
The vision encoder is native rather than bolted on, which is what makes a single text-plus-image evaluation possible instead of two separate classifier calls that then have to be reconciled.
16GB VRAM in BF16
Both the announcement and the model card state it runs on a single 16GB GPU. There is no hosted endpoint and no published per-token price — this is a weights release, not an API product.
02 — The MechanicThree fields, one yes/no token.
Most coverage describes Shieldstral’s input format in the abstract. The concrete version is available verbatim from the model card and is worth walking through, because the plumbing is where the design decision actually lives.
"Shieldstral frames content moderation as a binary question-answering task."— Mistral AI, Shieldstral announcement, August 4, 2026
Each request carries a fixed system message plus a user message built from three parts. The system message, verbatim from the model card:
Judge whether the Document meets the requirements based on the Query and the Instruction provided. Note that the answer can only be 'yes' or 'no'.
The user message then supplies the three adaptive fields:
- <Instruct> — the evaluation context and the strictness level. This is where your policy actually goes, in plain language.
- <Query> — a single yes/no question about the content, scoped to one thing you want decided.
- <Document> — the content under evaluation: text, an image, or both in the same call.
The output side is equally spare. The model card’s reference implementation calls the model with a single-token generation budget, requests log probabilities, and renormalizes the probabilities of the yes and no tokens into a continuous safety score. That score is then thresholded — Mistral uses 0.5 in its own benchmark tables.
The practical consequence is that you are not stuck with a binary. Because the raw output is a calibrated score rather than a label, you can set different thresholds per surface: aggressive on a public comment field, permissive on an internal drafting tool, somewhere in between on a customer-facing agent. That is a materially different operating model from a fixed endpoint that returns category flags you cannot tune. Our production safety-layer reference covers where a scored classifier sits relative to the other layers in a defended stack.
"policies live entirely in the prompt, so one checkpoint adapts to novel policies at deployment time."— Mistral AI, Shieldstral announcement, August 4, 2026
03 — TrainingTeaching a model to tell sibling policies apart.
The claim that one checkpoint generalises to policies it has never seen needs a training story, and Mistral gives a partial one. The policy-adaptability component is trained on generated data built around rewrite pairs that the announcement describes as engineered to violate one policy but not its sibling — teaching the model to distinguish which specific policy a piece of content violates rather than whether it is broadly unsafe. Mistral says that discrimination is what transfers to unseen, user-defined policies at inference time.
That is a sharper framing than it first appears. Most safety classifiers are trained to answer a coarse question — is this harmful — and then have categories layered on top. Training on pairs that are deliberately near-identical except for which rule they break forces the model to attend to the rule text itself rather than to surface features of harmful content. If the mechanism works as described, it is the reason a policy written by your trust-and-safety team on a Tuesday can be enforced by the same weights on Wednesday.
The final model is described as a merge: a fine-grained policy-discrimination component trained on generated data, merged with the base instruct model, which Mistral says recovers common policy calibration and policy adaptability in a single model while instruction-following ability transfers from the base. Mistral also states it built Shieldstral end to end on its own Forge tooling; we have not examined Forge and make no claims about it beyond that.
04 — The Honest ReadThe 7× claim, unpacked row by row.
Every piece of coverage we found repeats one sentence from the announcement and stops there. Here it is verbatim, and then here is what Mistral’s own tables say underneath it.
Mistral publishes five benchmark tables on the Hugging Face model card — text safety by prompt classification, text safety by response classification, multilingual, refusal detection, and multimodal safety. Across those tables we counted 21 rows in which Shieldstral appears alongside at least one competitor. The scorecard below is our tally of those rows, not a Mistral-published summary; Mistral states no averages anywhere on either page.
| Benchmark family | Rows | Rows Shieldstral leads | Leader on its worst row | Largest deficit |
|---|---|---|---|---|
| Text safety — F1, two classification tasks | ||||
| Prompt classification | 5 | 2 — ToxicChat 84.1, HarmBench 99.4 | GPT-OSS-Safeguard-20B 84.0 on OpenAI Moderation | −2.6 |
| Response classification | 6 | 1 — Aegis v2 87.2 | GPT-OSS-Safeguard-20B 85.0 on Qwen3GuardTest | −2.1 |
| Everything else — multilingual, refusal, multimodal | ||||
| Multilingual | 4 | 1 — PolyGuard Prompt 84.6 | Nemotron-3.5-Content-Safety-4B 86.1 on RTP-LX Prompt | −15.8 |
| Refusal detection | 3 | 0 — trails on all three | GPT-OSS-Safeguard-20B 93.9 on WildGuardTest | −3.6 |
| Multimodal safety | 3 | 2 — VLGuard 97.7, UnsafeBench 81.8 | LlavaGuard-7B 81.4 on its own namesake test | −9.4 |
| All five tables | 21 | 6 of 21 — plus 6 more within 1.0 point | GPT-OSS-Safeguard-20B leads 9 of the 15 rows Shieldstral does not | −15.8 |
Splitting the 21 rows three ways makes the picture legible. Six rows are outright Shieldstral wins. Six more are rows where Shieldstral trails by a margin — 0.1 to 0.9 of an F1 point — that is well inside the noise of any single evaluation and is fairly described as a match. The remaining nine are rows where Shieldstral trails by more than a full point, five of them by more than 2.5.
Shieldstral vs the field · 21 published benchmark rows
Source: our count of the five benchmark tables on Mistral’s Hugging Face model cardSo the honest version of the headline is this: a 3B model that leads outright on about a quarter of the rows its vendor chose to publish, matches on another quarter, and trails on the rest, against comparators up to roughly seven times its size. That is a genuinely impressive result for the parameter count. It is not the clean sweep a reader would take from the announcement sentence, and the distribution is not random — Shieldstral is strongest exactly where multimodal capability is the differentiator and weakest on multilingual and refusal detection, which are the two categories where a fixed-category classifier trained at scale has the most advantage.
The one row that deserves singling out is Aegis v2 response classification, where Shieldstral posts 87.2 against GPT-OSS-Safeguard-20B’s 75.2 — a twelve-point margin, the largest in either direction across the two text-safety tables. A gap that size from a model one-seventh the size is not a rounding artefact; it is the policy-adaptability training showing up in a benchmark that rewards it.
05 — Read The FootnotesEvery model is measured at a different operating point.
The model card’s footnotes are load-bearing and almost nobody quotes them. GPT-OSS-Safeguard-20B’s numbers are produced with reasoning effort set to high. Nemotron-3.5’s are produced with reasoning effort set to none for default categories. ShieldGemma and Shieldstral both use a fixed 0.5 threshold. Qwen3Guard’s numbers are averaged over its strict and loose unsafe-mapping settings.
Those are four different operating points, not a level playing field. Each competitor is represented at a configuration Mistral chose for it, which is not necessarily that model’s best achievable setting — and reasoning effort in particular changes both the score and the cost per call by a large factor. A 20B model running at high reasoning effort and a 3B model emitting one token are not comparable on latency or spend, and neither page attempts to make that comparison. Since no source states throughput or latency figures for Shieldstral, we are not going to invent them either.
The same discipline applies to the accompanying technical report. Both the announcement and the model card link one on arXiv. We have not read it, so nothing on this page is attributed to it — if you need the training details in depth, that is where to go, and you should expect it to contain claims this page does not make.
06 — Agent StacksWhy a prompt-resident policy fits agents better.
A fixed moderation endpoint encodes an assumption that stopped being true somewhere around the point agent stacks became normal: that one policy is correct for every caller. It is not. A support agent reading customer email, an internal research agent reading a competitor’s filings, and a public-facing content agent generating marketing copy have genuinely different tolerances for the same input, and the correct answer for one is the wrong answer for the others.
That per-surface variance is exactly what Anthropic’s own published classifier data makes concrete — see the per-surface classifier evidence Anthropic published for that argument in its own terms. The point that carries over here is structural: if the false-positive picture differs by surface, a single global policy is not a simplification, it is a defect. A guard model whose policy is an argument rather than a property of the weights is the component shape that follows from accepting that.
Multi-tenant SaaS
Each customer contractually gets their own acceptable-use standard. With a prompt-resident policy that becomes a per-tenant configuration string rather than a fine-tune, a separate deployment, or a hard-coded category map you cannot ship changes to.
One model, several strictness levels
Because the raw output is a calibrated score rather than a label, the same checkpoint can run strict on public inputs and permissive on internal drafting by moving the threshold. Mistral uses 0.5 in its own tables; treat that as a starting point, not a default.
User-generated content pipelines
Text and image in one evaluation removes the reconciliation problem of two classifiers disagreeing about a post that is only unsafe in combination. This is Shieldstral's best-evidenced category — it leads two of the three multimodal rows Mistral publishes.
Non-English at scale
Twelve languages are supported, but this is the weakest category in Mistral's own tables — 15.8 F1 points behind Nemotron-3.5-Content-Safety-4B on RTP-LX Prompt. Benchmark against your actual language mix before committing, and consider routing non-English traffic elsewhere.
Worth being precise about scope: a guard model is a content classifier, not an injection defence. It answers whether a document violates a stated policy. It does not answer whether an instruction embedded in that document will hijack your agent, which is a different failure mode requiring different controls — a layered prompt-injection defence framework covers that side. Treating a policy classifier as an injection defence is a common and expensive category error. For the wider picture of where classification sits in a trust-and-safety operation, our content-moderation and trust-and-safety guide walks the full stack.
07 — DeploymentWhat it takes to actually run it.
The model card lists vLLM as the recommended runtime, requiring vLLM 0.26.0 or newer, alongside llama.cpp with GGUF quantization, SGLang, and Transformers. Fine-tuning is supported via Axolotl, with a dedicated example in Axolotl’s own repository. Specific GGUF quantization levels circulate in secondary coverage; we would treat the framework support as confirmed and the exact quant levels as something to check against the repository before you plan around them.
VRAM in BF16
Both Mistral's announcement and the model card state Shieldstral fits in 16GB of VRAM in BF16 on a single GPU. That is a commodity card, which is what makes an inline guard call architecturally plausible rather than a separate service tier.
Trained context window
Shieldstral is trained on sequences up to 32k tokens. The model card notes it theoretically supports a 256k context window but recommends staying within the 32k training range — treat 32k as the supported ceiling for anything you intend to trust.
Languages supported
English, French, Spanish, German, Italian, Portuguese, Dutch, Chinese, Japanese, Korean, Arabic and Russian. Coverage is not the same as parity — see the multilingual benchmark gap in section 04 before assuming uniform quality across that list.
08 — Before You Trust ItVendor benchmarks are a hypothesis, not a result.
Every number on this page originates with Mistral. At the time of writing we could not find third-party replication of any of the benchmark tables, which is the normal state of affairs in the first week after a model release and is also the reason the tables should be read as a hypothesis about how the model will behave rather than as a result you can plan a rollout around.
The evaluation that actually matters is not on the model card anyway. Every benchmark here measures Shieldstral against policies it was benchmarked on; the entire product claim is that it generalises to policies it has never seen — specifically yours. That is the one thing the published tables structurally cannot tell you, and it is the one thing a half-day of work can. Write your real policy into the instruction field, assemble a couple of hundred labelled examples from your own traffic including the edge cases your team argues about, and measure the score distribution before you pick a threshold.
Our projection for the next two quarters: policy-in-the-prompt becomes the default shape for guard models rather than a differentiator, and the competitive axis moves to calibration quality — how stable the score is as the policy text is rephrased. That is the failure mode nobody is benchmarking yet, and it is the one that will bite in production, because policy text gets edited by people who are not thinking about model behaviour when they edit it. A team that starts measuring rephrasing stability now will be ahead of the tooling. If you want that evaluation designed and run against your own content rather than a public benchmark, our AI transformation engagements start with exactly this kind of comparative work.
09 — ConclusionThe shape is the story, not the scoreboard.
A policy that lives in the prompt is a different kind of component.
Shieldstral 1.0 is a 3B, Apache 2.0, multimodal guard model that fits on one commodity GPU and takes your safety policy as plain text at inference time. Those facts are solid, checkable on two primary pages, and genuinely useful. The benchmark headline is softer than it reads: across the 21 rows Mistral itself publishes, Shieldstral leads six, matches six within a point, and trails nine — strongest on multimodal, weakest on multilingual and refusal detection.
None of which makes the release less interesting, because the benchmark table is answering a question that matters less than the architecture does. Guard models have been shipped as fixed-category classifiers because that is what a centralised moderation endpoint needs. Agent stacks are not centralised, and their policies are not fixed. A model that reads the rule at request time rather than having it compiled into weights is the component that fits the system we are actually building — even if the first version of it loses several benchmark rows to a model seven times its size.
The practical move is unglamorous and cheap. Pull the weights, write your real policy into the instruction field, score a few hundred examples from your own traffic, and find out where the threshold belongs. Then rephrase the policy and check whether the answers move. Vendor tables cannot answer the question you care about; a half-day of your own evaluation can.