Reference

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

ScopeUsed for
user:read:chatReading your chat
user:write:chatSending messages and replies
moderator:manage:banned_usersBans, timeouts, and unbans
moderator:manage:chat_messagesDeleting messages, clearing chat, and pinning messages
moderator:read:followersFollow alerts and follow dates on user cards
moderator:read:chattersThe list of chatters
moderator:manage:shoutouts/shoutout
channel:read:subscriptionsSub alerts and sub tenure on user cards
channel:manage:broadcastChanging the title, category, tags, language, and content warning
bits:readCheer alerts
channel:botLetting the Crossfeed bot chat in your channel
channel:manage:raidsStarting and cancelling raids
user:read:followsListing 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.

ScopeUsed for
place.stream.chat.message, createChat messages you send
place.stream.chat.gate, createDeleting messages
place.stream.chat.pinnedRecord, create and deletePinning and unpinning messages
place.stream.livestream, create and updateYour stream title, category, tags, and live state
app.bsky.graph.block, create and deleteBans, timeouts, and unbans
app.bsky.feed.post, createThe go-live post, when you turn it on
place.stream.live.teleport, create and deleteStarting and cancelling teleports
place.stream.multistream.listTargets and putTarget on stream.placeReading and switching your restream targets

Crossfeed reads Bluesky profiles and follows from the public Bluesky API, so reading needs no extra permission.