Privacy
How the City Layers app and the maps on this site handle your information. The short version: no accounts, no ads, no tracking cookies, and nothing about you is sold. The website counts visits and which features get used, without identifying anyone.
What changed on October 14, 2026: the website now uses Umami, a privacy-focused analytics service, to count visits and feature use. It never receives your location, pins, searches or place names. Details and opt-out. The site also moved from GitHub Pages to Cloudflare Pages for hosting (details).
In short
- There are no accounts, no sign-ups, no advertising and no tracking cookies. The app uses no analytics.
- The website counts visits and which features get used (for example “someone picked the Getting around view”), with Umami. It doesn’t identify you, and you can opt out.
- Your location is optional, is only used when you ask for it, and stays on your device. Pins, searches and place names are never counted.
- Searching for an address sends what you type to a search service (Apple in the app, OpenStreetMap on the website) so it can find the place.
- Your settings are saved on your own device, not on a server run by me.
- I don’t sell, rent or share personal information, because I don’t collect it.
City Layers app (iOS)
LAST UPDATED · OCTOBER 9, 2026
What the app is
City Layers shows neighbourhood and community-area map layers, and a “What’s here” card describing a spot you pick, for Toronto and Chicago. It is made by Nouman Khan, an individual developer.
Your location
Location access is optional. The app only uses it when you tap the button to find your location, to place the map pin near you. Working out which neighbourhood, ward or district you’re in happens on your device. Your location is not sent to me, not stored on a server, not sold, and not used for advertising or tracking. You can turn location access off at any time in iOS Settings, and the app still works: you can drop a pin or search instead.
Address and place search
When you search for an address, the app uses Apple’s maps and search services (MapKit), so what you type is sent to Apple to find the place. Apple handles that under its own privacy policy. Map display also comes from Apple Maps.
Map and census data
The map layers and neighbourhood facts are public open data (from the City of Toronto, the City of Chicago, Statistics Canada, the U.S. Census Bureau, OpenStreetMap and others, credited in the app’s About screen and on the Attributions page). The app comes with a copy of this data so it works offline, and it downloads updates from layers.city. Those downloads are ordinary file requests: they don’t include your location, searches or any identifier, though, as with any web request, the server that delivers the files sees your device’s IP address (see the website section).
What’s stored on your device
The app saves your preferences (such as your preferred city), your last pin, and a snapshot of the “What’s here” card so the home-screen widget can show it. These stay on your device, in storage shared only between the app and its own widget. Deleting the app deletes them.
What the app doesn’t do
- No accounts or sign-in.
- No analytics or tracking tools, and no advertising.
- No collection of contacts, photos, health data or other personal information.
- No selling or sharing of personal data with anyone.
If you choose to share something from the app (for example a link to a spot on the map), it goes only where you send it, through the iOS share sheet.
This website
LAST UPDATED · OCTOBER 14, 2026
This covers layers.city: the maps page and every city’s map.
No accounts, ads or tracking cookies
You don’t need an account, there is no advertising, and the site sets no tracking cookies.
Counting visits and feature use
To learn which cities and features people find useful, the site uses Umami Cloud, a privacy-focused analytics service that sets no cookies (Umami’s privacy policy). It receives:
- the page you’re on, as its plain address (for example
layers.city/toronto/), and the website that linked you here; - your browser, device type, screen size and language, and your country, region and city as Umami estimates them from your connection;
- the names of features you use, such as which View you picked, which layer you turned on, that you started the tour or saved an image in the portrait shape.
It never receives your location, the pins you drop, what you search for, the names of places you look at, or anything after the ? or # in the address (where pins and place names live in shared links). The site checks every message before it goes out and drops anything that isn’t a plain feature name. Umami doesn’t identify you, and the counts are only ever seen as totals.
Nothing is counted if your browser sends Do Not Track or Global Privacy Control, or if you opt out here:
The opt-out is saved in this browser only; clearing your site data undoes it.
Hosting and the services the page loads
The site is hosted on Cloudflare Pages. Like any website, loading it means your browser connects to some outside services, which receive your IP address and basic browser details as part of that connection:
- Cloudflare, which hosts the pages and map data (Cloudflare’s privacy policy).
- Google Fonts, for the map’s typeface (Google’s privacy policy).
- cdnjs (Cloudflare) and jsDelivr, which serve the open-source map libraries.
- Umami, for the visit counts described above.
I don’t receive or keep these services’ logs. From Cloudflare I see only traffic totals, such as the number of requests a day, and from Umami only totals such as visits by city or how often a feature is used.
Address search
When you search for an address, what you type is sent to OpenStreetMap’s Nominatim service to find it (OpenStreetMap Foundation privacy policy). Suggestions for landmarks and place names come from the map’s own data, in your browser, and aren’t sent anywhere.
Your location and pins
On phones, the map has a “Use my location” button. The website only asks for your location when you tap it, and it never leaves your device: working out what’s there happens in your browser, it isn’t counted, and it isn’t added to links you share. When you drop a pin, working out what it falls in also happens in your browser. Shareable links keep the map position and pin in the part of the link after the #, which browsers don’t send to the server; it only goes to whoever you share the link with.
Reporting a problem
“Report a problem” at the foot of the “What’s here” card opens your own email app with a message to go@layers.city ready to edit. The page sends nothing itself: the email goes only if you press Send, and like any email it shows me your email address. The place you’re looking at is added only if you tick “Include this place”, which starts unticked. The visit counter records only that the button was used, not what you wrote or where.
Saving images
The “Image” button creates the picture in your browser. The first time you use it, a small open-source library is loaded from jsDelivr.
What’s stored in your browser
The site saves a few display settings in your browser’s local storage: light or dark theme, whether the side panel is folded, which card sections are open, whether you’ve seen the tour, and your visit-counting opt-out if you choose one. These are not cookies, aren’t sent anywhere, and you can clear them by clearing your browser’s site data.
Contact and changes
Questions about privacy: hello@noumankhan.ca.
If this policy changes, the updated version will be posted on this page with a new date. Material changes will be noted at the top.