Package
com.google.android.tetheringentitlement
Tethering Entitlement
Guidance
Recorded as "Tethering Entitlement", this is a Google package that appears to perform carrier entitlement checks for mobile hotspot (tethering). The system configuration file nexus.xml, in the copy extracted into the redfin device directory of the TheMuppets proprietary_vendor_google tree cited here, lists this package and describes it in a comment as the "Tethering entitlement check app", allowlisting it to run a JobIntentService in the background while the device is in power save (except idle) and Internet access in the background while data saver is on. AOSP's Tethering module configuration describes the mechanism such an app plugs into: where the mobile hotspot feature "requires provisioning", a provisioning app can be named for the UI check and a no-UI broadcast check, with a recheck period that defaults to 24 hours. The AOSP default leaves those slots empty, and no cited source shows which value Pixel builds set, so the tie between this package and those slots rests on its label, the nexus.xml comment and its permissions, and is an inference. On this site it is recorded on Google Pixel phones and on some NUU, Nothing and Unihertz devices, on devices reporting OS API levels 31 to 37. Where this site holds signer data, which is 3 of those 4 makes (Google, NUU and Nothing), it is signed by Google keys that do not sign the Android framework, and this site records two distinct signing keys for it. This site records it requesting TETHER_PRIVILEGED, CONNECTIVITY_USE_RESTRICTED_NETWORKS, WRITE_APN_SETTINGS, READ_PRIVILEGED_PHONE_STATE and INTERNET, among others. This site aggregates permissions across observations rather than per build, so which builds declare each of them cannot be established. Version note: AOSP documents that the Tethering module, which includes the "interaction with tethering entitlement", is the updatable com.android.tethering APEX available for devices running Android 11 or higher, and that from Android 12 all of packages/modules/Connectivity is in the module's scope. That describes the platform side; whether this package's own role changed across those releases could not be sourced. The nexus.xml copy cited here is from that tree's lineage-19.1 branch, a single snapshot, so it does not show whether later builds configure the package the same way. For Android Enterprise, EMM and kiosk use this package is not a management control. If it is the entitlement checker its label and the nexus.xml comment indicate, it acts for the carrier rather than for the organisation, and disabling it could affect whether hotspot can be turned on where the carrier requires an entitlement check; that effect was not verified here. To restrict tethering, the Android Management API's deviceConnectivityManagement tetheringSettings field is the documented lever: DISALLOW_ALL_TETHERING is documented as supported on fully managed devices and work profiles on company-owned devices on all supported Android versions, and DISALLOW_WIFI_TETHERING on company-owned devices running Android 13 and above.
- nexus.xml (redfin, lineage-19.1) - TheMuppets/proprietary_vendor_google, GitHub →
- Tethering/res/values/config.xml - AOSP packages/modules/Connectivity →
- Tethering - Android Open Source Project →
- Policy resource (DeviceConnectivityManagement) - Android Management API →
- Package provenance for com.google.android.tetheringentitlement - 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 Google's own signing key (the same key Google uses across devices), so it is a Google-provided preinstall that updates independently of the system image, though 2 different Google signing keys appear across the fleet. This certificate spans 3 device makes - the hallmark of a globally distributed Google key.
- Its largest observed manifest declares 11 permissions: 4 signature or system-level, 4 install-time and 3 vendor or uncatalogued.
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (11)
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_LOCAL_NETWORK |
- |
ACCESS_NETWORK_STATE |
Allows the app to view information about network connections such as which networks exist and are connected. |
CHANGE_NETWORK_STATE |
Allows the app to change the state of network connectivity. |
CONNECTIVITY_USE_RESTRICTED_NETWORKS |
Signature or privileged system permission. |
INTERNET |
Allows the app to create network sockets and use custom network protocols. The browser and other applications provide means to send data to the internet, so this permission is not required to send data to the internet. |
READ_PRIVILEGED_PHONE_STATE |
Signature or privileged system permission. docs ↗ |
TETHER_PRIVILEGED |
Signature or privileged system permission. |
WAKE_LOCK |
Allows the app to prevent the phone from going to sleep. |
WRITE_APN_SETTINGS |
Signature or privileged system permission. docs ↗ |
com.google.android.apps.carrier.log.permission.SEND_LOGS |
- |
com.google.android.providers.gsf.permission.READ_GSERVICES |
- |
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 |
|---|---|---|---|---|---|
| Pixel 10 Pro | Android 16 | 1 | 26 Mar 2026 | ||
| Pixel 10 Pro | Android 17 | 1 | 1 Nov 2026 | ||
| Pixel 6 | Android 12 | - | 1 | 22 Jun 2025 | |
| Pixel 6 | Android 16 | - | 1 | 13 Oct 2025 | |
| Pixel 6 Pro | Android 15 | - | 9 | 23 Jun 2025 | |
| Pixel 7 | Android 13 | 1 | 19 Feb 2026 | ||
| Pixel 7 Pro | Android 16 | 1 | 9 Mar 2026 | ||
| Pixel 8 | Android 16 | - | 4 | 3 Jun 2026 | |
| Pixel 8a | Android 15 | - | 1 | 5 Oct 2025 | |
| Pixel 9 Pro XL | Android 16 | 21 | 29 Mar 2026 | ||
| Pixel 9 Pro XL | Android 17 | 2 | 26 Oct 2026 | ||
| Pixel 9a | Android 15 | - | 1 | 15 Jun 2025 | |
| Pixel 9a | Android 16 | 6 | 2 Jun 2026 | ||
| Pixel 9a | Android 17 | - | 1 | 16 Jul 2026 | |
| Nothing | A015 | Android 15 | - | 2 | 14 May 2025 |
| Nothing | A063 | Android 15 | 1 | 2 Nov 2026 | |
| NUU | S6707X | Android 14 | 1 | 12 Jan 2026 | |
| Unihertz | Titan 2 | Android 15 | - | 2 | 5 Jan 2026 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| Tethering Entitlement | en-us | 33 |
| Tethering Entitlement | nl-NL | 27 |
| Tethering Entitlement | en | 21 |
| Tethering Entitlement | en-gb | 12 |
| Tethering Entitlement | en-GB | 4 |
| Tethering Entitlement | 3 | |
| Tethering Entitlement | nl-nl | 3 |
| Tethering Entitlement | sv-SE | 3 |
| Tethering Entitlement | en-US | 1 |
| Tethering Entitlement | en-au | 1 |
| Tethering Entitlement | en-ca-u-fw-mon-mu-celsius | 1 |
| Tethering Entitlement | en-de | 1 |
| Tethering Entitlement | en-us-u-fw-mon-ms-ussystem-mu-fahrenhe | 1 |
| Tethering Entitlement | sv-se | 1 |