Viewer Interaction System Twitch Extension Privacy Notice

Effective date: October 11, 2026

Viewer Interaction System is a Twitch Extension used by a streamer to let eligible viewers take part in on-stream interactive games, including the Artillery minigame. This notice explains what information is used when you interact with the Extension.

The Extension is optional. If you do not share your Twitch identity or do not use the Extension controls, you can still watch the stream normally.

Who Controls This Information

The streamer running Viewer Interaction System controls the game experience and the local viewer records used by that stream. Twitch controls your Twitch account, Twitch identity settings, and Twitch Extension authorization flow.

Information Twitch Shares With The Extension

When you open the Extension, Twitch provides an Extension authorization token so the Extension can make authenticated requests to the backend service. If you choose to share your Twitch identity, Twitch can also provide your Twitch user ID to the Extension and backend service. Twitch may also provide channel information needed to confirm that the request belongs to the correct stream.

If you do not share your Twitch identity, the Extension may only receive an opaque Twitch viewer identifier. Some interactive features may be unavailable because the game needs a verified viewer identity to decide whose turn it is and whether an action is allowed.

Information Sent When You Play

When you use Extension controls, the Extension sends gameplay actions to the backend service. For Artillery, this can include actions such as setting an angle, setting power, and firing. These requests also include technical fields such as the game instance, action ID, action sequence number, and protocol version so the system can reject stale, duplicate, invalid, or wrong-turn actions.

The backend service verifies the Twitch Extension authorization token, confirms the channel, derives the verified Twitch user ID when identity has been shared, validates the action, and forwards accepted actions to the streamer app.

Information Stored By The Streamer App

The streamer app can store viewer records locally on the streamer's computer. These records may include your Twitch user ID, Twitch display name, Twitch login, eligibility status, first seen time, last activity time, win streak, and cosmetic appearance choices used for your on-screen character.

Gameplay results can update those local records. For example, winning or losing a viewer game can update win streaks that are used for crowns and other on-screen feedback.

Temporary Backend Processing

The hosted backend service is used to connect the Twitch Extension to the streamer app. It keeps temporary in-memory state while the service is running, such as the latest public game state, pending action acknowledgements, rate-limit counters, and connection status. The backend does not include a database in the current implementation.

The hosting provider may process normal service and network logs needed to operate the hosted service. The Extension and backend should not include Twitch Extension shared secrets, streamer installation secrets, or private OAuth tokens in frontend files.

Information Stored In Your Browser

The Extension may store a local action sequence number in your browser storage for each active game. This helps the system keep your action order valid and reject duplicate or stale actions. Clearing your browser site data for Twitch may remove this local value.

Viewer Eligibility

The streamer may use Twitch subscriber information or other stream rules to decide who is eligible to appear as a viewer character or take a turn in a game. Eligibility information is used for gameplay and moderation of the interactive experience.

How Information Is Used

Retention

Temporary backend state is kept in memory for operation of the live service. Local viewer records stored by the streamer app remain on the streamer's computer until the streamer deletes them, resets the app data, or changes the implementation. The current implementation does not automatically delete local viewer records after a fixed period.

Sharing

Viewer Interaction System sends Extension requests through the hosted backend service and the streamer app. Information may be visible on stream when it is part of gameplay, such as display names, characters, turns, scores, crowns, or results. Information is also handled by Twitch as part of the Twitch Extension platform and by the hosting provider that runs the backend service.

The project does not sell viewer information.

Your Choices

Access And Deletion Requests

To request access to or deletion of local Viewer Interaction System records, contact the streamer through the public contact method listed on the Twitch channel or stream profile. Include your Twitch username and, if possible, your numeric Twitch user ID so the streamer can identify the correct local record.

Deleting local Viewer Interaction System records does not delete your Twitch account, Twitch chat messages, Twitch subscription history, Twitch Extension identity settings, or information controlled by Twitch.

Security

The system uses Twitch Extension authorization to verify viewer requests before accepting gameplay actions. The public Extension package should not contain backend secrets, Twitch Extension shared secrets, streamer installation secrets, OAuth refresh tokens, or private credentials.

Changes To This Notice

This notice may be updated as Viewer Interaction System changes. The latest published version should be linked from the Twitch Extension review and listing information.