Seventeen languages, each with its own list
Every language has a hand-curated file: its terms, the phrases that turn a word into a threat or an insult, and the words that show an innocent sense.
What each engine version changed, in plain words. Pin a version and your answers stay on it until you move.
The first public engine: seventeen languages, the disguises people type to slip past a filter, and a model that reads what the rules can't settle.
Stable. Fixed for good. Nothing about it changes.
Every language has a hand-curated file: its terms, the phrases that turn a word into a threat or an insult, and the words that show an innocent sense.
Leetspeak, look-alike letters and signs from any alphabet ("ƒυ¢к", "₣₳₲₲Ø₮"), dots and spaces between letters, a letter masked or left out ("f ck"), stretched letters, words written backwards, letter-shaped emoji, Arabizi digits and Korean typed in English. Each disguise read is named.
A picture in a sentence reads as its word ("piece of 💩", "I'll 🔪 you", "you're a 🤡"), the middle finger as what it means, and pairs like 🍆💦 and 🐒🍌 as what neither picture says alone. One aubergine is still dinner.
Direct threats against the reader or their family, wishes of violence and claims that a group are not people are caught as phrases, in every language.
A slur or a swear word quoted, reported or named as a word ("he called me a …") counts as what it is. A slur someone claims for their own group goes to the model.
A name run together is split in its own language (jemoederaandepoeder reads as Dutch), a letter in a shape its spelling never takes is read for what it stands for (HitIer, with a capital I), and the model is told which words the rules found in the name.
In the educational context a word quoted or named is discussed, and in the creative context a quotation is a character's speech, in every language's quotation marks. A word used on someone still counts, and a slur counts in fiction.
In the gaming context a taunt about play ("gg ez, uninstall") is not acted on, under every policy but kids. A slur, a threat, a personal attack and "kys" still are.
Of 14 game-chat lines read by the model on 2026-10-08, taunts were rated 0.8 to 1.6 for severity and personal attacks 2.5 to 3.4.
Place names, surnames and ordinary words with a profane string inside pass: Scunthorpe, Dickinson, cockatoo, Püssi in Estonia. A word used in its literal or medical sense, negated or reported is read that way.
Counter-speech, a report of what someone said ("he yelled … at me") and a claim held up to argue with ("people who say that … should be ashamed") go to the model instead of being flagged outright.
"I'll kill you next round", "you're dead" said of a match, or a threat said laughing goes to the model instead of being flagged outright. A threat to a family, a rape threat or an incitement is always flagged.
Rude, dismissive or harsh text that stops short of an insult, like "shut up" or "what nonsense". A negative opinion put plainly ("our politicians are incompetent") is not rude. Only the model reads it.
sexual_minors is blocked by every preset. self_harm covers the writer's own self-harm or suicidal thoughts, plans or acts, and every preset holds it for review. Only the model reads either.
In balanced mode the model reads every text the rules do not flag outright, clean-looking text included, since no word list sees abuse written in ordinary words. It is asked what the writer does, and the policy decides.
Text written without spaces, such as a long Chinese, Japanese or Korean passage, takes time in step with its length.
Run through the engine when this page was built, in balanced mode (the default) under the standard preset.
| Text | Read as | 2026-09-29 |
|---|---|---|
xXsh1tXxusername Padding, and a digit for a letter | shitleetspeak | review · strong |
fυckcomment A Greek υ standing in for the u | fuckhomoglyphmixed_script | review · strong |
kcuf uoycomment Written backwards | fuckreversed | review · strong |
HitIerusername A capital I standing in for an l | hitlerhomoglyph | block · strong |
I will find you and kill youcomment A direct threat | as typed | block · extreme |
I'll kill you lolchat Maybe a joke, so the model reads it | as typed | the model reads it |
nobody asked for your opinion, just stop talkingcomment Rude in ordinary words, for the model | as typed | the model reads it |
At release
educational and creative contexts that read quotations as speech, a gaming context, read as chat by the rules, where a taunt about play and rudeness are not acted on under every policy but kids.rude (held for review under standard, blocked under kids, teen and strict), sexual_minors (blocked by every preset) and self_harm (held for review by every preset).