Privacy Policy

xFPS is a free online shooter. Creating an account needs a username and password, not your real name or email address. The online game has no advertising. This page explains the account, gameplay, communication and technical data we process, why, for how long, and your choices.

Last updated: 22 October 2026. This policy covers xfps.io and xFPS: Online Multiplayer for Android (io.xfps.game). See the Android details below. Our Terms of Service explain the rules for playing.

01 / WHO WE ARE

Who is responsible

xFPS is made and run by Bink Online in the Netherlands. We are the “controller” of your personal data under the EU General Data Protection Regulation (GDPR).

  • Bink Online, the Netherlands
  • Address: Le Mairekade 77, 1013 CB Amsterdam
  • KvK (Chamber of Commerce) number: 75927276
  • Email: contact@xfps.io

02 / THE SHORT VERSION

The short version

  • You can play without creating an account. Guest play still uses a guest identifier and the gameplay and technical data described below.
  • We do not ask for your email, real name or date of birth to create an account.
  • There are no ads, no analytics services and no tracking cookies on xfps.io. We do not sell or rent your data.
  • Your username, level and match stats are public on leaderboards, profiles and scoreboards.
  • We collect anonymous performance reports to find stutter and lag, to see why players stop playing, and to decide where new game servers are needed. You can switch them off in Settings.
  • You can delete your account yourself at any time.

03 / WHAT WE COLLECT

What we collect, and why

Your account (only if you create one)

  • Username and the date you created the account.
  • Password, stored only as a salted hash (scrypt). We cannot read it.
  • Recovery codes: we store only account-bound, one-way hashes of your codes. Codes are shown when issued, not saved in your browser automatically, and cannot be retrieved later. A password reset replaces the entire code set and revokes existing sign-in sessions.
  • Your agreement to these terms: which version of the Terms of Service and Privacy Policy you accepted, and when.
  • Sign-in session: when you sign in, your browser keeps a session token for up to 30 days. The server keeps only a one-way fingerprint (hash) of it, so a copy of our data cannot be used to sign in as you.
  • Linked browsers: the random device ids of browsers whose guest history you brought into your account, so your earlier leaderboard rows follow you.

Online player visibility

Switching off “Show me to players & allow invites” hides you from the public player directory and prevents directory invitations. The server owner’s authenticated account (Rob) can still see your online player name and activity, including when you have hidden your presence. This does not let the owner send directory invitations to opted-out players or reveal private room codes.

Guest play

When you play online without an account, your browser creates a random guest id and secret. Our server saves a guest record once there is progress to keep (for example your first daily reward or completed online match), and stores the guest id with a one-way fingerprint of the secret. Guest progress is kept so you can create an account later and keep it.

Your progress and settings

  • XP and levels, weapon XP, camos, credits, crates, cosmetics and finishing moves, challenges, daily rewards, ranked rating, career stats and match results, and weapons you have unlocked.
  • When you are signed in: your saved classes and game settings, so they follow you to other devices.
  • Clans: the clan you are in, your rank in it, and invitations you have sent or received.

We need this to run the game and keep your progress.

What other players can see

Your username (or guest nickname), level, rating, match stats, clan tag and cosmetics appear in matches, on scoreboards, on daily and all-time leaderboards, on your public profile and on clan pages. Anyone can look up an account’s public profile by username. In the Online Players panel you can turn off Show me & allow invites to stop appearing as online.

