Last updated: May 25, 2026
Location Simulator – Mock GPS Permissions and Data Use Last Updated: May 25, 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. 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.
5. Notifications (POST_NOTIFICATIONS — Android 13+) Used for the foreground service notification and the Smart Shield standby notification.
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. Accessibility Service (BIND_ACCESSIBILITY_SERVICE) Used by Smart Shield and only binds when the user explicitly turns the service on in system Accessibility settings. The service does not read screen content; it only reads the package name of the foreground app and matches it against user-defined rules. See the Accessibility Service Disclosure page for details.
12. Internet (INTERNET) Required to download map tiles, communicate with Firebase (Remote Config / Crashlytics), 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. • No advertising SDK. No analytics SDK.
What Data Never Leaves the Device? • Your real GPS location. • The list of installed apps. • Screen content, typed text, messages, passwords. • Your photos or photo metadata.
Questions: akillisletme@gmail.com