docs
stormdoor.dev
FINDING

prompt.override_instructions

The text matches a curated, multilingual "ignore/disregard/forget the previous instructions" phrase.

SEVERITY
high
LEADS TO
block
GATE
/v1/prompts
CHECK
prompt.override_instructions
Jump to what to do

Source: rules.

What it looks at#

Whole-word/whole-phrase matching (the same matcher profanity.word and spam.known_phrase use) against a curated list of “ignore / disregard / forget / override the previous instructions” phrasings: the core four (“ignore all previous instructions”, “ignore the instructions above”, “disregard all previous instructions”, “forget everything above”) plus variants that name your instructions, rules, system prompt or guidelines, in 18 languages: English, Swedish, German, French, Spanish, Italian, Dutch, Portuguese, Polish, Russian, Norwegian, Danish, Finnish, Chinese, Japanese, Korean, Arabic and Hindi. English has the longest list.

Every view of the text is scanned, not only the raw string. The check also reads a folded view (NFKC, invisible characters removed, look-alike characters mapped to the Latin letters they imitate, lowercased) and any decoded view (base64, hex, URL, HTML-entity, ROT13, or text hidden in invisible Unicode). So ignоre all previous instructions with a Cyrillic “о”, the same phrase padded with zero-width spaces, or its base64 form all match. When the match was in a transformed view, the finding’s location says which: 12-42 folded, 12-52 decoded:base64. The span is always the span of your original text, never of the transformed text, and the response never quotes it.

Chinese, Japanese and Korean have no reliable word boundaries, so their phrases are matched as substrings of the text’s letters and digits (spacing and punctuation inside a phrase don’t matter). Unlike /v1/profanity and /v1/spam, this gate takes no languages input, so every language’s list is checked unconditionally. That’s safe here: every phrase is a multi-word instruction-override sentence specific enough that cross-language false positives are far less likely than for single-word lists. Phrases that are ordinary on their own (“ignore the above”, “forget everything I said”) are deliberately not listed.

Why it matters#

This is the most literal and unambiguous injection shape: text that directly tells whatever reads it next to stop following its prior instructions. There is essentially no legitimate reason for a user prompt, a support ticket, or RAG-retrieved content to contain this phrasing.

What to do#

High severity — on its own this pushes the verdict to block. If you’re screening retrieved or forwarded content (RAG chunks, pasted web pages, email bodies) rather than a direct user prompt, treat a hit here as a strong signal to strip or quarantine that content before it reaches your model.

OTHER FINDING CODES FROM /V1/PROMPTS