Chat

  • Global chat on the home screen: the server keeps the latest 50 messages (name, level, clan tag, text and time, with the internal id of the sender so moderators can act). Older messages are dropped as new ones arrive. A filter blocks slurs and links and masks curses.
  • Reports: if someone reports a message, we keep the report (the message, the names involved and the reason) for moderation.
  • Clan chat: the latest messages of each clan are kept only in the server’s memory and are gone after a restart. The same filter blocks slurs and masks curses; links are allowed between clan members.
  • Match chat: passed on to the players in your match and not stored. The same filter as Global chat blocks slurs and links and masks curses.
  • Party chat: passed on by the server to the current members of your party only. The latest 30 messages of a party are kept in the server’s memory while the party exists, so a member who reconnects can see them; they are gone when the party ends or the server restarts, and they are never written to disk. Someone who joins later does not see earlier messages. The same filter as match chat applies.
  • Optional voice chat: when you enable your microphone, its audio is transmitted through our self-hosted voice service to players in the relevant party, team or match channel. We do not record or transcribe voice chat. Connection metadata, such as a temporary participant identity, room and connection status, is used to route the call. Other players can hear what you transmit; do not share private information. You can use listen-only mode without microphone access, mute players, or disconnect voice in Voice chat settings. Microphone permission alone does not start broadcasting. Brief post-elimination voice reactions are currently disabled.

Contacting support

If you email contact@xfps.io, we receive your email address and anything you include, such as your username or a description of a problem. We use this correspondence to respond and handle your request. Do not send passwords or recovery codes. Email is not required to register or play.

Technical data and logs

  • IP address: the game server uses it while you are connected, in memory, to limit connections and sign-in attempts and to stop spam and abuse (for example a temporary chat mute). It is written to the game’s data files only when a player is banned or timed out, or an aim flag is recorded (see fair play and cheating).
  • Web server logs: when your browser loads xfps.io, our web server records the IP address, time, requested page, response status, referring page and browser type (user agent). These logs rotate daily and are kept for about 10 days.
  • Game server logs: the game server writes events to the system log: players joining and leaving rooms (with in-game name and room code), internal account ids next to progress events, and chat moderation events, which can include the text of a refused, reported or removed global chat message, and ban, timeout, aim-flag and player-report events (name, internal id and reason). These logs contain no full IP addresses: a ban event shows at most the first half of an address, such as 203.0.x.x.

We use these to keep the service secure, fix problems and handle abuse.

Fair play and cheating

