Permissions
The Twitch and AT Protocol permissions Crossfeed asks for, and what each one is used for.
Crossfeed asks each platform for the access it needs to show and moderate your stream. You can revoke access at any time from the platform's settings or by selecting Disconnect in Crossfeed.
Twitch
| Scope | Used for |
|---|---|
user:read:chat | Reading your chat |
user:write:chat | Sending messages and replies |
moderator:manage:banned_users | Bans, timeouts, and unbans |
moderator:manage:chat_messages | Deleting messages, clearing chat, and pinning messages |
moderator:read:followers | Follow alerts and follow dates on user cards |
moderator:read:chatters | The list of chatters |
moderator:manage:shoutouts | /shoutout |
channel:read:subscriptions | Sub alerts and sub tenure on user cards |
channel:manage:broadcast | Changing the title, category, tags, language, and content warning |
bits:read | Cheer alerts |
channel:bot | Letting the Crossfeed bot chat in your channel |
channel:manage:raids | Starting and cancelling raids |
user:read:follows | Listing live channels you follow in the raid dialog |
When Crossfeed adds a feature that needs a new scope, the Accounts section of Settings lists the missing permission and shows a Reconnect key.
AT Protocol and stream.place
Crossfeed signs in to your AT Protocol account with OAuth and asks only for the records and methods it uses. Crossfeed never sees your password. When Crossfeed adds a feature that needs a new permission, sign out and sign in again in the Accounts section of Settings to grant it.
| Scope | Used for |
|---|---|
place.stream.chat.message, create | Chat messages you send |
place.stream.chat.gate, create | Deleting messages |
place.stream.chat.pinnedRecord, create and delete | Pinning and unpinning messages |
place.stream.livestream, create and update | Your stream title, category, tags, and live state |
app.bsky.graph.block, create and delete | Bans, timeouts, and unbans |
app.bsky.feed.post, create | The go-live post, when you turn it on |
place.stream.live.teleport, create and delete | Starting and cancelling teleports |
place.stream.multistream.listTargets and putTarget on stream.place | Reading and switching your restream targets |
Crossfeed reads Bluesky profiles and follows from the public Bluesky API, so reading needs no extra permission.