# Mozilla Location Service

Mozilla Location Service (MLS) was an open geolocation service that allowed devices to find their position by processing received signals of publicly observable radio transmitters: cellular network antennae (and their Cell IDs), Wi-Fi access points (and their BSSIDs), and Bluetooth beacons. The service was provided by Mozilla from 2013 to 2024. The service used Mozilla's open source software project called Ichnaea.
In February 2019, MLS had collected more than 44.43 million unique cell networks and 1450 million unique WiFi networks (April 2018: 37.7 million UCN and 1145 million UWN, November 2016: 28 million UCN and 757 million UWN, November 2015: 17 million UCN and 427 million UWN).
In March 2024, it was announced that MLS would be retired and that functionality will be reduced in stages until the project is archived in July.

## Data collection and processing

The mobile app Mozilla Stumbler for Android could be used to contribute signals of cellular networks and Wi-Fi access points at the device's GPS position. It was available in the Google Play store and F-Droid from November 2014 to February 2021 after which it was officially retired. It was noted that contributions from Firefox for Android users "completely overwhelm[ed] the contributions made by the dedicated Stumbler app." Other apps, such as Tower Collector, were also available for the same purpose, although they were limited to collecting information related to cellular networks.
Firefox for Android had the option to contribute to the service in a similar manner to Stumbler up until Firefox version 68, after which Mozilla performed a major rewrite of the browser, and the option to contribute to MLS was not re-added.
Mozilla does not collect the SSID name (e.g. "Simpson-family-wifi") from WiFi networks, but does collect the BSSID (which is often the MAC address of the WiFi device). The service is opt-out, meaning it will be enabled on client applications without the user's consent unless disabled. Mozilla's client applications do not collect information about WiFi access points whose SSID is hidden or ends with the string "_nomap" (e.g. "Simpson-family-wifi_nomap").
When the service is used to request the geolocation of a device by sending it information about nearby radio transmitters, it not only responds with a location estimate, but also uses the data to update its own database. For example, if a device requests its location by sending the service information about 7 nearby Wi-Fi networks, but MLS only knows about 5 of them, the information about the 2 previously undiscovered Wi-Fi networks will be added as a data point at the device's estimated location. These requests are also used to verify that the 5 reported Wi-Fi networks still exist, and that their characteristics, such as their location, orientation, or other factors that might alter the signal, are unchanged. If they are changed, for example, by someone moving their Wi-Fi router to another room, then the device gets the Blocked status, which means that it isn't taken into account for location queries for 48 hours. If the device then remains stable at its new position, it is considered usable again. If it were to keep moving, it will be considered a moving emitter, and will not be taken into account for location queries. This is used to filter out, for example, Wi-Fi access points on buses and trains, and mobile hotspots created by phones and laptops.
The service does not try to calculate and store the location of the radio transmitters themselves. Instead, it calculates and stores the areas in which their signal can be received. This area is internally represented as a circle whose center is the weighted average of the location of all the measurements in which the signal was received. Measurements which are deemed to have a higher accuracy, higher signal strength and better signal-to-noise ratio are given a higher weight. The circle's size is set to be large enough to encompass a bounding box of all measurements.
Mozilla publishes aggregated data set of cell locations (MLS Cell Network Export Data) under a public domain license (CC-0). Unlike the cell database, the raw WiFi database is not made public because the underlying data contains personally identifiable information from both the users uploading data and from the owners of Wi-Fi devices. However, Mozilla shares this proprietary data with its corporate partner Combain AB.

## Usage

The service is used by default as a geolocation provider fallback in the Beta and Nightly versions of Mozilla Firefox for desktop computers and laptops, used when Firefox fails to acquire geolocation data from the operating system. Some versions of Firefox distributed by third-parties — especially Linux distributions — also use MLS. By default, the first-party, stable Firefox releases from Mozilla use a similar alternative service operated by Google. Firefox users have the option to change this setting to force the browser to use MLS instead, by visiting the about:config page and changing the value of geo.provider.network.url to https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%. This location data is exposed to websites using the HTML5 Geolocation API after the user has granted the website permission to access their location.
It is also the primary location source in the GeoClue library for non-GPS enabled devices, which is used in the GNOME and KDE environment in location-dependent applications such as the ones providing weather and maps.
The service is free to use, but an API key is required for requesting geolocation data. Keys are given out on an individual basis. In order to receive a key, one must fill out a request form. Mozilla does not, as of 2022-11-13, provide keys to commercial or personal projects. Keys are only offered if the person requesting it provides a link to their software repository which must be licensed under an open source license. However, it is possible to anonymously submit collected data to the service without the need for an API key.