To keep matches fair, the game server looks at how each player aims in online matches against other players: for example how often shots hit the head, how quickly you react when an enemy appears, and whether hits land on players you could not see. It uses only what the server already receives to run the match (your aim, movement and shots), never anything else on your device.

  • Aim flags: when a match shows aim that looks unusual, the server records a flag: your username or guest id, your in-game name, the match, the reasons and the numbers behind them (such as headshot share, reaction times, and how many of your kills came right after a pause in the input your game sends), and the IP address and browser ban id of that connection. Moderators use flags to review possible cheating.
  • Automatic timeouts: only very obvious cheating, such as shots fired in a different direction than the player is looking or aim that snaps onto heads faster than any person can react, leads to an automatic timeout: 15 minutes the first time, then 1 day, 7 days and at most 30 days if it happens again. Players caught cheating may be placed in separate matches without progression: during a timeout the player can keep playing online, but only in separate matches with other players who were caught cheating and computer-controlled bots, and those matches earn no progress of any kind (XP, levels, unlocks, camos, crates, credits, challenges, leaderboards, profile statistics or rank), and their Global chat messages are not shown to other players. Fixed rules decide this automatically, during or after a match, for signed-in and signed-out players alike. A repeat is recognised by any of the account, guest id, browser ban id or IP address of an earlier automatic timeout, using only what that timeout already recorded, never by in-game name. A player who had such a timeout or a strong aim flag in the last 7 days and then gets weaker aim flags in two separate matches within 24 hours gets the next timeout; weaker flags alone never lead to a timeout. It never takes away progress already earned and is never permanent. While it lasts it also covers the IP addresses the player was recently seen on, for accounts and guests alike, so other people on the same network (a household, school or mobile carrier) may be placed in those separate matches until it ends. If you think a timeout was wrong, email us and a person will review it.
  • Bans: moderators can ban a player for cheating or abuse, for a set time or permanently. A ban normally places the player in the same separate matches without progression as an automatic timeout; in serious cases a moderator can instead refuse the player all online play. A ban or automatic timeout records what is needed to enforce it: the account or guest id, in-game name, the random browser ban id (see storage on your device), the IP addresses the player was recently seen on, the length and the reason. Bans and automatic timeouts block those IP addresses for everyone while they are in force (the people on them play in the separate matches, or not online at all for a refusing ban), so other players on the same network can be affected for that time; moderators can choose not to block an address when they ban someone. For a permanent ban, each IP address is kept only until 30 days after the player was last seen on it; the account, guest id and browser ban id stay linked until the ban is lifted.
  • Moderator notices: when one of the events above happens (an aim flag, an automatic timeout, a ban or its lifting, or a player report), the game server shows the moderators a short in-game notice and keeps a copy in each moderator’s inbox: the player’s in-game name and account or guest id, the match (room, mode and map), the reasons and numbers already recorded, and for flags and bans only a shortened IP address such as 203.0.x.x and how many other players were recently seen on it. It never holds a full IP address or browser ban id. Only moderators see it.
  • Long-run aim record: for each account and each guest (never by IP address or browser id), the server keeps summary aim numbers from your last 30 online matches (shots, hits, headshots, fast reactions and similar counts). It compares them with all players to spot cheating that stays under the per-match rules; at most this creates a flag for a moderator to review. It never acts on its own.
  • Aim traces: for each kill you make with a gun in a public online match (quick play, ranked or a listed lobby; never a private room), the server saves a short record of your aim around that kill: the direction you were looking on every game tick from 1 second before the kill to a quarter of a second after it, the direction of the shot, the body part hit and the distance, with your username or guest id, your in-game name and the match. It is aim and shot data only: no position, chat, voice, IP address or browser id. Moderators use it to see how the aim moved when they review a flag; it never acts on its own.
  • Damage limit after a strong flag: when a match shows clearly inhuman aim, the server may quietly reduce that player’s damage for the rest of the match and their next 3 matches, recorded with the same identity as a ban. A moderator can see and lift it.
  • Player reports: you can report another player for cheating from the scoreboard or the killcam (aim cheat, wallhack or other). A report records the match (room, mode and map), the reason, and the username or guest id and in-game name of both the reporter and the reported player, plus the reporter’s level, account age and any aim flags of their own, which decide how much the report counts. It never records an IP address or browser ban id. Reports only help moderators decide whom to review first: a report never bans, times out or limits anyone by itself, and the reported player is not told who reported them.
  • Evidence clips: when a player is flagged for unusual aim or reported by another player, the game server saves a short recording of each kill that player makes for the rest of that match (about 3 seconds before the kill and 1 second after it), and of the reported kill if it is still in the server's memory. A clip holds what the server already uses to run the match: the in-game names, positions and view directions of everyone in the match at that moment, the flagged or reported player's aim and shots, which opponents the server sent to that player's game and which they could see, and the flagged or reported player's username or guest id. It holds no IP address, browser ban id, chat or voice. Only moderators watch clips, to judge a flag or report; a clip never acts on its own.
  • Chat limits: short chat pauses for posting too fast or repeating the same line are kept only in the game server’s memory and end after a few minutes or when the server restarts.

Anonymous performance reports

