π‘ Moderation and safety
Chat on a projector needs more than good intentions. teachChat layers its safety tools: an automatic filter screens everything first, and you hold every lever above it. Nothing here is paywalled.
Where these controls live: open the Setup tab in your teacher console and find Chat rules. The switches on this page live there, and every one of them is per class, so tightening third period does not touch first period. Changes apply right away, even mid-class. The tools you reach for mid-lesson (pause, timeout, mute, delete) are on the Live tab. Want every new class to start with the same rules? Press Use these chat rules for my new classes under Defaults, also in Setup.
The built-in auto-filter
Every student message is screened before it posts anywhere: chat, note proposals, and poll answers all pass through the same check. Your own messages are never filtered.
The filter catches profanity, slurs, sexual content, drug talk, hate speech aimed at groups, threat language, harassment aimed at a classmate's screenname, and lewd ASCII drawings and emoji. Links get their own switch: Block student links. Spam (copy-paste art, character spam, all caps, repeated messages, and flooding) and PII such as phone numbers and email addresses run quietly in the background at their defaults, with nothing to turn on. It defeats the usual evasions too: spaced-out letters, number-for-letter swaps, stretched letters, lookalike characters, and words split across messages.
Two lines it draws on purpose:
- Identity words are never filtered. "Gay", "trans", "lesbian", "queer", and "lgbtq" pass on their own, every time. Pointed at a classmate's screenname ("quietfox is gay") they block as harassment, because that is a taunt at a person rather than a word about identity. Slurs, and hate aimed at people, never do.
- Advocacy is not hate. Political speech about a group passes; calling for violence against any group blocks, every time.
The filter is deliberately not a dragnet, and it won't catch everything. Back it up with the tools below: review mode, slow mode, blocked words, and timeouts.
Self-harm and threat language block too, and that block is a feature: the message reaches your eyes instead of the projector, so a cry for help surfaces to the adult in the room. It appears at the top of Needs you, ahead of everything else, with an I've seen this alert button. Past alerts are kept in Safety history, under Privacy and safety on the Records tab.
You can also add your own blocked words under Words to block in Chat rules: one word or phrase per line (up to 100), for nicknames, inside jokes, or this week's insult. Your terms get the full evasion treatment automatically.
Strikes and auto-timeout
Each blocked message is one strike, shared across chat, notes, and poll answers. Strikes reset every session. With Auto-timeout after 3 strikes on, every third strike benches the student automatically.
Flooding is a strike too, and it is the one you will actually see. More than 5 accepted messages in 8 seconds reads as spamming the projector rather than participating, so it strikes even though nothing about the messages was rude. Excited students hit this during a fast discussion, and the timeout ladder is doing its job when they do. Slow mode is the gentler tool if a whole class is racing: it paces everyone without handing out a single strike.
Timeouts escalate: 10 seconds, then 30, 90, 270, capped at 10 minutes, with a small point deduction that grows per infraction (capped at 5). You can also hand out a timeout yourself straight from a message, which removes that message from view too. In the Students list, a timed-out student turns amber with a timeout tag and a countdown. To end it early, click their name and press Forgive timeouts, which also resets the ladder back to 10 seconds.
Slow mode, pause chat, and mute
Slow mode (in Chat rules) paces the room without punishing anyone: pick 1 message per 5 seconds up to 1 per 2 minutes, and students who send too soon just get a "wait a moment" with the seconds left. No strike.
Pause chat (the room-wide freeze) stops the whole chat with one button on the Live tab, and the same button turns into Resume chat. Students can read but not post. If the last teacher's connection drops during a session and isn't back within 30 seconds, the chat pauses on its own so it never runs unsupervised; resuming is always a deliberate press. The 30 seconds keep a slow or flaky connection from pausing class every time it blips. If your laptop dies or loses its connection without saying goodbye, teachChat notices too: once students are posting and your console has been quiet for 30 seconds, it checks in, and if nobody answers within 15 seconds the chat pauses. A console in a background tab (say, while you present slides) answers on its own, so that won't pause class.
A projector in Mod mode counts as supervision only while your console is open somewhere. Close the console and the 30 seconds start even with Mod mode still up. From the projector you can pause and resume chat, and mute or unmute a student. A projector left on its own is still safe: without your console connected, chat freezes again the moment a student posts. Chat typed at the projector shows up as Projector, not Teacher, and goes through the same filter as student messages, since anyone can walk up to it.
Mute silences one student until you unmute them. Click their name in the Students list and press Mute in chat; the same panel has Unmute when you are ready. Their row turns red with a muted tag. Muting from a specific message also pulls that message from every feed. It's a soft delete: the message stays in your log for the "let's talk later" conversation.
Review mode
Turn on Hold every message for review and every message waits in a holding queue until you approve it. Held messages appear in Needs you, above the chat. Press Post on one message or Post all; Drop quietly removes a message with no strike and no public trace. Unreviewed messages die with the session.
Review mode is great for week one while norms take root, and heavy for everyday use. Most classes graduate to the filter plus slow mode.
Deleting and pinning
Hover over any student message and a row of small buttons brightens beside it: Acknowledge (β , worth 2 points), Pin to spotlight (π), Timeout (β³), Delete message (β), and Ban from chat (π«, which mutes the student and asks twice before it acts). Delete removes the message from every screen. Up to 5 messages can be pinned at once; past that, the oldest pin makes way, and pinning a pinned message unpins it. Pinned messages sit above the chat with an Unpin button.
Pulling a student up (Spotlight)
Click a student's name in your console chat, or in the student list, to open their card: points, strikes, quick actions, and Spotlight on projector. Spotlight puts a card on the big screen with their screenname, a few of their messages from today, and whatever they type back, with a "typingβ¦" line while they answer. You talk out loud; they answer in a box on their device, and the whole class sees it. The projector card never shows points, strikes, or real names.
Click a name on the projector to pull them up. Clicking a student's name in the projector chat turns Mod tools on and puts their card up. Click a different name to swap to that student, or click the name that's already up (or the β on the card) to take it down. It works in Live, Top, and Questions, and in the floating window. Only students you've let in can go up, only during a session, and one at a time. A projector without Mod tools on can't put anyone up by itself.
What you see
Every block lands in your feed as a system line: who, what, and why, visible only to you. Names stay screennames throughout; revealing who a screenname belongs to is a separate, always-logged step covered in Privacy. New students also always wait for your approval the first time they join: see Join approval.
When a student needs to tell someone
Filters catch words. They do not catch a classmate being cruel in a way that reads as perfectly polite, and they never catch what happens outside the chat.
So every student has a π© Report abuse link on their own screen. A report sends a snapshot of the surrounding conversation, so whatever happened can be read in context rather than as one stray line, and it reaches teachChat directly.
You can also write to abuse@teachchat.app yourself. It is a separate inbox from general support on purpose: a report involving a student's safety should never sit in a queue behind a feature request.
Reports there are read as fast as one person can read them, which is not the same as around the clock. When a student needs someone right now, these are staffed every hour of every day, free and confidential:
- Someone is in danger: call 911
- Needs someone to talk to: call or text 988, for anything at all
- Would rather text than call: text HOME to 741741
- LGBTQ+ and under 25: text PRIDE to 988, or The Trevor Project at 866-488-7386 or text START to 678678
Students see this same list inside the report window, so a kid who opens it looking for help finds a number before they finish typing. Worth saying out loud to a class once, too, so they know the numbers exist and that telling you is always an option as well.
Tell your students it exists. The single most useful thing you can add to it is the part software cannot do: that they should also tell you, or another adult they trust, in person. Reporting is a signal, not a resolution.