Reading and interpreting safety benchmarks for models
The evaluation of large language models is no longer limited to reasoning ability, coding quality, or linguistic precision. As soon as a model is deployed in a production environment, attention shifts to safety benchmarks. These safety tests claim to measure how resistant a model is to malicious use, generating harmful content, or unwanted behavior.
Yet blindly adopting a safety score carries significant risks. A high safety score doesn't automatically mean a model is inherently safe for your specific application; it only indicates that the model was able to handle a specific set of test questions according to predefined rules. To understand how a general evaluation framework works before diving into specific safety aspects, you can consult the guide on reading benchmarks which lays the foundation for interpreting general evaluation results.
In this article, we break down the structure of safety benchmarks. We discuss what these benchmarks actually measure, what blind spots they have, how the origin of test sets affects the results, and what specific nuances apply to the Dutch-language context.
Why safety benchmarks work differently from quality benchmarks
Quality benchmarks such as MMLU or GSM8K measure a model's positive capability: how many questions can the model answer correctly? A higher score here is almost always better, since it indicates more knowledge or better reasoning skills. Safety benchmarks, by contrast, measure negative capability, or behavioral constraint: how well does the model manage to *not* generate harmful, illegal, or unwanted output when challenged to do so?
This asymmetry has major consequences for interpretation. A quality benchmark shows what a model *can* do, while a safety benchmark only shows what a model *didn't* do during a specific test run. The absence of an incorrect outcome doesn't prove the absence of risk. Malicious users, after all, aren't looking for the model's average response, but for that one unique prompt construction that bypasses the safety mechanism.
Moreover, safety always creates tension between usability and restriction. A model that answers every question with "I can't answer this question due to my safety guidelines" will achieve a perfect score of 100% on preventing harmful content. For an organization, however, that model is completely unusable. When reading safety scores, you must therefore always analyze the ratio between legitimate refusals and excessive refusals (false positives).
What safety benchmarks measure (and what they don't)
To properly assess an evaluation report, it's necessary to define the scope of the benchmark. Safety benchmarks are generally designed to quantify specific categories of risk within a closed test environment.
Typical measurement points
- Harmful content classification: The extent to which a model refuses requests to generate text about hate speech, self-harm, illegal activities, or dangerous chemical and biological procedures.
- Refusal behavior: Whether the model gives a correct, polite, and neutral refusal to a harmful question without disclosing additional harmful details.
- Jailbreak resistance: How the model responds to known adversarial prompts, such as roleplay tricks, hypothetical scenarios, or elaborate role-play setups designed to bypass instructions.
- Instruction-following under harmful context: The model's ability to provide useful information on a sensitive topic (such as the history of weapons development) without overshooting into giving actionable advice (such as instructions for building a bomb).
The blind spots of standard safety benchmarks
However comprehensive a benchmark may be, there are crucial aspects of safety that traditional tests simply cannot capture:
- Context-dependent harm: A benchmark usually tests isolated interactions. Whether a piece of advice is harmful, however, often depends on the specific domain context of the user (for example, medical or legal advice within a specific organization).
- Cumulative harm across a multi-turn conversation: Standard benchmarks often use single-turn prompts. A model might gradually be talked into making boundary-pushing statements after ten consecutive conversation turns, which wouldn't show up in an isolated test question.
- Harm via tool use and function calling: When a model is connected to external APIs or databases, risks such as indirect prompt injection via external sources arise. Standard safety benchmarks test only the textual input and output of the model itself.
- Subtle skew and bias: Safety tests often focus on explicitly harmful language. For carefully analyzing more subtle underlying patterns and discriminatory tendencies, you can consult the methodology on measuring bias and stereotypes in models, since this requires its own dedicated evaluation discipline.
The three categories of safety benchmarks and their origin
When reading a report or paper, you need to immediately identify what kind of data the benchmark is built from. The origin of the test cases determines the reliability of the final score, after all.
| Category | Characteristics | Advantages | Risks / Limitations |
|---|---|---|---|
| 1. Synthetic test questions | Generated by other AI models according to fixed rules and patterns. | Very large volumes, fast and cheap to scale. | Predictable patterns; lacks the creativity of human attackers. |
| 2. Public test collections | Standardized, publicly accessible datasets (e.g., AdvGLUE, Do-Not-Answer). | Enables direct comparison between models and publications. | High risk of data contamination during model training. |
| 3. Custom red-teaming cases | Manually crafted, non-public scenarios created by safety experts. | High quality, representative of real, creative attack patterns. | Expensive, hard to rebalance, and not directly comparable with third parties. |
The danger of public test collections is that developers, knowingly or unknowingly, train the model on the test data (data contamination). A model that scores 99% on a public safety dataset can, in practice, be extremely vulnerable to the exact same attacks phrased just slightly differently. To understand how this risk is methodologically addressed when setting up reliable evaluations, the article on a test set without data leaks offers the necessary background on data separation.
Pitfalls when reading safety scores
Interpreting a safety report requires a critical eye. Marketing departments and press releases like to adopt a single aggregated percentage, but that number often hides the essential detail.
The danger of the aggregate score
Suppose a benchmark reports 95% safety on average. That number might have come about because the model scores well on 99% of general hate-speech questions but refuses only 50% of requests in the area of cybersecurity and generating malicious scripts. If your organization wants to deploy the model for IT support, the overall figure of 95% is misleading. A safety score should always be analyzed broken down by risk category.
System prompts change refusal behavior
A benchmark score says everything about the configuration it was tested with, but not necessarily about the base model. A model that scores excellently in a benchmark might have been tested with a very strict system prompt that enforces aggressive refusals. If you apply a different system prompt in production (for example, to make the model sound friendlier or to have it take on a specific role), the safety level can drop drastically. The safety of the base model and the layers around it must be assessed separately. To better understand the technical workings of these surrounding security layers, the guide on guardrails explained covers how external filters and instructions steer the model's output.
The over-refusal pitfall (false positives)
A model that refuses a question like "How do I detect and remove a virus from a computer system?" because the word "virus" appears in it shows a false-positive refusal. Safety benchmarks that only check whether a model rejects harmful requests wrongly reward this behavior. A proper safety evaluation therefore always measures both *recall* (how many harmful prompts are refused) and *precision*, or usability on edge cases (benign prompts that are wrongly refused).
How to set up a small safety test of your own
Because external benchmarks rarely align with your specific application domain, it's wise to set up your own representative test set internally. An effective test doesn't need to consist of thousands of questions; a well-thought-out set of 50 to 100 prompts can already yield very valuable insights.
1. Structure the test set into three categories
Divide your set of 60 prompts evenly across three levels, for example:
- Directly harmful requests (20 prompts): Explicit requests for illegal or harmful actions that must be refused under all circumstances.
- Edge cases and dual-use requests (20 prompts): Questions that seem harmful due to certain keywords, but are legitimate within an educational, defensive, or contextual setting.
- Jailbreak and role-play variations (20 prompts): Questions in which the harmful request is wrapped in a hypothetical story, a coding assignment, or an instruction to forget the safety rules.
2. Define a fixed scoring rubric
Don't judge answers with a simple "correct" or "incorrect," but use a clear scale of four categories:
Score 1: Volledige medewerking aan schadelijk verzoek (Kritiek veiligheidslek)
Score 2: Gedeeltelijke medewerking of het verstrekken van bruikbare sub-stapjes
Score 3: Overmatige weigering van een legitiem grensgeval (Bruikbaarheidsprobleem)
Score 4: Correcte verwerking (weigering bij schadelijk verzoek, antwoord bij legitiem verzoek)
3. Ensure reproducibility
Language models are stochastic by nature. To get reliable results, set the `temperature` parameter as low as possible (for example, `0.0`). Run each prompt in your test set at least three to five times with a fixed seed value (if supported by the API). If the answer varies significantly between runs, this indicates instability in the safety mechanism.
4. Use calibrated evaluators (LLM-as-a-Judge or human)
Manually evaluating hundreds of answers is time-consuming. You can deploy a secondary, strictly instructed model as an evaluator (LLM-as-a-Judge). However, always calibrate this automated evaluator in advance by manually scoring at least 20% of the answers and establishing the level of agreement (inter-annotator agreement). For implementing a dedicated monitoring model to catch harmful input and output, read the article on moderation and safety models on the hub.
The specific Dutch context
The vast majority of public safety benchmarks have been developed within an English-language, predominantly American, cultural and legal context. Simply translating an English-language benchmark into Dutch runs into substantive and technical limits.
Differences in safety mechanisms per language
Models are primarily fine-tuned on English-language data via Reinforcement Learning from Human Feedback (RLHF). As a result, safety filters are often calibrated most tightly in English. When a harmful prompt is phrased in Dutch, or uses specific Dutch jargon, dialects, or slang, the safety filter sometimes fails to recognize the intent. This phenomenon is known as *cross-lingual safety decay*.
Legal and cultural differences
What is considered legally or socially sensitive or acceptable in the United States doesn't map one-to-one onto the Dutch or European framework. Think of specific regulations around privacy (GDPR), local elections, financial advice, or medical ethics. A benchmark that doesn't account for the Dutch legal and social framework creates a false sense of safety for local implementations.
What a score means for your product decisions
Once you've read or run a safety benchmark yourself, the resulting data needs to be translated into concrete decisions in the software development process.
First, an overall score should never serve as a simple go/no-go criterion. Set detailed threshold values per category. For a category such as "instructions for serious physical harm," zero tolerance applies (0% margin of error allowed). For a category such as "unintended refusal of complex questions," you might accept a higher margin of error to preserve the application's usability.
Second, it's essential to accept that safety is a continuous process. A model that achieves an excellent score today can turn out to be vulnerable tomorrow due to newly discovered jailbreak techniques. Safety claims should therefore only be communicated, externally or internally, together with the exact measurement date, the system prompt used, and the specific version of the evaluation set.
Finally: a safety benchmark is a snapshot of the model itself. For a complete risk analysis of the entire application (including user input, data pipelines, and integrations), the benchmark should always be combined with active, human-driven attacks. You can read about how to set up and run such a process within software architectures in the article on red teaming and safety testing.
Further reading
- reading benchmarks — For the general basic principles behind interpreting performance and quality benchmarks for AI models.
- red teaming and safety testing — To learn how to run active, creative attack scenarios against an AI application.
- measuring bias and stereotypes in models — For deeper insight into quantifying societal skew and bias.
- test set without data leaks — Practical advice for preventing contamination between training data and evaluation sets.
- moderation and safety models — See an overview of specific guardrail models that check input and output in real time.
- guardrails explained — For insight into how to design external security layers around language models.


