Privacy Policy
Last updated: 9 June 2026
Clipbattle is a small, non-commercial hobby project that lets streamers and their communities battle Twitch clips against each other. This policy explains what personal data we process, why, and what rights you have. We do not run ads, we do not use analytics or tracking, we do not build profiles, and we never sell your data.
Who is responsible
The controller responsible for your data under the General Data Protection Regulation (GDPR) is:
Pierre Wüst, operator of Clipbattle (clipbattle.io), based in Ireland.
As a private individual running this project non-commercially, no postal address is published. For any privacy matter you can reach us by email at privacy@clipbattle.io.
What data we collect and why
Twitch account data
When you log in with Twitch, we receive and store your Twitch user ID, your Twitch display name (username) and your avatar image URL. We also generate an internal account ID for you. We use this data to create and run your account and to let you take part in clip battles.
Legal basis: performance of a contract with you (Article 6(1)(b) GDPR) — this data is needed to provide the account and the service.
Providing this Twitch data is necessary to create an account and use Clipbattle. If you do not log in with Twitch, you cannot create an account, but you can still take part as a guest (see below).
Guest participation
You can take part without a Twitch account. A random guest identifier is generated and stored in your browser; it is random, does not contain your name and is not linked to a Twitch account.
This guest identifier, together with a display name if you choose one, is used only when you submit a clip: it is then sent to and stored on our server as the submitter of that clip, so the clip can be attributed to you while the game runs. It is therefore not kept only in your browser. See "How long we keep your data" and "Deleting your data" below.
Legal basis: our legitimate interest in letting people participate without an account (Article 6(1)(f) GDPR). We have weighed this against your interests: the identifier is randomly generated, kept to a minimum and used only to run the game, and you can object at any time (see "Your rights").
Game content
We store the games you create and the clips you submit, together with each game's results — which clips the host chose to advance and the final ranking. We do not store individual votes: voting happens live in Twitch chat and is not saved, and at the end of each battle the host decides which clip advances.
Legal basis: performance of a contract with you (Article 6(1)(b) GDPR) for your own games and clips.
A submitted clip is a reference to a Twitch clip together with its public Twitch metadata, such as the clip title, the broadcaster's name and the clip creator's name. This can include the Twitch usernames of people who are not Clipbattle users and did not submit anything themselves — typically the broadcaster and the clip creator. We do not receive this metadata from those individuals: we obtain it from Twitch's public clip data (via Twitch's REST API) when a player submits a clip link.
Legal basis: our legitimate interest in running the game (Article 6(1)(f) GDPR) for this third-party Twitch metadata — it is already public on Twitch, is limited to what the game needs, and you can object to it (see "Your rights"). As these individuals do not provide the data to us directly and individually notifying each of them would be disproportionate, we provide this information publicly here (Article 14(5)(b) GDPR).
Twitch chat participants
When a host runs an open game, we read the channel's public Twitch chat for two purposes: to detect vote messages (such as "1" or "2"), and, if the host enables submitting clips via chat, to pick up clip links posted in chat.
For vote detection, this briefly processes the username of a voting chat participant, who may not be a registered Clipbattle user. The username is processed only in your browser, is never stored on our servers, and is discarded when voting ends.
When the host has enabled clip submission via chat and a chat participant posts a clip link, that participant's Twitch user ID and Twitch username are sent to and stored on our server as the submitter of that clip, in the same way as for any other submitted clip. This participant may not be a registered Clipbattle user. We do not read private messages or use this data for anything else.
For reading a channel's public chat, it is the host who chooses to run an open game and read their own channel. Vote detection runs entirely in the host's browser and the chat data is never sent to or stored by Clipbattle, so for reading their own chat the host — not Clipbattle — is responsible; Clipbattle only provides this feature. Clipbattle is responsible only for the chat data that is actually stored on our servers, namely a clip submitted via chat.
Legal basis: for the chat data we store (a clip submitted via chat), our legitimate interest in running the game (Article 6(1)(f) GDPR) — the processing is minimal and relies on a public chat that participants use precisely to have their clip entered. As individually notifying every chat participant would be disproportionate, we provide this information publicly here (Article 14(5)(b) GDPR).
Server logs
Our backend server (hosted in Germany) keeps standard access logs that include your IP address, the requested URL, your browser's user agent and a timestamp. These logs are automatically deleted after up to 14 days.
Legal basis: our legitimate interest in operating the service securely and preventing abuse (Article 6(1)(f) GDPR). We balance this against your interests by logging only standard technical data and deleting it automatically after up to 14 days.
Cookies and local storage
We do not use any advertising, analytics or tracking cookies, so no cookie consent banner is required. Any cookies set by our backend are strictly necessary — for example for session security and protection against cross-site request forgery (CSRF).
Your login does not rely on a cookie. The following items are stored in your browser to make the service work:
- Login session token — when you log in with Twitch, a session token is stored in your browser's local storage and sent to our backend with each request in an authorisation header to keep you signed in.
- Guest identifier — a random identifier that lets you take part without an account.
- Redirect value — a short-lived value used to send you back to the right page after logging in.
- Language — your chosen interface language.
These items are not shared with anyone and are removed when you log out or clear your browser storage.
What is visible to others
Clipbattle is a multiplayer game, so some data is shown to the other people taking part in the same game. Games are not listed publicly and cannot be browsed or discovered on the site, but anyone who has a game's link or code can open and watch that game — viewing never requires signing in. Signing in with Twitch is only relevant for submitting clips, where a host can require participants to sign in instead of taking part as a guest.
Within a game, the following is visible to all participants:
- Submitted clips and their Twitch metadata — the clip itself together with its public Twitch information, such as the clip title, the broadcaster's name (shown as a link to their Twitch channel) and the clip creator's name.
- Who submitted a clip — the name of the participant who submitted it: a chosen guest name, or their Twitch username when the clip was submitted while signed in or via chat.
- Results — when a game ends, the winning clip and the final ranking of all clips are shown to everyone in the game.
Live vote counts and percentages during a round are shown only to the host, not to the other participants; everyone else simply sees the two competing clips.
Some names (such as the submitter and the clip creator) are visually blurred by default in the interface. This is only a visual effect: the name is still sent to every participant's browser and can be revealed (for example by hovering over it), so you should treat these names as visible to everyone in the game. This is particularly relevant for broadcasters and clip creators, who are usually not Clipbattle users themselves but whose public Twitch names are shown because their clip was entered into a game.
Connections to Twitch
Clipbattle relies on Twitch, so using the service involves connecting to Twitch in several ways. Each of these connections makes your IP address and request data visible to Twitch:
- Login: logging in uses Twitch OAuth, which authorises Twitch to share the account data listed above with us.
- Showing and playing clips: whenever a clip is displayed, your browser calls Twitch's API (gql.twitch.tv) to resolve the clip's details and playable video, and loads the video from Twitch's content delivery network. This happens as clips are shown, not only when you press play.
- Profile images: avatars are loaded directly from Twitch's image servers, so your IP address is sent to Twitch whenever a page showing an avatar is displayed.
- Twitch chat: when a host runs an open game, Clipbattle connects to that channel's Twitch chat to read messages used for game interaction.
These connections are governed by Twitch's own privacy notice: twitch.tv/p/legal/privacy-notice .
Service providers we use
We keep the number of third parties to a minimum. The following providers process data on our behalf or receive data as part of running the service:
- php-friends — hosting of our backend and database, located in Germany (EU). php-friends.de
- Cloudflare, Inc. — hosting and delivery of the website (Cloudflare Pages). Cloudflare processes connection data such as your IP address to serve the site. Cloudflare privacy policy
- Ably — real-time messaging used to keep live game updates in sync. Your connection, including your IP address, is processed by Ably. Ably privacy policy
- Twitch (Twitch Interactive, Inc.) — login, clip playback and chat, as described above. Twitch privacy notice
External links
Some links in the app lead to third-party services — for example the feedback form (Google Forms), our Discord server and our Ko-fi page. These are only used if you choose to click them, and they are governed by the privacy policies of the respective providers (for Google Forms, see Google's privacy policy ).
International data transfers
Our backend and database are hosted in Germany, within the European Economic Area (EEA). However, some of the providers above (Cloudflare, Ably and Twitch) may process data outside the EEA, for example in the United States. Where such transfers take place, they are intended to be covered by appropriate safeguards such as the European Commission's Standard Contractual Clauses, an adequacy decision, or the EU–US Data Privacy Framework, as applicable to each provider.
Automated decision-making
We do not carry out any automated decision-making or profiling that produces legal or similarly significant effects for you.
How long we keep your data
- Account data is kept until you delete your account.
- Clips and their stored Twitch metadata (such as the clip title, broadcaster name and clip creator name), any guest identifier and chosen guest name submitted with them, and each game's results (which clips the host advanced and the final ranking) are stored on our server as part of the game and kept for as long as that game exists. They can be removed earlier on request (see "Reporting content and removal requests").
- Server logs are kept for up to 14 days and then deleted automatically.
- The guest identifier saved in your browser stays there until you clear your browser storage.
Deleting your data
You can delete your account, and the data associated with it, yourself from within your account in the app.
We deliberately do not store your email address (only your Twitch ID). Since a Twitch ID is publicly discoverable, an emailed request such as "delete user 12345" does not prove that you are the account holder, and we will not collect extra personal data solely to verify such requests (in line with GDPR Recital 64 and Article 11). The secure way to prove an account is yours is to log in with Twitch — so deletion and data access run through the authenticated in-app flow. If you have lost access to your Twitch account, please recover it via Twitch; we cannot act on an unverifiable email request, as that could let someone delete another person's data.
Clearing your browser storage removes the guest identifier kept on your device. The clips you submitted as a guest remain on our server as part of the game, but they are stored only under a randomly generated identifier and any display name you freely chose, with no link to your real identity. Because this guest data is anonymous to us, we cannot connect it to a specific person and therefore cannot verify or act on individual guest deletion requests (in line with Article 11 GDPR). This data is removed when the game's host deletes the game.
Reporting content and removal requests
A submitted clip is a reference to a public Twitch clip. If the clip is deleted on Twitch, it can no longer be played here. The clip title, the broadcaster's name and the clip creator's name are stored from Twitch's public data and may remain with the game even after the original clip is gone.
If you believe that a clip, a clip title or a username shown in a game contains your personal data, infringes your rights, or is abusive or unlawful, you can report it to abuse@clipbattle.io. This applies whether or not you have a Clipbattle account — for example broadcasters, clip creators, or people who appear in a clip.
We review every report and remove or anonymise content where we are required to, or where it is abusive or unlawful. Because this data is usually already public on Twitch and is needed to run the game, there are cases where we may keep it — for example while a game is still running, or while the clip is still public on Twitch — and in that case we will explain why. We aim to respond to your request within one month.
You can also ask the host of a game to delete that game, which removes the game together with its clips and associated data.
Your rights
Under the GDPR you have the right to access your data, to have it corrected or deleted, to restrict or object to its processing, and to receive it in a portable format. To exercise these rights, manage your account in the app or contact us at privacy@clipbattle.io.
These rights, and the contact option above, also apply to people who do not have a Clipbattle account but whose data may appear in a game — for example broadcasters and clip creators, chat participants, and guests. To act on such a request we may need enough detail to identify the relevant data; where data is not linked to an identifiable person (such as anonymous guest data, see "Deleting your data"), we may be unable to.
You also have the right to lodge a complaint with a data protection supervisory authority. As we are based in Ireland, the competent authority is the Irish Data Protection Commission: dataprotection.ie. You may also contact the supervisory authority in your own country.
Data security
All traffic to Clipbattle is encrypted with HTTPS. We apply reasonable technical and organisational measures to protect your data against unauthorised access, loss or misuse.
Changes to this policy
We may update this policy as the service evolves. The date at the top of this page shows when it was last changed. Significant changes will be reflected here.
Contact
For any questions about this policy or your data, email privacy@clipbattle.io.
If you contact us by email, we process your email address and the content of your message in order to handle your request (Article 6(1)(b) and (f) GDPR, and Article 6(1)(c) where we are dealing with a legal-rights request). We keep this correspondence only for as long as needed to handle and document your request. This is separate from your account: as noted above, we do not store an email address as part of your Clipbattle account.