Skip to content
MoorAI
Get MoorAI
// attack family 1 of 10 · by marginal value

DAN

splitpersona marginal 50 pts n=4 refusal · n=4 product

The original hand-written persona jailbreak: the model is told to role-play an unrestricted alter ego that "has broken free" of its rules, often with… Full definition in the glossary →

This page answers one question about DAN: what does a security product add here that the assistant does not already do on its own? The two sides are measured separately, as AMTSO's Guidelines for Testing of Agentic Security Products v1.0 require, and the difference is the part a buyer is paying for.

50%
2 of 4 measurable samples
Claude Sonnet, 5 turns each, majority
assistant refuses alone
100%
4 of 4 attack samples
MoorAI agent 0.96.0, test half
product catches
50 pts
detection rate minus refusal rate
different subsets, so rate versus rate
marginal value
100% caught (4/4) − 50% refused unaided (2/4) = 50 pts
01 — what the gap means

Split — the assistant refuses some, the product catches the rest

The assistant refuses part of this family unaided. Only the remainder is the product's to claim, and that remainder is the number worth quoting.

For DAN specifically: the Claude Sonnet assistant refused 2 of 4 probed samples on its own and answered the other 2. The product catches 4 of 4. Only the 50 pts between those two rates is the product's to claim; the rest was already covered.

A family that lands in the middle is the one most likely to be mis-sold, because the raw number (100%) and the marginal number (50 pts) are furthest apart.

02 — how to read the two numbers

Rate against rate, not sample against sample

The refusal side saw 4 measurable DAN samples; the product side scored 4. Product recall is counted over every attack, refusal only over the samples the model actually received, so the denominators differ. No row here says "the product caught the exact sample the assistant let through" — it says one rate is higher than another, on the same family, in the same taxonomy.

Refusal is decided per sample by majority across 5 turns, because a frontier assistant is not deterministic: three refusals out of five counts as a refusal, two does not. Product detection is deterministic in this harness and needs no trials. Both sides come from a committed aggregate file in this repository, joined at build time — see provenance.

03 — the other families

Same product, same run, different answers

The 10 families are scored in one run with one configuration. Across the measurable ones the marginal value still ranges from -67 pts to 50 pts, which is why a single site-wide detection rate hides more than it shows.

04 — provenance

Where the numbers come from

Refusal — Claude Sonnet via the local claude CLI — the deployed assistant (model plus Anthropic's own defences), not a bare model call · 5 turns per sample, majority decides.
Corpus — heldout-v2-test, the held-out test half.
Product — MoorAI agent 0.96.0, scored out-of-sample on that same test half.
Aggregate — refusal-baseline-runs-claude.json (Claude Sonnet, 5 runs/sample) joined with the MoorAI 0.96.0 locked-set session scorer (score-heldout-v2.mjs, turn by turn) on the held-out test half. Counts and rates only; no prompt or response text is vendored into this repository.
Corpora and harness — open benchmark repository ↗.

AMTSO has not reviewed, certified or endorsed MoorAI or this page; the guidelines are public and we score against them ourselves. Refusal is the deployed Claude Sonnet assistant on one configuration, product recall is out-of-sample on a held-out test half that has now been scored more than once, and the sample counts are single digits — all three bound every number here. Corpora and harness are in the open benchmark repository ↗.