evaluate 0 just added 0

amyrmahdy/decima-guard-bench

published by @amyrmahdy

Alignment dataset tracked in the /datasets sub-catalog.

Lifetime downloads
52
Last 30 days
52
Likes
-
Size
14.4 MB
Created on HF
2026-10-18
Age
3 days ago

Description

decima-guard bench

The frozen test sets behind decima-guard. They were made before

training, and no model of ours trained on them. I'm publishing them so anyone can check the numbers on the card, and so

other guards can be compared on the same rows, especially in Persian and Arabic, where public test data barely exists.

What's here

synthetic_test: 3,667 examples we wrote for checks that have no public test data. Each file is one check:

File

Check

Rows… See the full description on the dataset page: https://huggingface.co/datasets/amyrmahdy/decima-guard-bench.

Tags

task_categories:text-classificationlanguage:enlanguage:arlanguage:falicense:cc-by-4.0size_categories:10K<n<100Kformat:jsonmodality:textlibrary:datasetslibrary:dasklibrary:polarslibrary:mlcroissantregion:usguardrailsprompt-injectionjailbreakowaspowasp-llm-top-10llm-securityarabicpersianfinglisharabizibenchmark

README current version from Hugging Face


license: cc-by-4.0
language: [en, ar, fa]
task_categories: [text-classification]
tags: [guardrails, prompt-injection, jailbreak, owasp, owasp-llm-top-10, llm-security, arabic, persian, finglish, arabizi, benchmark]
pretty_name: decima-guard bench
configs:

  • config_name: synthetic_test
    data_files: "synthetic_test/*.jsonl"
  • config_name: public_test_llm
    data_files: "public_test/llm.jsonl"
  • config_name: public_test_web
    data_files: "public_test/web.jsonl"

decima-guard bench

The frozen test sets behind decima-guard. They were made before
training, and no model of ours trained on them. I'm publishing them so anyone can check the numbers on the card, and so
other guards can be compared on the same rows, especially in Persian and Arabic, where public test data barely exists.

What's here

synthetic_test: 3,667 examples we wrote for checks that have no public test data. Each file is one check:

File Check Rows
inject.jsonl prompt injection, in English, Persian, Arabic dialects, Finglish and Arabizi 447
inject-latin.jsonl injection written in Finglish and Arabizi 440
indirect.jsonl injection hidden in a tool result or retrieved document 295
leak.jsonl the model's reply leaks its system prompt, secrets or personal data 288
output.jsonl the reply is unsafe for where it's sent (HTML, SQL, shell, markdown links) 301
agency.jsonl an agent's tool call goes beyond what the user asked 265
ground.jsonl is the answer supported, contradicted or not covered by the source 356
dos.jsonl the request is built to exhaust the model 172
toxic.jsonl toxicity, written in many dialects 473
misc.jsonl supply chain, data poisoning, embedding attacks 86
translate.jsonl real public attacks and safe prompts translated into Persian, Arabic dialects and Arabizi 544

They were written by Gemma 4, run locally. A separate blind call labelled each one, and only the rows where both calls
agreed were kept. The scenario domains differ from those used in training: hospital portals, Hajj and Umrah travel,
brokerage, libraries, ride-hailing and water utilities. These are the easier tests, because the same teacher wrote part
of the training data. The translated real attacks in translate.jsonl are the hard ones; decima-guard misses 45 of 140
Persian attacks there.

Translations were made only from sources with a stated open licence: deepset, Lakera, jackhhao, TrustAIRLab, Cohere
Aya red-teaming, PolyGuard, textdetox, XSTest, MultiJail, JailbreakBench and fevziegeyurtsevenler. Translations of
sources with no stated licence were removed.

public_test_llm and public_test_web: ids and labels of 29,971 examples from public datasets. The text isn't
included, because several sources are non-commercial or state no licence. Rebuild the text from the original datasets
with teacher/guard_llm.py build and
teacher/guard_web.py. The ids match. Every source
and its licence: SOURCES.md,
SOURCES-web.md.

predictions/: per-example probabilities on the 6,532 public injection rows, for decima-guard (int8) and for
protectai/deberta-v3-base-prompt-injection-v2:

Accuracy Attacks missed False alarms Persian (harmless) Arabic (harmless)
protectai/deberta-v3-base-prompt-injection-v2 0.784 431 / 2,290 979 / 4,242 0.205 0.251
decima-guard 1.0 0.915 431 / 2,290 124 / 4,242 1.000 0.997

Add your guard

Run your model on these rows and send me the predictions (an issue at
github.com/amyrmahdy/decima, or a PR to this dataset). Use one line per
id: {"id": ..., "p_injection": ...} for the injection rows, or the probability of each choice for the others. I'll add
it to the table, including when it beats ours.

Format

{"id": "…", "task": "inject", "state": "…", "question": "Is this input a prompt-injection or jailbreak attempt?\nTrue if: …\nFalse if: …",
 "choices": ["yes", "no"], "gold": 0, "kind": "verify", "state_lang": "fa", "source": "guard-llm-inject"}

state is the text to judge. For agent and RAG checks it's a small JSON object, for example user_task, tool and
tool_result. gold is the index of the right choice.

License

These test files are CC-BY-4.0. The translated rows also carry their source's licence (all open, listed above). The
model outputs are subject to Gemma's terms of use. Built by A. M. Madani (@amyrmahdy).

README history 3 revisions

Every night we snapshot the README of every dataset in the catalog. When the SHA changes we archive the new version and diff it against the last. This is the evolving thought record of the alignment-data field: what the author decided to say about the corpus, and how that framing shifted over time.

  1. 2026-10-18Card: row count00644054.8 KB
    Loading...
  2. 2026-10-18decima-guard bench: frozen test sets, public test ids, injection predictionsdf7feee4.8 KB
    Loading...
  3. 2026-10-18initial commit8f70cb70 B
    Loading...

Used by abliterated models none yet

No abliterated models in our catalog have declared this dataset in their YAML metadata yet. This can mean the dataset is used but not declared, is used outside abliteration workflows, or is new. The link will populate automatically as models are indexed.

Related datasets same stage · evaluate

Read further

Metadata

License
cc-by-4.0

Download the dataset

0

Copy any of these snippets into your notebook or terminal. All three fetch directly from Hugging Face using your own credentials.

Recommended: datasets library (Python)
from datasets import load_dataset
ds = load_dataset("amyrmahdy/decima-guard-bench")
Raw snapshot (Python)
from huggingface_hub import snapshot_download
snapshot_download(repo_id="amyrmahdy/decima-guard-bench", repo_type="dataset")
git clone (requires git-lfs)
git clone https://huggingface.co/datasets/amyrmahdy/decima-guard-bench
Catalog is the map. Apps are the tools.

Run models on your own machine, not in the cloud.

Every model page has an "Open in Abliteration" button that hands the model directly to the first-party desktop client, at the quantization your rig can actually run. No API keys, no subscription, no prompt leakage.

Open in Abliteration