context tells the engine what kind of text it is looking at. The lexicon, the transforms and the guards are the same everywhere; what changes is how the text is cut up and which tricks are worth trying.
| Context | For | What is different |
|---|---|---|
general |
Anything, the default | Read as running text. |
username |
A handle shown publicly | At most 64 characters. camelCase, digit runs and underscores are split, and the string is segmented into words with a frequency list, so xXsh1tXx and ilovesh1t are read. The reversed string is checked too. Reserved names (admin, support, the brand’s own) match. |
display_name |
A name shown beside a person’s content | As username, without the reserved list. |
comment |
A post or a comment | Running text; the model tier is consulted for insults and threats that a word list cannot see. |
chat |
One line of a conversation | As comment, tuned for short lines. |
gaming |
A line of a game’s chat, between players | As chat to the rules. The model is told it reads a game’s chat, where killing or destroying players describes play and harm outside the game does not. Under every policy but kids, a taunt about how someone plays (noob, gg ez, uninstall) and rudeness are not acted on; a slur, a threat, kys, sexual language, swearing, an insult about the person (idiot, stupid) and a personal attack are. A threat inside the game (u will die) goes to the model in balanced. |
educational |
A lesson, a paper, a history or a dictionary entry | Read as general, with every quotation read as speech: a word quoted, named or reported (the word 'fuck', Nazi propaganda called Jews "untermenschen") is discussed, swearing and slurs included, and the model reads it. A word used on someone (you are a fucking idiot) or a slur outside quotes still counts. |
creative |
Fiction, roleplay, lyrics | Read as general, with every quotation read as dialogue: a character’s threat or oath ("I'll kill you for this," she hissed) goes to the model, and the model is told a threat to a real person is not fiction. A slur counts even in dialogue; narration is read as any text is. |
review |
A product or place review | As comment. The anatomy and animal guards are widest here: a review of a chicken breast is not profane. |
custom_text |
Text a customer typed for engraving, printing or a product | Read as general; the response is meant to be shown back to the buyer, so censored matters most. |
Which to choose
Pick the one that names the field. When none does, general. A wrong context is not a broken check; it is a slightly worse one: a username in general will not be segmented, so ilovesh1t may pass.
Game chat
The same line reads differently in a game. In chat, nice try loser is an insult aimed at someone and blocks under standard; in gaming it is a taunt and is allowed. I know where you live. See you after the match. blocks in both.
| Text | chat |
gaming |
|---|---|---|
gg ez, uninstall |
block | allow |
nice try loser |
block | allow |
kys noob |
block | block |
you idiot |
block | block |
I know where you live |
block | block |
The table is the rules alone (mode: "fast"). An insult about the person (you idiot, stupid mid) is no taunt in a game either; game slang about play (noob, bot, trash) is. In balanced, the model reads the rest: an insult it reads as less than moderate is a taunt, and a personal attack (your mom must be so ashamed of you) is not. A threat inside the game (u will die, te mato) is no certain block in gaming: in balanced the model reads it, and with the rules alone it still blocks. A game for children uses policy: "kids", which keeps every rule of chat.
Lessons and fiction
Quotation marks are read the same way in every language the engine covers ("…", «…», „…“, 「…」).
| Text | general |
educational |
creative |
|---|---|---|---|
The word 'fuck' has many uses. |
review | allow | allow |
"You bastard," she hissed. "I'll kill you for this." |
block | allow | allow |
La palabra «puta» tiene muchos usos. |
block | allow | allow |
«Я тебя убью, сука», прошептал он. |
block | allow | allow |
you are a fucking idiot |
block | block | block |
The table is the rules alone (mode: "fast"). In balanced, the model reads what the rules handed it.
Project defaults
Set the context once on the project in the dashboard and leave it out of every request. A request that sends one overrides the default.
{ "text": "xXsh1tXx", "context": "username" }