Mirror Cities Online ("Mirror Cities") is made and run by Ishan Pathak, a sole trader in South Australia (registered business name Home Voice), of Unit 14, 148 Anzac Highway, Glandore SA 5037, Australia ("we", "us"), who is responsible for your information. Questions, or anything about your data: mirrorcities.online@gmail.com. Our privacy officer (the person in charge of your information, our data protection officer, and India's grievance officer), Ishan, answers at that address.
When you press Play, the game asks your phone where it is (except in South Korea, where you pick your city from a list instead: see Countries). It works out which city that is on your phone; your city is free to play. Your exact position never leaves your phone: what's sent is the city, with evidence that you're in it (below). Our server checks it's a real city, and one you could have got to (not Delhi, then Adelaide an hour later), and lets you play it online for 12 hours. For that check it remembers the cities you've played this way in the last day, and when. It also keeps which country your free city was in (your own country, which sets prices and what needs unlocking) until your account is deleted. If the phone says the location came from a fake-location app, the city isn't free. You can say no to location: you can still unlock cities to play.
So that nobody can fake being in a city, the app sends some evidence with the city, which our server checks and then forgets (none of it is stored): on Android, the GPS satellites your phone can see and where each one is in its sky (our server takes each one's direction only to the nearest 2 degrees and, from the satellites' public orbits, works out roughly where on Earth that sky is seen from: usually only to within tens of kilometres, enough to check it's your city), whether the location came fresh from the GPS, the country of the mobile network your phone is on, and whether the phone is an emulator or rooted; on every phone, its time zone. If they don't fit the city, the city isn't free and the game says why. The time zone is also sent (and checked, then forgotten) whenever you play any other city, because the game isn't offered in some countries (see Countries).
In the apps, so that check can be trusted, the app also asks Apple (App Attest) or Google (Play Integrity) to confirm it's the genuine app on a real phone. This genuine-app check isn't switched on yet: our server doesn't use the answer, and keeps nothing from it. Once it's on, we'll keep the key your phone made for it, which says nothing about who you are.
To show you to players nearby, and to check things like missions, the spot of the day and hidden packages, the game sends our server where your character is on the game's map: where it is in the game, not where your phone is. Everyone in a city starts at the same public meeting spot. We don't keep these positions: our server forgets them when you stop playing. Other players near your character see it and its looks; only your teammates see its name. Other players in your city who could meet you in the game (grown-ups see grown-ups, under-18s see under-18s; never anyone either of you has blocked) see a dot for your character on the city's map: where it is in the game, rounded to about 10 metres, with no name.
Everyone who plays has an account. A guest's is made without asking, with no email or password: the phone keeps its sign-in.
We use these to run your account, keep your progress, and keep the game safe (below).
Photo mode's pictures and the clips you record are made on your phone and stay there: the game never uploads them. If you share one, your phone's share sheet sends it where you choose. They show the game's screen (your character, and other players' characters, which carry no names) with the game's name, your city's name (never your street) and the map's credits.
If you turn on reminders, the game sets them on your phone itself (your daily reward, your streak, a new story episode). Nothing about them is sent to us or anyone else. Turn them off in Settings or your phone's settings at any time.
With reminders on, rain alerts tell you when it's about to rain in your city (rain runs pay double). The app asks our server for your city's forecast for the next two days, for a spot rounded to about 10 km (our server asks the Norwegian Meteorological Institute, which never sees your phone), and sets the alerts on your phone. Never at night, two a day at most; turn them off on their own in Settings.
The game makes a random id on your phone. It's your place on the leaderboard, and it's what we use to block or ban a guest who breaks the rules. It's kept with your account, and says nothing about who you are.
Cities, countries, the World Pass and premium clothes are paid for through the App Store or Google Play. They take the payment: we never see your card, bank or UPI details. They tell us the purchase happened, with their reference for it, and we check it with them. We keep a record of each purchase on your account (what it was, when, which store, and the store's reference), so it stays yours on any phone and a refund can be matched to it; for the World Pass, your account also notes that it has the pass and since when.
If someone asks us to leave their home or business out of the game, we keep where it is (and a business's name) for as long as it's left out. A home's location never leaves our server.
The game counts events such as "someone opened the lobby" or "someone bought a shirt". These are counts with no names, emails or ids attached. If you join a waitlist on our website, we keep the email you give for that, to tell you when it opens.
Your IP address reaches our server, and the services the game downloads map data from (below), when your phone talks to them. They see roughly which area's map is loading, not who you are. We don't keep IP addresses beyond what's needed to protect the servers (for example, a few minutes of rate limits).
If you tell us about a problem (☰ Menu → 🛠️ Report a problem, or Settings → About), we keep what you write, what kind of problem it is, and which account sent it (so we can see what happened and fix it), and, if you leave the box ticked, the game's info: the city you're playing, your phone's make and system, the app's version, its graphics settings, your screen's size and your phone's language. Never where you are in the city. Only we read them, on our server; we keep them a year at most, and they go with your account if you delete it. Our inbox gets a note that one has come, never what it says.
If something in a city looks wrong and you send it to us (☰ Menu → 📍 Something wrong here?), we keep the game's own picture of what was on your screen in the game (never a photo from your phone's camera), the city, the spot in the game it shows and which way it looked, the kind of problem you picked and your note. Not your name or your account: we only count how many come from an account in a day, and don't keep that. It's only sent when you press Send. If the spot is your own street in the game, that's the spot we see, with no name to it. Only we look at them, to fix the map; each is deleted once it's fixed, and after 90 days at most.
We don't sell or rent personal information, and nothing about you is used to choose the ads you see. We'd only share it if the law requires us to, or to protect someone from serious harm.
Depending on where you live (for example in California or India), you may have more rights, such as to get a copy of your data, to object, or to withdraw consent (as easily as you gave it): email us and we'll help. In India you can also name someone to use these rights for you if you can't. In the Philippines the month and year you were born count as sensitive information: by giving them, you agree to their use only for the game's age rules. Where the law asks for a legal basis, we handle your information to provide the game you asked for (our agreement with you), to keep it safe and fair (our legitimate interests), and with your consent for location, the mic and reminders.
Nobody under 18 is shown an ad, or offered one. Mirror Cities isn't for children under 13, or older where a country's law asks: 14 in Canada, Peru, North Macedonia, Moldova, Bermuda, South Korea and (from 1 December 2026) Chile; 15 in Serbia and Monaco; 16 in Brazil, Rwanda, Kosovo, Georgia, Armenia, Mauritius, Benin, the Republic of the Congo, Ethiopia, Somalia, Belarus, Albania, Bosnia and Herzegovina, Montenegro and San Marino; 18 in the United States, Mexico, Colombia, Ecuador, Costa Rica, Panama, the Dominican Republic, Turkey, Saudi Arabia, the United Arab Emirates, Qatar, Kuwait, Oman, Jordan, Iraq, Lebanon, Palestine, Egypt, Libya, Algeria, Tunisia, Azerbaijan, Bangladesh, Vietnam, Indonesia, Nigeria, Kenya, Ghana, Uganda, Tanzania, Zambia, Zimbabwe, Botswana, Eswatini, Lesotho, Malawi, the Seychelles, Cameroon, Gabon, Chad and the Central African Republic (and in India from 13 May 2027). Someone under that age has their account deleted, with everything kept with it, whatever's on it, as soon as the game knows their age (from them, or their app store): the age of the country the account plays from (where its free city is) or, before it has one, of where they are, if nothing's on it yet. An account with something on it (bought, unlocked or earned) and no country of its own yet (its location never used) isn't deleted that way: it can't be played online where its player is too young until they're old enough, unless they or a parent ask us to delete it. The game asks how old you are before you play online, and keeps out anyone younger. If someone says they're under 13 (or their app store says so), their account and everything kept with it are deleted at once, wherever they are; the phone keeps only a note that it was told, so the age can't just be given again. If an account deleted for its age had bought anything, we keep only what a refund of it needs: each purchase's store reference, what it was, which store and when, under the deleted account's random id, with nothing else about the player (no name, email or age), on its own for a year, then deleted. Nothing else about them is kept, apart from reports made by or about them (up to 12 months, for safety), any ban on the account or a phone it was played on (with which phones the account was played on and whom it blocked, while the ban lasts; the ban's record up to a year after it ends), and our server's log (180 days). An account found too young only when it asks to play a city (because the country's age has gone up since it was made, say) can't be played online there: if it's new (in its first week, with nothing bought or unlocked) and from there (that's its own country, or it has none yet), it's deleted then (for an account from India, its sign-up details are then kept sealed for 180 days: see How long we keep it); otherwise it's kept until its player is old enough, unless they or a parent ask us to delete it sooner. If you think a child under the game's age has an account, email us and we'll delete it.
Passwords are stored only as one-way hashes, sign-in tokens only in a scrambled form, and everything travels encrypted (HTTPS). No system is perfectly secure; we keep a record of every security incident, and if one could affect you we'll tell you without delay, and the authorities as each country's law asks (in most, within 72 hours).
Where your information is kept and handled: our server is in Sydney, Australia; the services above handle it in the United States (our website, the voice relay, password emails, the app stores' records) and, for map files, wherever Amazon Web Services serves them (or, when Amazon's copy hasn't got the map's release, Overture's own servers, behind Cloudflare). We're a small business, currently exempt from most of Australia's Privacy Act, but we follow its principles anyway; the United States has no general privacy law, so your information may be protected less than in your own country. We keep only what the game needs, protect it as this policy says, and never sell it; playing online means you agree to it being kept and handled there. The AI that writes missions is sent nothing about you.
Mirror Cities isn't offered in the UK, Guernsey, Jersey, the Isle of Man, Gibraltar, the European Union, Iceland, Liechtenstein, Norway, Andorra, the Vatican, the Faroe Islands, Greenland, South Africa, Taiwan, China, Iran, North Korea, Cuba or Syria, nor in Crimea: the game doesn't start on a phone whose time zone is set to one of them (nothing is sent to us from it, except a deletion you ask for), or give a free city there; nor is a free city given in the other parts of Ukraine Russia occupies. Their cities are in the game for players everywhere else.
Solo mode (Brazil, Russia, Vietnam, Indonesia, Kazakhstan, Uzbekistan, Turkmenistan, Kyrgyzstan, Tajikistan, Thailand, Macau, Jamaica, Turkey, Egypt, Serbia, Kosovo, North Macedonia, Albania, Bosnia and Herzegovina, Montenegro, Moldova, Georgia, Monaco, San Marino, Morocco, Algeria, Tunisia, Bahrain, Nigeria, Ghana, Uganda, Tanzania, Rwanda, Zambia, Zimbabwe, Mauritius, Cameroon, Gabon, São Tomé and Príncipe, the Central African Republic, Senegal, Côte d'Ivoire, Togo, Burkina Faso, Angola, Mali, Niger, Chad, Benin, Botswana, Eswatini, Cabo Verde, the Philippines, Jordan, Azerbaijan, the Seychelles, Curaçao, Sint Maarten and Aruba, whose laws ask, before a game from abroad handles their players' information, for things we can't do yet: a representative there, a licence or registration, or the information kept there): the game plays there on your phone only, and nothing is sent to us at all, not even an account. What it keeps (that you agreed to the terms, the month and year you were born, your settings and how far you've got) stays on your phone, and goes when you delete the app. Your phone's location finds your city on the phone and never leaves it. As everywhere, the map is read from the Overture Maps Foundation's public files and Amazon's public terrain tiles, both stored by Amazon Web Services: your phone asks them for the area round you, so Amazon sees your phone's internet address, as for any website. If Amazon's copy hasn't got the release the game uses, the files come from Overture's own servers, behind Cloudflare, which then sees it too. We see nothing.
South Korea. In South Korea the game doesn't read your phone's location at all: when you press Play, you pick the city you're in from a list, and that city is free for you to play online. What's sent is the city you picked, with your phone's time zone (checked, then forgotten, to see that the phone is on Korean time). For players in Korea, under the Personal Information Protection Act: we handle the information described in this policy to provide the game you asked for, so it's sent abroad as follows. What: what's listed under What we collect (your account, progress and purchases; what you choose to share while you play, like chat, voice and your character; the city you picked and your phone's time zone). Where, when and how: over an encrypted internet connection, as you play, to our server in Sydney, Australia (Fly.io, Inc.: fly.io/legal/privacy-policy), and as described above to the services that help run the game in the United States: Google LLC (password emails, ads for adults who choose them: policies.google.com/privacy), Cloudflare, Inc. (the voice relay, only while voice is on; and the map's files, when Amazon's copy hasn't got them: cloudflare.com/privacypolicy), Netlify, Inc. (our website, which also tells the apps which map release to use: netlify.com/privacy), and Apple or Google for downloads and purchases. Why, and how long: to run the game for you, and kept as How long we keep it says. If you'd rather your information wasn't sent abroad, please don't play online: you can delete your account any time (Settings → Account → Delete account), and it's deleted as above. Our privacy officer, Ishan Pathak, answers at mirrorcities.online@gmail.com; you can also complain to Korea's Personal Information Protection Commission. The game is for players 14 and over in Korea.
If we change this policy, we'll update the version date at the top, and for a significant change, tell you in the game and ask you to agree before you play on.