To find stutter, freezes and lag, to understand why players leave a match or never start one, and to decide where new game servers are needed, the game sends short technical reports to our own game server, during and after a match and when you close the page. They contain:

  • Your device and game: browser and operating system family, device type, graphics card name, screen and processor hints, game version and graphics setting.
  • Performance: frame-time and freeze measurements, network timings including your round-trip time (ping) to our game server during a match, and the rough spot on the map (to within a few metres) where a large network correction happened.
  • Game sound: whether the browser paused the game’s sound and for how long, how often a loading screen muted it, whether the volume safety limiter stepped in, how many sounds were skipped in a busy fight, how often an audio device was connected or disconnected (a count, never its name), and the audio delay the browser reports.
  • Roughly where you play from: only a broad area worked out from your browser’s time zone, such as eastern, central or western North America, western or eastern Europe, the Middle East, or South and South-East Asia. It is worked out on your device; your time zone itself, your country, your city and your IP address are never sent.
  • How a match ended for you: the mode and map, how long you were in the match, whether you joined it after it had started, your own kills, deaths and score, how far you or your team were ahead or behind, your frame rate and ping over the last 30 seconds, and whether you saw the results, left the match, or closed the page. It never includes another player’s name or numbers.
  • How you used the menus: how long you spent on the home screen, which main menus you opened and in what order (for example Loadouts, Rewards or Settings), and which window, if any, was open when you left.
  • Technical errors: how often the game hit an error, with a shortened error message from which web addresses, quoted text and numbers are removed, and the name of the game file it happened in.
  • Visit counts: a random id that lasts only for one browser tab, whether you were signed in (yes or no), days since your first visit, how many matches you started and finished, and how long you waited for a match.

Time the game spends in a background tab is not counted as waiting or as time on a menu, and switching to another tab is not counted as leaving. The server adds the time a report arrived (to the minute) and which of our websites sent it.

They contain no name, account id, guest id, device id or IP address. You can switch them off at any time in Settings → Video → Send anonymous performance reports; nothing is sent while they are off. We use them only to fix and improve the game. They are kept in daily files, and the oldest files are deleted once the total passes 50 MB.

Feedback you send

When you use Send feedback or rate your first match, we receive your message or star rating together with the details the dialog lists before you send: game version, whether you were online, offline or in the menu, the screen, mode, map and ping, browser and operating-system family, device type, graphics setting, screen size and language. It is linked to your account name, or to your guest id and player name, so we can find the problem and follow up. It never contains your IP address. Messages are stored on our game server and forwarded to the team’s mailbox (contact@xfps.io) so we can fix reported bugs quickly. Sending feedback is always your choice.

Not needed to playAccount registration does not ask for email, real name or date of birth. The game does not request camera access, precise location or payment details, and has no real-money purchases. Microphone access is optional and used only for voice features you choose.

04 / YOUR DEVICE

Storage on your device

xFPS uses your browser’s local storage and session storage (and, for the browser ban id only, IndexedDB), not cookies. Everything here is needed for the game to work, or is the anonymous measurement described above:

  • Settings and controls: sensitivity, field of view, volume, graphics, key bindings, your player name and a random device id.
  • Browser ban id: a separate random id, kept in two places in your browser (local storage and IndexedDB) so that clearing one does not reset it. When you play online, your browser sends it to the game server, which uses it only to enforce bans and timeouts (see fair play and cheating). It identifies nothing else.
  • Loadouts and choices: classes, cosmetic and finishing-move picks, preferred modes and match setup.
  • Sign-in: your session token, the username last used on this device, and a record of guest history you moved into an account.
  • Guest play: your guest id and secret, and progress for guest and offline play that lives only in this browser.
  • Interface: notices you dismissed, the chat tab you last used and whether you finished the tutorial.
  • Feedback: whether you were already asked to rate your first match, a random id for the send limit, and how many feedback messages you sent recently.
  • Visit counts: the first and last day you played and how many matches you completed, plus the random per-tab id in session storage. These feed only the anonymous performance reports.

xfps.io loads no third-party scripts, fonts, analytics or ads. Under the Dutch Telecommunications Act (article 11.7a), storage that is needed for the service you ask for, and analytics that are anonymous with little impact on your privacy, do not need a consent banner. That is why there is none. Clearing your browser’s site data removes all of this; progress stored only in the browser is then lost.

ANDROID EDITION

xFPS on Google Play

