Moderation.
Every chat message, tip note and alert message runs through a moderation pipeline before it reaches your overlay or gets read aloud. You add your own banned words and decide where moderation applies; OverlayThing handles the heavier filtering automatically.
What happens to a message
When text comes in, it is checked layer by layer and ends in one of three outcomes:
| Outcome | What it means |
|---|---|
| Allowed | Nothing matched. The message shows and is read aloud normally. |
| Redacted | Specific words were replaced (with [redacted] on your overlay, or *** on the tip page). The rest of the message still shows. |
| Blocked | The whole message is hidden. Viewers see nothing, and it is never read aloud. |
What you control
Banned words
In Settings, under Moderation, keep your own list of banned words and phrases (type them comma or line separated). Matching is case-insensitive, and your words are redacted rather than blocking the whole message. They apply across your chat box, alert text, text to speech, and tip page messages. Banned words imported from StreamElements land in this same list.
Chat box filtering
Your chat box widget has its own switches: turn moderation on or off for that widget, include or hide your own messages, and exclude bot accounts. These are per widget, so two chat boxes can behave differently.
What runs automatically
On top of your banned words, OverlayThing applies platform-wide protection you do not have to configure:
- A global blocklist of known-bad content.
- Link filtering, so raw URLs do not get read aloud or splashed on screen.
- Spam guards for things like all-caps walls and emoji floods.
- AI moderation that catches hateful, harassing or explicit content even when no specific word is on a list.
You cannot tune these yourself, but you always see when they fire.
Reviewing what was caught
Moderated events are not silent. On your dashboard activity feed, anything redacted or blocked carries a badge you can expand to see what triggered it, the original text, and exactly what your viewers saw. Your chat log also keeps a moderation record you can search.
In Settings, under Moderation, add a Discord webhook and OverlayThing will post there whenever something is caught, with the original message, the cleaned version, and the reason. Handy for catching what slipped past on a busy stream.
For custom widgets
If you build a custom widget that shows viewer text, run it through the same pipeline with the SDK sanitize call before displaying it, so your custom code respects the same rules as everything else.
You always see the original text in your own tools so you know what happened. Viewers only ever get the cleaned or blocked result.