Contents

Extensions Guidelines & Policies

Introduction

Extension developers must abide by the rules below and the Twitch Developer Services Agreement, Terms of Service, and Community Guidelines. Extensions that are not in compliance will not be approved. Twitch reserves the right to remove any extension, for any reason, at any time.

1 Functional

1.1  All submitted review channels must be live during the time of review.

1.2  Extensions must load when activated on a review channel.

1.3  Extension functionality must be intuitive to use if sufficient testing instructions are not included.

1.4  Extensions that require a third-party environment or game to be active during review must have that environment or game set up on the review channel.

2 Technical

2.1  Extensions may not use Flash.

2.2  Extensions may not use iframes.

2.3  Extensions may not use keyboard shortcuts to power functionality.

2.4  Extensions can include audio only if they include controls which allow viewers to adjust the volume, and by default, these controls are set to off/muted.

2.5  JavaScript files submitted for review must be human-readable. If you submit minified or obfuscated JavaScript files that are not human-readable, you will be contacted with further instructions on how to submit human-readable code for the team to review.

2.6  For extensions that rely on libraries that are not human-readable or that use eval(), you must not combine those libraries into any minified or obfuscated JavaScript files submitted for review. Instead, you must source these libraries separately so that reviewers may know the source of any obfuscation or eval() statements.

2.7  You must not inject directly into the DOM any data obtained dynamically over AJAX without first validating and processing that data.

2.8  All front-end HTML, CSS, and Javascript files used by your extension must be included in the zip file for your assets. You should not include extraneous files or code not used by your extension.

2.9  The Twitch Extension Helper must be included in all front-end HTML files.

3 Mobile

These policies apply to Extensions of type mobile:

3.1  Mobile extensions must support iOS 10+ and/or Android 4.1+ (Level 16).

3.2  Mobile extension initial page load from the Twitch CDN should not exceed 1MB.

3.3  Mobile extensions should load in less than 3 seconds at ~500 Kb/s.

4 Content Policy

4.1  Extensions must have an icon and at least one screenshot that accurately represent the extension front end.

4.2  Extension descriptions must accurately and completely describe the extension’s functionality.

4.3  Extensions may not use the Twitch name, Twitch branding, the Twitch logo, or the Twitch Glitch in their extension content.

4.4  No advertising or sponsorship content (static or dynamic) may be displayed in an extension.

4.5  Encouraging or rewarding users for taking specific actions outside Twitch/Amazon properties must not be a principal use case of the extension.

4.6  Off-site linking:

      4.6.1  Off-site links must be related to the extension’s core functionality.

      4.6.2  Off-site links may not refer users to sites that deliver functionality effectively similar to that available on Twitch.tv.

      4.6.3  Off-site links must be included within your URL whitelist.

4.7  Extensions may require broadcasters to download third-party software in order to function.

4.8  Extensions may not require viewers to download third-party software in order to function.

5 Commerce

5.1  Extensions may provide differentiated experiences or functionality to broadcasters, in exchange for compensation from broadcasters. Examples: tiered access to features or purchasable plugins to add functionality.

5.2  Extensions may provide differentiated experiences to viewers in exchange for compensation from viewers, only through the use of Twitch/Amazon commerce instruments.

5.3  Extensions may not transact or encourage the transacting of monetary exchange in relation to any non-Twitch/Amazon commerce instruments.

5.4  Awarding loot boxes that include an element of randomness is permitted so long as contents of the loot box do not have a monetary value (i.e., the loot box may not be purchased as a standalone item and the items are not sold elsewhere).

6 Bits in Extensions

Use of Bits on Twitch is governed by the Bits Acceptable Use Policy and the following policies:

6.1  Bits may be used within your extension:

      6.1.1  To activate an experience for the broadcaster and/or the community. For example, the community feeding a virtual pet with Bits that continues to grow; a digital popcorn machine teeters on the verge of exploding when the community uses Bits.

      6.1.2  To unlock a digital consumable experience on Twitch. For example, Bits are exchanged for a special avatar within an extension game.

      6.1.3  To enrich or enhance gameplay in a free-to-play game. For example, Bits may be used to unlock otherwise unavailable levels of gameplay (i.e., unavailable due to timers, energy systems, or other throttling mechanics), gameplay lives, gameplay avatars or character attributes, gameplay speeds, and social features for interacting with others in the Twitch community.

      6.1.4  For voting activities in your extension, such as allowing viewers to use Bits to show support for a desired outcome made available through a poll or voting mechanic.

6.2  Bits may not be used within your extension:

     6.2.1  To obtain access to a pay-to-play game.

     6.2.2  To allow an end user to use Bits to request a specific musical track or audio-visual work to be played (e.g., jukebox-like functionality).

     6.2.3  If your extension contains gambling activities that provide a reward with a monetary value (e.g., a slot-machine game that allows winners to obtain a downloadable code to redeem a game).

     6.2.4  Where Bits can be exchanged for loot boxes with unknown items that are determined randomly or by chance.

     6.2.5  To provide the end user with an entry into a sweepstakes or contest, whether through a token or otherwise. For example, do not design a scenario in which a viewer can use Bits to obtain a gem that will allow the user to participate in a sweepstakes to win a free flight to the DOTA championships.

     6.2.6  For engaging in “wagering” or “betting,” on gameplay events, contests of chance, or other outcomes beyond the end user’s control, to win additional Items or rewards. For example, do not suggest that if a viewer spends Bits on the outcome of a Fortnite match, and the streamer prevails, any viewer that presented Bits will obtain game codes.

     6.2.7 If your extension provides VOIP-related functionality.

6.3  You may establish the amount of Bits necessary for the exchange of permitted items or experiences in your extension. Twitch reserves the right to require adjustments.

6.4  You may not describe the use of Bits in Extensions as “cheering,” which is a different Twitch feature.

6.5  You may not describe the use of Bits in Extensions as a “donation” or ”support” in the financial sense for the broadcaster, “money transmission,” “purchase,” “spend,” “buy,” “insert” (such as likening Bits to quarters), or other similar description.

6.6  Twitch may request changes to marketing, UX, and press releases about your extensions if they do not describe Bits in a manner consistent with our position and T&Cs.