Package
com.sec.location.nfwlocationprivacy
Service provider location
Guidance
Labelled "Service provider location" in every locale recorded here, this is a Samsung component concerned with location requests that come from outside the Android framework. Samsung publishes no package-level documentation for it, so what follows separates what is sourced from what is inferred. What the platform documents is the mechanism its name points at. Android's GNSS visibility control HAL governs what AOSP calls non-framework, or NFW, location access: location provided to entities other than the Android framework, such as a carrier's network-initiated location requests. The interface documentation states that the framework "will call this method to update GNSS HAL implementation every time the framework user, through the given proxy application(s) and/or device location settings, explicitly grants/revokes the location access permission for non-framework, non-user initiated emergency use cases", and defines the proxy application list as the "Full list of package names of proxy Android applications representing the non-framework location access entities (on/off the device) for which the framework user has granted non-framework location access permission". User initiated emergency requests are exempt: the HAL must serve emergency location "immediately irrespective of this permission settings". The companion callback exists so that deliveries are reported back for user visibility, and it names the proxy package alongside the protocol stack and requestor. The inference, stated as one: this package's name, its "Service provider location" label and its declared permissions, ACCESS_FINE_LOCATION, ACCESS_COARSE_LOCATION and ACCESS_BACKGROUND_LOCATION, together match the shape of a proxy application for that mechanism, whose location permission is what a user grants or revokes to allow or refuse non-framework access. Nothing here proves it. No Samsung source binds the package to the HAL, and this site records the permissions a package declares rather than what a given device has granted or what the GNSS implementation on that device is actually configured to use. Treat the reading as well-founded but unconfirmed. Its remaining declared permissions are REORDER_TASKS and a DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION named for itself. The latter is a permission name generated per package rather than a capability over anything else, and nothing here establishes what the package does with it, so read no significance into it. It is signed by a Samsung OEM key that does not sign the Android framework, and appears only on Samsung hardware. Version note. Samsung's own Common Criteria application lists record the package under the same "Service provider location" label on the Galaxy Z Flip (the Q-era F700F list, at 1.0.07) and the Galaxy S20 (the R-era G981U list, at 1.0.10), and it is absent from the Oreo-era Galaxy Note9 list, so it appears to have arrived with or after Android 10. Current devices here report versions 4.0.00 to 7.0.00, observed from API 31 through API 37 and targeting API 30 to 36. A version series that has moved from 1.0.x to 4.x and beyond since Android 11 suggests the component was reworked at some point, but the release at which that happened and what changed with it could not be sourced, and is flagged here rather than described as evergreen. For Android Enterprise, EMM and kiosk use, the point worth carrying is what this package appears to be for. If the reading above holds, it is the user's visibility and control point over carrier and network-initiated location requests, not the thing that performs them, so removing it is unlikely to be a privacy improvement and may remove the control rather than the access. That reasoning follows from the HAL documentation, not from any Samsung statement about this package, and the practical effect on a given build is untested here. Fleet-level location policy belongs in the management channel instead: the Android Management API exposes shareLocationDisabled, "Whether location sharing is disabled", alongside its locationMode field. Where a named Samsung preinstalled app genuinely must go, Samsung documents blocking it by package name through Knox Manage's application policies; test on one device first, and note that emergency location handling is documented as exempt from the permission this component appears to gate.
- IGnssVisibilityControl.hal (GNSS visibility control, non-framework location access) - Android platform source →
- IGnssVisibilityControlCallback.hal (nfwNotifyCb, NfwNotification) - Android platform source →
- Galaxy Z Flip LTE (F700F) application list - Samsung Knox CC Mode documentation →
- Galaxy S20 5G (G981U) application list - Samsung Knox CC Mode documentation →
- Galaxy Note9 (N960N) application list - Samsung Knox CC Mode documentation →
- Policy resource reference (shareLocationDisabled, locationMode) - Android Management API →
- Enable or disable a specific system app - Knox Manage - Samsung Knox Documentation →
- Package provenance for com.sec.location.nfwlocationprivacy - Android System App Database →
Package intelligence
Observed signing, permission, version and size signals from contributing devices - descriptive of that sample, not a verdict. These come from the v2 Package Search sync, which not every device has contributed to yet, so for some packages this detail is partial or not present at all.
- Signed by the device maker's own signing key (Samsung), so it is an OEM preinstall, and that single certificate is consistent across all 21 device profiles. Inferred from the certificate appearing only on Samsung devices (81 packages, 1815 observations).
- Its largest observed manifest declares 5 permissions: 3 runtime (user-granted), 1 install-time and 1 vendor or uncatalogued.
Declared permissions (5)
Largest permission set observed for this package. Text is Android's own published description where one exists; platform permissions Android does not document show their granted protection level (in grey) instead; vendor or unknown constants show the name only.
| Permission | Description |
|---|---|
ACCESS_BACKGROUND_LOCATION |
This app can access location at any time, even while the app is not in use. |
ACCESS_COARSE_LOCATION |
This app can get your approximate location from location services while the app is in use. Location services for your device must be turned on for the app to get location. |
ACCESS_FINE_LOCATION |
This app can get your precise location from location services while the app is in use. Location services for your device must be turned on for the app to get location. This may increase battery usage. |
REORDER_TASKS |
Allows the app to move tasks to the foreground and background. The app may do this without your input. |
com.sec.location.nfwlocationprivacy.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
- |
Manage on devices
ADB commands for this package (the inverse of each is included so you can undo). Run from an authorised shell or wire the equivalent into your DPC. Verify on a test device first - this database doesn’t yet classify which packages are safe to change. --user 0 targets the current user; drop it (and use a privileged shell) to act device-wide.
/system, so Restore re-adds it (-k keeps app data)Seen on
Each record is a device profile (make + model + Android version). Each unique handset that syncs against a matching profile will increase the observations of a package, thereby increasing confidence that a package is expected to be on a device.
| OEM | Model | Android | Provenance | Observations | Last seen |
|---|---|---|---|---|---|
| Samsung | SM-A057G | Android 15 | OEM Samsung | 1 1 user-facing | 8 Aug 2026 |
| Samsung | SM-A125F | Android 12 | OEM Samsung | 1 1 user-facing | 21 Jan 2026 |
| Samsung | SM-A135F | Android 14 | OEM Samsung | 3 3 user-facing | 21 Jan 2026 |
| Samsung | SM-A137F | Android 14 | - | 1 1 user-facing | 17 Jan 2026 |
| Samsung | SM-A236B | Android 14 | OEM Samsung | 2 2 user-facing | 10 Apr 2026 |
| Samsung | SM-A266B | Android 15 | - | 2 2 user-facing | 21 Aug 2025 |
| Samsung | SM-A266B | Android 16 | - | 1 1 user-facing | 26 Jan 2026 |
| Samsung | SM-A346B | Android 15 | OEM Samsung | 1 1 user-facing | 27 Jul 2026 |
| Samsung | SM-A515F | Android 13 | - | 1 1 user-facing | 30 Jun 2025 |
| Samsung | SM-A528B | Android 13 | - | 1 1 user-facing | 19 Jun 2025 |
| Samsung | SM-A536B | Android 15 | - | 1 1 user-facing | 19 Jun 2025 |
| Samsung | SM-A536B | Android 16 | OEM Samsung | 1 1 user-facing | 29 Jul 2026 |
| Samsung | SM-A556B | Android 15 | - | 1 1 user-facing | 1 Jul 2025 |
| Samsung | SM-A566B | Android 16 | OEM Samsung | 3 3 user-facing | 12 Sep 2026 |
| Samsung | SM-F721B | Android 15 | - | 1 1 user-facing | 9 Jul 2025 |
| Samsung | SM-F766B | Android 16 | - | 1 1 user-facing | 11 Nov 2025 |
| Samsung | SM-F971B | Android 17 | OEM Samsung | 1 1 user-facing | 18 Sep 2026 |
| Samsung | SM-G766B | Android 15 | - | 1 1 user-facing | 17 Oct 2025 |
| Samsung | SM-G766B | Android 16 | OEM Samsung | 1 1 user-facing | 5 Sep 2026 |
| Samsung | SM-G780F | Android 13 | OEM Samsung | 1 1 user-facing | 29 Dec 2025 |
| Samsung | SM-G991B | Android 15 | OEM Samsung | 1 1 user-facing | 19 Apr 2026 |
| Samsung | SM-M315F | Android 12 | - | 1 1 user-facing | 2 Feb 2026 |
| Samsung | SM-N986B | Android 13 | - | 9 7 user-facing | 17 Jul 2025 |
| Samsung | SM-S721U | Android 15 | - | 5 5 user-facing | 5 Aug 2025 |
| Samsung | SM-S731B | Android 16 | OEM Samsung | 1 1 user-facing | 11 Aug 2026 |
| Samsung | SM-S906B | Android 15 | - | 1 1 user-facing | 2 Jun 2025 |
| Samsung | SM-S908U | Android 16 | OEM Samsung | 2 | 17 Sep 2026 |
| Samsung | SM-S921B | Android 15 | OEM Samsung | 2 2 user-facing | 22 Jul 2025 |
| Samsung | SM-S921B | Android 16 | OEM Samsung | 1 1 user-facing | 17 Sep 2026 |
| Samsung | SM-S921U | Android 15 | - | 1 1 user-facing | 19 Jun 2025 |
| Samsung | SM-S926B | Android 16 | OEM Samsung | 1 1 user-facing | 14 Apr 2026 |
| Samsung | SM-S928B | Android 16 | OEM Samsung | 2 2 user-facing | 12 Jun 2026 |
| Samsung | SM-S928U1 | Android 15 | - | 1 1 user-facing | 12 Sep 2025 |
| Samsung | SM-S931B | Android 15 | - | 1 1 user-facing | 20 Sep 2025 |
| Samsung | SM-S931B | Android 16 | - | 1 1 user-facing | 23 Nov 2025 |
| Samsung | SM-S936B | Android 16 | - | 1 1 user-facing | 18 Dec 2025 |
| Samsung | SM-S937B | Android 15 | - | 1 1 user-facing | 25 Aug 2025 |
| Samsung | SM-S938B | Android 15 | - | 2 2 user-facing | 25 Aug 2025 |
| Samsung | SM-S942B | Android 17 | OEM Samsung | 1 1 user-facing | 25 May 2026 |
| Samsung | SM-S948U | Android 16 | - | 1 1 user-facing | 9 Sep 2026 |
| Samsung | SM-T636B | Android 15 | - | 2 2 user-facing | 12 Oct 2025 |
| Samsung | SM-T976B | Android 13 | - | 1 1 user-facing | 21 Jul 2025 |
| Samsung | SM-X200 | Android 14 | - | 1 1 user-facing | 27 Aug 2025 |
| Samsung | SM-X716B | Android 15 | - | 1 1 user-facing | 27 Jun 2025 |
| Samsung | SM-X910 | Android 14 | - | 1 1 user-facing | 26 Jun 2025 |
| Samsung | SM-X910 | Android 15 | - | 1 1 user-facing | 12 Sep 2025 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| Service provider location | en-gb | 26 |
| Service provider location | en | 20 |
| Service provider location | en-us | 18 |
| Service provider location | nl-nl | 5 |
| Service provider location | it-IT | 5 |
| Service provider location | de-de | 3 |
| Service provider location | en-nl | 3 |
| Service provider location | 2 | |
| Service provider location | en-GB | 2 |
| Service provider location | es-ES | 2 |
| Service provider location | es-es | 2 |
| Service provider location | fr-fr | 2 |
| Service provider location | it-it | 2 |
| Service provider location | es-us | 1 |
| Service provider location | fr-FR | 1 |
| Service provider location | fr-dz | 1 |
| Service provider location | pl-pl | 1 |
| Service provider location | cs-cz | 1 |
| Service provider location | ru-ru | 1 |
| Service provider location | en-au | 1 |
| Service provider location | en-US | 1 |
| Service provider location | cs-CZ | 1 |
| Service provider location | pl-PL | 1 |