Last updated: August 2, 2026
Map Tools: Fake GPS & Trails Permissions and Data Use Last Updated: August 2, 2026
This page explains every Android permission the App may request and why each is needed. All permissions are user-granted and can be denied; denied permissions disable or limit the feature that depends on them.
1. Location Permissions (ACCESS_FINE_LOCATION / ACCESS_COARSE_LOCATION) Used to read your real GPS position. This is needed to center the map on your current location and to validate the mock setup. Android's FusedLocationProvider mock APIs also require this permission group.
It is also used to sample your real GPS track while recording a walk: when you press the record button, the device's real location stream is opened and every point is stored on your device with latitude, longitude, altitude, and a timestamp. This use only runs when you start the recording yourself. The same permission is used when you follow a saved track while walking it (to alert you with a vibration when you drift away from the track).
This data is not sent to our servers.
2. Background Location (ACCESS_BACKGROUND_LOCATION) The mock location service (MockLocationService) runs as a foreground service. This permission allows it to keep publishing mock coordinates when the App is backgrounded or when a scheduler alarm fires.
3. Mock Location (ACCESS_MOCK_LOCATION) Required for the actual mock-location operation. It is not granted via a runtime dialog but by the user enabling Android Developer Options and selecting this App as the "mock location app".
4. Foreground Service Permissions (FOREGROUND_SERVICE, FOREGROUND_SERVICE_LOCATION, FOREGROUND_SERVICE_SPECIAL_USE) Declared in the manifest so MockLocationService and the floating widget service can run with a persistent notification. In addition to broadcasting mock locations, they allow a walk recording you started to continue with the screen off and while the App is in the background; the recording service holds a wake lock during this time.
5. Notifications (POST_NOTIFICATIONS — Android 13+) Used for the foreground service notification, the Smart Shield standby notification, and the walk recording notification. While a recording runs, a persistent notification that cannot be dismissed is shown; it lets you see that the recording is on.
6. Receive Boot Completed (RECEIVE_BOOT_COMPLETED) Used to re-register scheduled alarms after the device reboots.
7. Exact Alarm (SCHEDULE_EXACT_ALARM — Android 12+) Granted through Android's special-access screen so the scheduler can fire exactly at the configured time.
8. Display Over Other Apps (SYSTEM_ALERT_WINDOW) Used for the floating widget. Only requested if the user chooses to enable that feature.
9. Query All Packages (QUERY_ALL_PACKAGES) Used by the Smart Shield app picker so the user can assign a location profile to each installed app. The list is read locally and never leaves the device.
10. Media Location (ACCESS_MEDIA_LOCATION) Required so the Photo GPS Editor can read the original EXIF location bytes of the picked image. From Android 10 onward, EXIF GPS is stripped without this permission.
11. Usage Access (PACKAGE_USAGE_STATS) Used by Smart Shield only. Granted manually by the user from the system "Usage access" settings. It reads only the package name of the foreground app to match it against user-defined rules; it does not read screen content. This feature does not use the Accessibility Service. See the Usage Access Disclosure page for details.
Tools (Measurement and Calculation Tools): The Ruler, Area, Circle, Sun, Sun Path, Cooldown, Safe Radius, and Shadow tools in the "Tools" mode require no additional permission or network access. The Compass and Bearing tools only read the device's magnetometer sensor, which also requires no permission.
12. Internet (INTERNET) Required to download map tiles, communicate with Firebase (Remote Config / Crashlytics / Firestore), and resolve address search (geocoding). The App's core mock-location feature works without an internet connection.
What Data Leaves the Device? • Google Maps: Standard map-tile requests go to Google. • Address search (Geocoding): the place-name query you search on the map is resolved into coordinates via the Android system geocoder (over the internet; the backend resolver may be Google). Only the search text you type leaves the device. • Firebase Remote Config: Calls the minimum-required-version configuration check only. • Firebase Crashlytics: Only on release builds and only if enabled, sends crash stacks and device/model info. • Cloud Firestore: Reads the app_meta/changelog document only, to display the "What's New" (changelog) text; no user data is written or uploaded. • No advertising SDK. No analytics SDK.
What Data Never Leaves the Device? • Your real GPS location. • Your recorded walk tracks (latitude, longitude, altitude, timestamp) and recording drafts. They stay in the local database on your device; they only leave it if you export a recording as GPX and share it yourself. Exported GPX files also contain the timestamps. • Heat map and altitude profile data (computed on the fly only to be drawn on screen, never stored). • The list of installed apps. • Screen content, typed text, messages, passwords. • Your photos or photo metadata.
How Do I Stop a Walk Recording? A recording ends only when you stop it. Opening the App and pressing the stop button is enough; tapping the persistent notification shown while recording also takes you straight to the App. After stopping, you can name and save the track or discard the recording; before saving you can trim the beginning and end of the track.
Questions: akillisletme@gmail.com
— Change Note (August 2, 2026): Updated for Walk mode. Walk recording was added to the rationale of item 1 (ACCESS_FINE_LOCATION), item 4 (foreground service), and item 5 (POST_NOTIFICATIONS): it is stated that recording only runs when the user starts it, continues with the screen off via a foreground service and a wake lock, and shows a persistent notification. A "How Do I Stop a Walk Recording?" section was added, along with the conditions under which recorded tracks and GPX timestamps leave the device; the tools list was updated to the current 10 tools. The App was renamed from "Location Simulator – Mock GPS" to "Map Tools: Fake GPS & Trails"; all references in this document were updated. Page URLs are unchanged.
Change Note (June 21, 2026): Updated for the v2.1.0 release. Item 11 now describes the Usage Access permission (PACKAGE_USAGE_STATS) instead of BIND_ACCESSIBILITY_SERVICE. It was noted that the measurement/calculation tools in the "Tools" mode require no additional permission or network access (the Compass uses the magnetometer sensor).
Change Note (June 1, 2026): Updated for the v1.7.0 release. The read-only Cloud Firestore changelog access (app_meta/changelog) was added to the "What Data Leaves the Device?" section.