Privacy
Tiny Swords Wars · last updated 5 October 2026 (how far behind a live match is shown: the organiser's or the players' choice; any match watched live when both its players switch Go live on in To Arms!, and stopped with STOP LIVE; the public leaderboard, joined only if you ask; this page in Spanish; the test version of the game; Cloudflare's error reports; each provider's safeguards abroad; how long sign-in records are kept; Cloudflare's check against bots and its security cookies; your consent to live, asked when you join a cup and taken back on its page in one click; the LIVE screen, where an organiser may list a cup's live matches; the decisions the game takes on its own, and the legal ground of each use; the terms: notices of illegal content, and the email that tells you about a moderation decision; a cup's matches watched live by spectators)
Short version: you can play without an account. If you sign in (with Google, or with a code sent to your email), the game keeps your account id, the name you pick and the history of your finished matches; your name and rated results appear on the public leaderboard only if you join it; your email (and, with Google, your picture) is never shown to other players. No ads, no analytics, no tracking cookies: the only cookies are Cloudflare's, for security. You can delete your account in the game at any time: Settings → Delete account.
Who is responsible
Tiny Swords Wars (the game at play.tinyswordswars.com, its test version at play-preprod.tinyswordswars.com, its site at tinyswordswars.com and its itch.io page) is made by Santi Herranz, an independent developer based in Spain, who is the controller of the personal data described here (the one responsible for it under the GDPR). Contact: [email protected]. The rules for playing and publishing are in the terms.
The test version (preprod) is where a new release is tried before it reaches everyone. It is the same game, under this same page, with its own server and its own records: what you do there is kept as described here, and search engines are asked not to list it.
Playing as a guest
- In your browser: your display name and your settings (sound, the private match level) are kept in your browser's storage, on your device. They never leave it except the name, below. While a match lasts, the tab also keeps a match token, so a reload takes you back to your seat; it is gone when the match ends, when you leave it, or when you close the tab.
- On the game server: when you play, the server receives your display name, your orders in the match and your connection's IP address. It uses them to run the match and to protect the game from abuse (for example, a limit of rooms per address). A match lives in the server's memory and is gone when it ends; nothing of it is stored.
- Server logs: the server notes when a room opens and the IP address it was opened from, plus technical errors. The hosting provider, Railway, shows these logs for 7 days on the game's plan (it may keep them longer under its own policy); they are for operating and securing the game.
- Your display name is shown to the other players in the lobby and in the match.
Signing in (optional)
You can sign in in two ways; both make the same kind of account.
- With Google: Google shares with our sign-in provider, Supabase, your Google account id, your email address, your name and your profile picture's address.
- With a code sent to your email: you type your email, we email you a one-time code, and typing it signs you in (no password). Before the code is sent, the game server checks that the address is not at a throwaway email service: it looks only at the part after the @, and keeps nothing. Supabase keeps your email address to send the codes and to know you next time; the email itself is sent by Resend.
- Either way, Supabase keeps your sign-in account (the email, and with Google the details above), with the times and IP addresses of your sign-ins, for security. If you sign in both ways with the same email, it is one account.
- The game itself keeps a profile: your account id, the name you register, and when it was created and last used. Your registered name is public: other players see it, with a mark (⚜), in the lobby and in matches, and nobody else can use it.
- Your email and picture are never shown to other players, never sent to matches, never kept in the game's own tables, and not used to contact you or for anything but your sign-in codes and, if we ever hide or remove something of yours, the email that tells you why (the terms say when).
- Your session (a sign-in token) is kept in your browser's storage for the game's domain, so you stay signed in on your next visit, until you sign out.
Match history
- When a match ends and at least one of its players is signed in, the game server keeps a record of it: when it started and how long it lasted, the map and the rules, whether it was a quick, private or bot match, whether it counted, and for each side its result, how it ended, its tallies (buildings, units, provinces, capital) and the name the player had then (a guest's display name, or "Bot" and its difficulty).
- Only the signed-in players of a match can see it, in their own history. Nothing of a match between two guests is kept, and a guest's matches are not kept even if they sign in later.
- The records never include emails, IP addresses, chat or private match codes.
Replays
- A match that is kept in the history also gets a replay: the game server records, from its own game, where every unit and building was and what happened (units trained and fallen, buildings raised and destroyed, provinces taken, cannon shots), each side's orders on the map (belts and moves), each side's economy over the match, what each side could see, and the players' names as they were then (a guest's display name, or "Bot" and its difficulty).
- A replay is watched through a link of its own: anyone who has the link can watch it, and nobody can list or search replays. Its players find it in their match history and may share it. Any player of the match (signed in) can hide it: it is deleted for everyone, for good.
- Replays are kept 90 days for counted matches and 30 days for friendly and bot matches, then deleted. When a player's account is deleted, the replays of their matches are deleted too.
- A replay never includes emails, IP addresses, chat or private match codes.
Custom maps
- The map editor keeps a map in your browser (a draft) or, when you are signed in, on your account: its name, its size, the seed it started from and your edits, and when you last saved it. A map on your account is yours alone until you publish it.
- Publishing a map makes that version public: anyone, signed in or not, can find it, see it, play it and copy it. A published version keeps the map as it was, its name, your name as its author, the description and tags you gave it, numbers worked out from the map (provinces, gold mines, how much water and forest, fairness) and how often it is played and won by each side. A copy of it credits it ("based on its name by its author"). You can take your maps out of the map search (a link still plays them); deleting a map deletes its published versions.
- Reporting a published map keeps the report (the map, the reason and your note) and which account made it, so the same account reports a map once; only the game's administrator reads reports. A report's account is dropped 90 days after the report is dealt with.
- When the administrator hides a published version, it keeps why with it: the rule it breaks, what breaks it, and when. Only its author sees that, in the map editor beside the version; it goes when the version is shown again, or with the map.
- Anyone can also tell us by email about content they believe is illegal (the terms say how). That email, with your name and address, and our answer and decision are kept in our mailbox while we deal with it and for one year after, to show how we handled it; only the game's administrator reads them. The same goes for the emails that tell an author why something of theirs was hidden or removed, and their answers.
- The map catalogue counts the matches kept in the history on each map (how many, how long, which side won, against the bot or not): numbers per map, with no player in them. Your favourite maps are kept with your account and seen only by you; they go with it.
- When you play on one of your maps (a test match against the bot, or a private match), the other player sees its name and your name as its author, and your match history and the match's replay keep the map's name and author as they were then.
- You can delete a map at any time; your maps are deleted with your account. A match played on a map deleted with its author's account shows its author as "Deleted player".
Tournaments
- A signed-in player may make a cup (a small tournament: a knockout, or a league where everyone plays everyone) and share its link. The game server keeps the cup: its name, its rules and when it starts, who organises it, its players (the name each had when joining), the draw, the games its matches played, the organiser's walkovers, who withdrew, and when each player first and last came to play a match (the first decides a match only one player came to: theirs at its deadline).
- The two players of a cup's match may agree when to play it. The server keeps, for each match, the times one of them last proposed (up to three, kept with their seat in the cup, not their account) and the time they agreed. Only the two players and the organiser see a proposal; the agreed time shows on the cup's page, to anyone with its link. It is a promise between the players: it decides nothing.
- A cup is unlisted but not private: anyone with its link can see its name, its players' names, the bracket or the league's table, the results and the replays of its games. Share the link only with whom you want to.
- A cup's games are also kept in the match history, like any match, with the cup and the round.
- Unless its organiser turned it off ("Live for spectators", on by default), a cup's matches may be watched live by anyone with the cup's link, behind the players by the delay its organiser picks (30 seconds to 10 minutes; 3 minutes unless they pick another): both sides' armies, buildings, economy and orders, as in the match's replay. The delay is kept by the game server, so nothing newer ever reaches a spectator. You see it when you join; from then on the organiser may make it longer, never shorter (shorter only while nobody else has joined). The server holds the live view in memory only while the game lasts and its end plays out for spectators; it is not stored. Spectators need no account: the server counts them (each page sends a random key, or without one its connection's address, forgotten 15 seconds after its last look) and shows the count, never who they are. The players see in the muster that the match is live, and on Game Over how many watched.
- Your consent. When you join a cup, the game asks whether you accept that your matches may be watched live; the server keeps your answer with your place in the cup. A cup whose matches are already live takes only players who accept. Its organiser may turn live (and its listing below) on or off while the cup runs, but on only once every player still in the cup has accepted; you may accept later on the cup's page, and withdraw your consent there at any time. Off may be turned at any time. A match already being played keeps what it began with, unless a player withdraws their consent: then its live view stops at once.
- The organiser may also list a cup on the game's LIVE screen ("Listed on the LIVE screen", off by default). Then, while one of its matches is played, anyone in the game sees it there with the cup's name, the match, its two players' names and ratings, the map and how many watch, and may watch it, behind by the cup's delay; the live view links to the cup's page, so a listed cup is no longer unlisted while its matches are played. An unlisted cup's matches show on that screen only to the cup's own players (signed in) who are not playing them.
Matches watched live
- Any match that is not a cup's (a quick match, a private match, a match against a bot) is watched live only if both its players switch "Go live" on in the To Arms! muster before the battle. It is off by default; against a bot, you alone decide. Each player sees there whether the other switched it on.
- Then, while its battle is played, anyone in the game sees it on the LIVE screen with both players' names (a guest's too) and ratings, the map and how many watch, and may watch it behind the players by the longer of the two players' choices: both sides' armies, buildings, economy and orders, as in the match's replay. As for a cup's matches, the delay is kept by the game server, the live view is held in its memory only while the battle lasts and its end plays out, never stored, and spectators are counted, never named. Its link is a random one of its own, never the room's or a private match's code. A rematch is shown too while both keep the switch on.
- The delay. Each player picks how far behind on a slider beside the switch (30 seconds, 1, 3, 5 or 10 minutes; 3 minutes unless moved), in the muster and in the battle (the War Tent), and the longer of the two choices plays: you are never shown sooner than you chose. Each player sees the other's choice.
- Your consent is the switch, for that match. You may switch it off in the muster; in the battle, STOP LIVE in the War Tent (the pause screen) takes it back: the live view stops at once for everyone, even what is still behind the delay, and that battle does not go live again.
The public leaderboard
- Quick matches between two signed-in players (not against the bot) are rated with an Elo rating, under the fair play rules in the wiki (worked out only from the matches already kept). The leaderboard is public: anyone can see a listed player's name, rating, rank, victories and defeats, and the latest rated matches: who played whom, when, for how long, who won and the points.
- Each listed player also has a public page, in the game and on the web with a link anyone can share: their rating over time, their best rank, their records (highest rating, win streak, matches, time played, average rival), the medals of past seasons, and their latest counted matches, including the ones that moved no points and why.
- Search engines may list the leaderboard's tables (names, ratings, ranks) and the published maps. A player's page asks them not to list it, as replays and cups' pages do, and the game server's answers all do; a page already listed leaves their results when they next visit it.
- You are listed only if you ask: when you pick your name, the game asks whether to show you on the public leaderboard (unticked), and Settings → "Show me on the public leaderboard" changes it at any time. Off, you are not listed, your page and your name in the latest matches are hidden, and your matches are not rated (quick matches are rated only between two listed players). Accounts made before 5 October 2026 were listed from their first sign-in and keep their switch as it is.
- When your account is deleted, you leave the leaderboard; the points your past matches moved stay with your rivals, who see "Deleted player".
Decisions the game takes on its own
A few things are decided by the game's code, with no person looking first. None of them has legal or similarly significant effects on you; we list them so you know what runs by itself, from what, and how to ask a person.
- The fair play rules decide whether a match moves rating points, and how many. They read only what the match record already keeps (its kind, length and level, how it ended, each side's losses, how often the same two players met that week, whether an account is new) and are worked out again from every stored match, so a rule changed later applies to the past too. They never close an account or touch your history. The rules, in plain words: Fair play.
- Idle detection: the server notes when each seat last did something in the game (an order, Ready, an answer to a warning), not what it did. A seat silent for too long is warned, then loses the match to its rival (both silent: nobody wins); in the muster or after the verdict it is taken out of the room. Only the match's end reason is kept, in the match record. The times: How a match goes.
- The word filter refuses some words in the public texts of maps and cups (names, descriptions, tags) before they are published: you see which field, and can write it another way.
- The email check refuses a throwaway email service before a sign-in code is sent, by the part after the @ only.
- The abuse limits refuse, for a while, what goes past a cap per address or per second (rooms, wrong private codes, orders and messages, reports, live views, and how many matches go live at once: past it, a battle that begins is not shown live).
Think one of them got it wrong? Write to [email protected] (your data) or [email protected] (a match or a rule): a person looks at it, and a match wrongly rated is put right in the next recount.
Why (legal basis)
Each use above rests on one of four grounds of the GDPR (art. 6.1):
- To give you what you ask for (the game, and the account under its terms): running your matches; your sign-in, your registered name and its mark; your match history; your maps, kept, published or reported by you; your favourite maps; the cups you make or join, and the times you propose and agree in them; and, while a match lasts, the token that brings you back to your seat.
-
Our legitimate interest, weighed against yours:
- keeping the game working and safe: the IP limits, the server logs, the email check and the abuse limits;
- keeping matches and ratings fair: the fair play rules and idle detection;
- your rivals' own records: your name as it was then in their match history and in a match's replay, including a guest's display name, and your seat shown as "Deleted player" once your account is gone;
- replays a player of the match can share by link, and a cup's page open to anyone with its link, as its organisers and players expect;
- knowing how the maps are played (the catalogue's numbers, with no player in them), and handling reports (one per account, the account dropped 90 days after).
- A legal obligation: dealing with notices of illegal content and telling authors why we restrict what they published (the EU's Digital Services Act), and answering your requests under the GDPR.
- Your consent (art. 6.1.a): being on the public leaderboard, with your player's page, asked when you pick your name and withdrawn with its switch in Settings at once (for the accounts listed before 5 October 2026, that switch is how to withdraw); and your cup matches watched live by spectators, and on the LIVE screen when the cup is listed there; asked when you join the cup (see Tournaments); and any other match watched live, given with the Go live switch in To Arms! and taken back with that switch or with STOP LIVE in the War Tent (see Matches watched live). For a cup's live matches, you may withdraw it at any time, as easily as you gave it: Stop showing my matches live on the cup's page (live then stops at once for the whole cup, the match being played too, until you accept again), withdrawing from the cup, or writing to [email protected]. Withdrawing does not undo what was watched before, which was never stored.
Apart from the leaderboard and live matches, we ask your consent for nothing, because nothing else needs it: no ads, no analytics, no tracking; the browser storage is only what the game needs to work, and Cloudflare's cookies only what keeps its pages safe. You may object to any use resting on our legitimate interest by writing to [email protected].
Who else handles the data
Only the providers that run the game, each for its part, under its own privacy policy:
- Supabase: sign-in, the database and the replays' files (hosted in the EU).
- Railway: the game server (hosted in the EU, the Netherlands).
-
Cloudflare: the game's web pages and the domain. The game's pages, fonts included, come only from our own domain: no file of them is fetched from Google or any other
site. Cloudflare, which serves them, sees your connection's address, as any host does; and when a page fails to
load, your browser may send Cloudflare a short error report (Network Error Logging: the page's address,
the error and the time), which it uses only to keep its network working.
To keep bots off the pages, Cloudflare runs a small check in your browser and may set its own
security cookies (
cf_clearance,__cf_bm): they tell a person from a bot, are made for this site alone, and are never used to track you or for ads. It also hides the email addresses on these pages from robots that collect them, so they show only with JavaScript on. - Google: the sign-in, if you choose it.
- Resend: sends the sign-in codes, if you sign in with your email.
- itch.io: the store page that shows the game; what itch.io keeps about you is covered by its own policy.
Supabase and Railway keep the data in the EU, though both companies are American and their staff may reach it from outside the EU for support; Cloudflare, Google and Resend may process it in the United States. Each does so under the safeguards the GDPR requires (art. 46): the European Commission's standard contractual clauses in its data processing agreement and, where the company is certified, the EU–US Data Privacy Framework (an adequacy decision, art. 45). Each provider's agreement and safeguards are linked from its privacy policy above; write to [email protected] for a copy. We do not sell or share your data with anyone else.
Keeping it safe
- Everything between your browser and the game travels encrypted (HTTPS, and secure websockets for matches).
- The game's tables are written only by the game server, with a key only it holds. Row level security is on everywhere: with the key the pages carry, a signed-in player reads their own profile and nothing else. A replay's file opens only by its random link.
- No passwords: you sign in with Google or with a one-time code. Your session stays in your browser, for the game's domain only. The administrator's tools need a secret only the developer holds.
- If a breach ever puts your data at risk, we tell the data protection authority within 72 hours, and you without delay when the risk to you is high (GDPR arts. 33 and 34).
How long
- Your account and profile: until you delete them.
- A match record: while a signed-in player of that match keeps their account. When yours is deleted, your own history goes; in a rival's history your side stays, shown as "Deleted player".
- A replay: 90 days for a counted match, 30 days for any other, unless a player hides it first. Its file goes within a day of that; a copy may stay in a browser's or the network's cache for up to an hour more.
- A custom map on your account: until you delete it, or your account.
- A cup: for as long as the game runs, so its bracket or table stays readable. When your account is deleted, your seat in a cup shows "Deleted player", and a cup you organise that has not started is cancelled.
- A match: only while it is played.
- A match's live stream (a cup's, or one both players took live): in the server's memory while it is played, and until its delay has played out for spectators (up to 10 minutes and a little more); a spectator's counting key, 15 seconds after their last look.
- Server logs: 7 days at the hosting provider (Railway), longer only under its own policy.
- Your sign-in times and their IP addresses (at Supabase, for security): while your account lasts; they go with it.
- A notice of illegal content, or a moderation email, and their answers: one year after it is dealt with.
- Your browser's storage: until you sign out or clear it.
- Cloudflare's security cookies: a short while (half an hour by default), as Cloudflare sets them.
Deleting your account
In the game, open Settings → Delete account and confirm. Your sign-in account, your profile, your match history, the replays of your matches and your custom maps are deleted at once, and your name becomes free for anyone. You leave the cups that have not started; in a started one your seat shows "Deleted player". In your rivals' histories your side of your matches with them stays, as "Deleted player". You can also ask by email at [email protected].
Your email goes with your sign-in account. If you signed in with Google, to also remove the game's access from your Google account, go to Google Account → Third-party connections.
Your rights
You can ask to access, correct, delete or export your data, or object to or restrict its use, by writing to [email protected]. You can also complain to a data protection authority: in Spain, the Agencia Española de Protección de Datos, or the one where you live.
Children
Signing in is for players aged 16 or over, or the lower age of digital consent in their country. Younger players can play as guests.
Changes
When the game starts keeping something new (for example, chat), this page will say so first, with a new date at the top.