xFPS: Online Multiplayer (package io.xfps.game) is provided by Bink Online. It opens the online game at xfps.io through a supported Android browser using a Trusted Web Activity. It requires an internet connection; it is not the offline bots edition distributed on game portals.

The same account, progress, chat, optional voice, technical-log and performance-report practices described in this policy apply in the Android app. The Android wrapper adds no advertising, advertising identifier, billing or analytics SDK. Google Play and the browser provider process their own service data under their own policies.

Microphone access is optional and controlled by the browser and Android permission settings. You can keep playing without granting it. Saved settings and sign-in data may be held in your browser’s site storage and shared with visits to xfps.io in that browser. Uninstalling the app does not delete your online account and may not clear that site storage. Use account deletion for server data and your browser’s site-data controls for local data.

05 / LEGAL BASES

Why we are allowed to use it

The GDPR (article 6) requires a legal reason for each use:

  • To provide the game you asked for (performance of a contract): your account, guest record, progress, sign-in sessions, synced settings and classes, clans, text chat, optional voice communication, matches and leaderboards.
  • Our legitimate interests in a safe, working and improving game: security, rate limits and abuse prevention, moderation, detecting cheating and enforcing bans and timeouts (fair play and game integrity), logs, backups, reading and answering the feedback you choose to send, keeping a record of which terms you accepted, reserving a deleted account’s username for a short time, and anonymous performance reports, which you can switch off.
  • Legal obligations, where a law requires us to keep or hand over information.

You can object to uses based on legitimate interests (see your rights).

06 / WHO ELSE IS INVOLVED

Who else is involved

We do not sell, rent or trade your data, and we do not share it with advertisers. Two companies help us run the service:

  • OVH SAS (France) hosts the dedicated server that runs xfps.io and the game, in its Gravelines datacentre in France. The site is served directly from that server, without a content delivery network.
  • Google (Google Drive) stores encrypted copies of our backups. They are encrypted on our own server before upload, so Google cannot read them.

Google may store or access data outside the European Economic Area, including in the United States. Because the backups are encrypted before they leave our server, Google only ever holds unreadable data. Google uses the EU–US Data Privacy Framework and the European Commission’s Standard Contractual Clauses as safeguards for such transfers.

Other players see the public information described above. We may share information with authorities when the law requires it.

07 / RETENTION

How long we keep it

  • Your account and everything in it (progress, classes, settings, clan membership, terms acceptance): as long as your account exists. After you delete it, it is deactivated at once and permanently erased 14 days later (see deleting your account).
  • Sign-in sessions: at most 30 days, and ended when you sign out or sign in somewhere else.
  • Guest records: deleted automatically after 30 days without play if below level 3, and after 180 days without play otherwise. If you create an account, the guest record becomes your account.
  • Daily leaderboards: 35 days. All-time records (such as best Zombies waves) have no time limit; an account’s records are removed when the account is erased.
  • Global chat: only the latest 50 messages. Moderation reports: in a size-limited file in which the oldest reports are replaced by new ones.
  • Web server logs: about 10 days.
  • Bans and automatic timeouts: kept while they are in force; a permanent ban until it is lifted, its IP addresses only until 30 days after the player was last seen on each. 30 days after a ban or timeout ends, its IP addresses and browser ban id are deleted, and the rest of the record (id, name, length and reason) is deleted 180 days after it ended.
  • Long-run aim record: deleted 90 days after your last recorded match. Damage limits: end after the matches above and the record is deleted after 90 days (the browser ban id after 30).
  • Aim flags and their evidence: 90 days, or sooner when the evidence files pass 20 MB (the oldest are deleted first). The IP address and browser ban id stored with a flag are deleted after 30 days. The game server runs this clean-up for bans and aim flags when it starts and once a day after that, so a deletion can happen up to a day after the date above.
  • Aim traces: 30 days, or sooner when the trace files pass 50 MB (the oldest are deleted first). The game server deletes old traces when it starts and once a day after that, so a deletion can happen up to a day after the date above.
  • Moderator notices: 30 days, and at most the latest 200 per moderator.
  • Player reports: 90 days, and at most the latest 5,000 reports. The game server deletes older reports when it starts and once a day after that.
  • Evidence clips: 30 days, or sooner when the clips pass 200 MB (the oldest are deleted first). The game server deletes them when it starts and once a day after that.
  • Game server logs: until the size-limited system log replaces them with newer entries. There is no fixed time limit yet.
  • Performance reports: kept in daily files; the oldest files are deleted once the total passes 50 MB.
  • Feedback messages and ratings: kept in daily files on the game server; the oldest files are deleted once the total passes 20 MB. Copies forwarded to the team’s mailbox are handled like support correspondence.
  • Voice audio: relayed during the call, not saved as recordings or transcripts.
  • Support correspondence: kept for handling and following up your request, and where needed for security or legal obligations. There is no fixed automatic deletion period; you can request erasure.
  • Backups: the account data, leaderboards and global chat are backed up in encrypted form. Backups are access-restricted and used only to recover from a disaster. If we ever restore one, we apply all account deletions made since that backup again.

