You are running three separate moderation teams
You have one team working in three separate systems. The split is not your choice — the platforms impose it.
The same person, three times
You make someone you trust a moderator again in every panel. Three panels, three flows, three separate rosters.
All of it or none of it
Platforms model moderation as a single switch. You cannot say “they may time out but not ban”; once someone is a moderator they hold everything the platform hands out.
No shared history
Nothing connects what a moderator did on Twitch with what the same person did on Kick five minutes later.
Two tiers, and that is all
Platforms have exactly two tiers: broadcaster and moderator. A team of fifteen collapses into a flat list.
The cost is not abstract. When a moderator goes too far, your only lever is to remove them entirely; when you bring someone new in, your only option is to trust them with everything on day one.
The unit is a capability, not a role
ASSA turns “make X a moderator” into this: grant X these capabilities, on these platforms, inside this workspace. Capabilities are granted one at a time, taken back one at a time, and each carries its own weight.
The platform model
One role, one switch that turns on and off. You do not get to choose what is inside it.
The ASSA model
- Granted
chat.delete_messageDelete a single chat messageModerate - Granted
chat.timeoutTemporarily mute a viewerElevated - Not granted
chat.banPermanently ban a viewer from chatCritical - Granted
audit.viewView the workspace audit feedModerate
Capabilities picked from a catalogue. Every row tells you how heavy it is before you grant it.
Sets you use often can be saved as a Capability Template. A template is a copy, not a link: editing it later does not change permissions you have already granted.
How it works
You send an invitation
You invite someone from your team by email address. If they have no ASSA account, the invitation carries the link to create one.
They join as a candidate moderator
Whoever accepts arrives holding nothing. That is not a gap, it is a designed starting state: what they can do is your decision, made afterwards.
You grant the capabilities
Pick them from the catalogue one at a time, or apply a Capability Template. The weights of what you granted produce an authority level for that person, and your team is ordered by it.
Assignments reach the platforms — as far as each API allows
On Twitch, moderator status is assigned and removed through ASSA. On YouTube it is tied to a live chat, so it is re-established for every broadcast. On Kick there is no API for it, and you make those assignments by hand in the Kick settings.
Every action lands in one record
Moderation actions from all three platforms are translated into the ASSA vocabulary and collected into a single stream — each line judged against the permissions in force at that moment.
ASSA governs, the platforms enforce
Streaming platforms grant moderators full native powers. ASSA cannot narrow that. What ASSA does is record every action and flag anything outside what you granted.
The moment you make someone a real moderator on a platform, that platform hands them its own full set of powers. This is necessary so your moderators can work in the platform interface itself, and ASSA has no mechanism to narrow it. It is not a hole to be closed but a property of the platforms, and the rest of the product is built on accepting it.
Three platforms, three different answers
How far moderator assignment actually reaches on each platform, verified against the platform documentation on July 29, 2026.
| Platform | Moderator assignment |
|---|---|
| Twitch | Assigned and removed from ASSA Channel-level and durable. The one case that works end to end. |
| YouTube | Live chat level only Moderator status attaches to individual broadcast chats rather than to the channel. ASSA does not make this assignment; you add your moderators on the YouTube side. |
| Kick | No API Kick does not support moderator assignment through an API. You make those assignments by hand in the Kick settings, and that is permanent. |
We are not hiding these three different answers. A limit you discover later costs far more than one stated up front — and the one thing that does work across all three platforms is the record of who did what.
One record, three platforms
Moderation actions from Twitch, YouTube and Kick are translated into the ASSA vocabulary and collected into a single stream. Every line is compared against the permissions in force when the action happened — not the ones in force now.
An action outside the permissions you granted lands in red, and is reported not only to you but to everyone above that person.
Seeing the record is itself a capability (audit.view), not a role. You decide who gets it.
“Unclassified” is the most common case — broadcaster actions, bots, moderators added outside ASSA. That is why it is the quietest line: so the red ones keep being noticed.
chat.banAyşe → viewer_918UnauthorizedRight now
Sign-up is open. To say it up front: there is no API for assigning moderators on Kick, and you make those assignments by hand in the Kick settings.
You grant the authority. ASSA keeps the record.
One moderation team across three platforms. The record starts on day one.