08 / DELETING YOUR ACCOUNT

Deleting your account

Delete your account any time in the game under Settings → Account → Delete account, or request deletion by emailing contact@xfps.io. This web request option is available even if you have uninstalled the Android app. Include your xFPS username, but never your password or recovery codes. We may need to verify account ownership before acting.

  1. Deleting takes three steps, so it cannot happen by accident. After you confirm, your account is deactivated immediately: you are signed out everywhere, and it is hidden from leaderboards, chat and matchmaking.
  2. For 14 days you can change your mind: sign in to keep the account, or email us to restore it, for example if someone else deleted it without your permission. Your username stays reserved during these 14 days.
  3. After 14 days the account is permanently erased and cannot be restored. Its data, its leaderboard entries and its global chat messages are removed. Progress, classes, cosmetics and credits are lost.

Backups follow the rule above: if a backup is ever restored, deletions are applied again. We keep a short list of deleted account ids (no names or other data) so that a deleted account stays deleted even if a backup is ever restored.

09 / YOUR RIGHTS

Your rights

Under the GDPR you have the right to:

  • Access the personal data we hold about you, and get a copy.
  • Correction of data that is wrong.
  • Erasure: delete your account yourself, or ask us to (see above).
  • Restriction of how we use your data while a question is being sorted out.
  • Objection to uses based on our legitimate interests, such as the performance reports (which you can also switch off yourself).
  • Portability: get your account data in a machine-readable format (JSON).

Email contact@xfps.io with your username. Because we do not know your email address, we may ask you to show that the account is yours, for example from a signed-in session, before we act. We answer within one month.

You can also complain to the Dutch data protection authority, the Autoriteit Persoonsgegevens, or to the authority in your own EU country. We would appreciate the chance to fix things first.

10 / CHILDREN

Children

xFPS is for players aged 13 and over. If you are under 16, you need a parent or guardian’s permission to create an account. If you think a child under 13 has created an account, email us and we will delete it.

11 / PORTALS, LINKS AND CHANGES

Game portals, links and changes

xFPS on game portals

An offline edition of xFPS is published on game portals such as CrazyGames, GameDistribution, Y8, Playgama and GamePix. There, the portal runs the page and may show ads and use cookies under its own terms and privacy policy. That edition does not connect to our game servers.

Links to other sites

Our Discord community and the partner sites we link to are run by others and have their own privacy policies.

Security

Connections use HTTPS and secure WebSockets. Passwords are stored only as salted hashes, sign-in tokens only as hashes, backups are encrypted, and access to the server is restricted.

Changes to this policy

If we change this policy, we update the date at the top. For important changes we also show a notice in the game.

12 / CONTACT

Contact

Questions or requests about your data: contact@xfps.io (Bink Online, the Netherlands).