{"package_name":"com.google.android.networkstack.overlay","label":"GoogleNetworkStackResOverlay","device_count":36,"observation_count":37,"user_facing_count":0,"first_seen":"2025-05-15T11:09:01Z","last_seen":"2026-09-06T11:00:05Z","guidance":{"summary":"A small resource package in Google's namespace whose label varies by device: this site records GoogleNetworkStackResOverlay, NetworkStackOverlay, NetworkStackGoogleResOverlay, or the bare package name in place of a label. It has no launcher entry, no observation here is user-facing, none is Play-eligible, its aggregated permission set holds a single entry, POST_NOTIFICATIONS, and builds are recorded between roughly 8.5 KB and 74.1 KB. This site aggregates permissions across observations rather than per build, so which builds request that permission cannot be established.\n\nThe name and labels describe a Runtime Resource Overlay (RRO), which AOSP defines as a package that changes the resource values of a target package at runtime, and which cannot carry code. The labels point at the Google-signed NetworkStack module, which this site records as com.google.android.networkstack with the label \"Network manager\". On 34 of the 36 devices that record this overlay, this site also records that module, which is consistent with it being the overlay's target, though the target is inferred from naming rather than confirmed. On 30 of the 36 devices it is recorded alongside the AOSP-keyed overlay com.android.networkstack.overlay, so on those devices the two overlays coexist rather than one replacing the other.\n\nWhat an overlay of NetworkStack may set is published by the module itself. AOSP describes Network Stack as an updatable Mainline module that ensures Android can adapt to evolving network standards, naming captive portal detection and login code as an example, and its components include the DHCP client and NetworkMonitor, which tests for internet reachability, detects captive portals and validates networks. The module declares an overlayable named NetworkStackConfig, whose entries include the captive portal HTTP and HTTPS probe URLs and their list and fallback forms, the DNS probe timeout, the regular expressions used to judge whether a validation probe succeeded or failed, the default DNS servers, and DHCP client hostname options. Which of these values this package sets on any build could not be sourced.\n\nProvenance: despite the Google namespace, none of the signing certificates recorded for it here is classified as Google's. Among the observations that carry signing data, 10 distinct certificates are recorded, each classified as the device maker's own key, covering Motorola, Lenovo, OPPO, vivo, Xiaomi, NUU, OUKITEL and ANT DAO TECHNOLOGY LIMITED; eight of the ten are recorded as also signing the Android framework, a platform-level key. The package is seen across 20 device make names in this sample, including TCL, OnePlus, realme, Infinix and Blackview.\n\nVersion note. Observations here run from API 30 to API 36, version names run from 12 to 15, and this site's target SDK roll-up reports 31 to 35. Those are independent roll-ups across observations rather than a per-build pairing, so they cannot say which target SDK a given device carries. AOSP documents the module it appears to accompany as updatable through Mainline. Whether the values this overlay sets have changed across Android releases could not be sourced.\n\nFor Android Enterprise, EMM and kiosk use it has no identified enrolment or policy role in the sources cited here and nothing a user interacts with. If it overlays NetworkStack as its name indicates, the captive portal probe URLs are the entries worth knowing about on a managed or filtered network, since they decide which endpoint the device contacts when judging whether a network has internet access. If this package overrides them, disabling it could change the endpoints used for validation; the resulting values would depend on the module defaults and any other enabled overlays, and this package's actual overrides could not be sourced. No hardening benefit from disabling it is established by the cited sources. Where kiosk mode is stopping a captive portal login from appearing, the documented fix is to allow the captive portal login package in the EMM policy rather than to touch this package.","safe_to_disable":"caution","sources":[{"title":"Network Stack - Android Open Source Project","url":"https://source.android.com/docs/core/ota/modular-system/networking"},{"title":"Change the value of an app's resources at runtime (RROs) - Android Open Source Project","url":"https://source.android.com/docs/core/runtime/rros"},{"title":"NetworkStack overlayable.xml (packages/modules/NetworkStack) - Android source","url":"https://android.googlesource.com/platform/packages/modules/NetworkStack/+/refs/heads/main/res/values/overlayable.xml"},{"title":"Kiosk devices and captive portals - Android Enterprise FAQ","url":"https://bayton.org/android/android-enterprise-faq/kiosk-captive-portal/"},{"title":"Package provenance for com.google.android.networkstack.overlay - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.google.android.networkstack.overlay"},{"title":"Package provenance for com.google.android.networkstack - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.google.android.networkstack"},{"title":"Package provenance for com.android.networkstack.overlay - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.android.networkstack.overlay"}],"last_verified":"2026-09-11T00:00:00Z"},"labels":[{"label":"GoogleNetworkStackResOverlay","locale":"en-gb","count":6},{"label":"GoogleNetworkStackResOverlay","locale":"en-us","count":4},{"label":"NetworkStackOverlay","locale":"en-us","count":4},{"label":"com.google.android.networkstack.overlay","locale":"en-us","count":3},{"label":"GoogleNetworkStackResOverlay","locale":"es-es","count":2},{"label":"GoogleNetworkStackResOverlay","locale":"en-US","count":2},{"label":"NetworkStackOverlay","locale":"en-GB","count":2},{"label":"NetworkStackOverlay","locale":"en-gb","count":2},{"label":"com.google.android.networkstack.overlay","locale":"","count":2},{"label":"GoogleNetworkStackResOverlay","locale":"","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"en","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"en-GB","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"en-in","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"en-za-u-fw-mon-mu-celsius","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"es-US","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"es-us","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"vi-VN","count":1},{"label":"GoogleNetworkStackResOverlay","locale":"vi-vn","count":1},{"label":"NetworkStackGoogleResOverlay","locale":"ru-ru","count":1},{"label":"NetworkStackOverlay","locale":"ja-jp","count":1},{"label":"NetworkStackOverlay","locale":"ru-ru","count":1},{"label":"NetworkStackOverlay","locale":"en","count":1},{"label":"NetworkStackOverlay","locale":"it-it","count":1},{"label":"com.google.android.networkstack.overlay","locale":"es-MX","count":1},{"label":"com.google.android.networkstack.overlay","locale":"es-mx","count":1},{"label":"com.google.android.networkstack.overlay","locale":"fr-fr","count":1},{"label":"com.google.android.networkstack.overlay","locale":"de-de","count":1},{"label":"com.google.android.networkstack.overlay","locale":"en","count":1},{"label":"com.google.android.networkstack.overlay","locale":"en-lk","count":1},{"label":"com.google.android.networkstack.overlay","locale":"en-pk","count":1}],"seen_on":[{"device_id":4840,"make":"ANT DAO TECHNOLOGY LIMITED","model":"B3","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2026-08-18T17:19:16Z","provenance":{"classification":"oem","vendor":"ANT DAO TECHNOLOGY LIMITED","sha256":"307ec68c7593e2a4279368a67c009673cd4466c48032dfb246bdadcc4e795d4d"}},{"device_id":163,"make":"Blackview","model":"VARG","os_api":"30","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-01T13:45:53Z"},{"device_id":172,"make":"DOOGEE","model":"S41 Max","os_api":"33","observation_count":2,"user_facing_count":0,"last_seen":"2025-10-03T12:01:00Z"},{"device_id":3435,"make":"fezawio","model":"F11_V_US","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2026-07-14T19:53:47Z"},{"device_id":185,"make":"HOTWAV","model":"TAB R9 Pro","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-18T12:19:10Z"},{"device_id":31,"make":"INFINIX","model":"Infinix X6871","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-05-21T20:01:57Z"},{"device_id":106,"make":"LENOVO","model":"Lenovo TB-7306F","os_api":"30","observation_count":1,"user_facing_count":0,"last_seen":"2025-07-19T15:27:54Z"},{"device_id":28,"make":"LENOVO","model":"Lenovo TB-X6C6NBF","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-05-15T11:09:01Z"},{"device_id":49,"make":"LENOVO","model":"TB132FU","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-06-16T12:51:33Z"},{"device_id":179,"make":"Lenovo","model":"TB328FU","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-15T13:23:53Z"},{"device_id":334,"make":"LENOVO","model":"TB352FU","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2026-09-06T11:00:05Z","provenance":{"classification":"oem","vendor":"LENOVO","sha256":"564ad1edeb43af8005176c0011a6f964db8d83be49715ab8a74bd5c2130c3cdb"}},{"device_id":50,"make":"LENOVO","model":"TB570FU","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2025-06-17T00:02:58Z"},{"device_id":270,"make":"motorola","model":"moto g - 2025","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2025-12-14T02:37:36Z","provenance":{"classification":"oem","vendor":"Motorola","sha256":"0dc1f3c5914ffa0e8493d35f1a20b15f4c93b91faac9e36027cd9de6fd58f2c4"}},{"device_id":273,"make":"motorola","model":"moto g14","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-12-19T12:15:08Z","provenance":{"classification":"oem","vendor":"Motorola","sha256":"7afa30fe77fd0ef474da8ddbf85ff12f69c442076bb83a99184ec0229f155b22"}},{"device_id":272,"make":"motorola","model":"moto g24","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-12-19T11:40:53Z","provenance":{"classification":"oem","vendor":"Motorola","sha256":"f9896a63b98ee6af5b898e039f7d21e8b54aa509ab449691885c67a1647b9aa1"}},{"device_id":290,"make":"NUU","model":"S6707X","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2026-01-12T16:57:57Z","provenance":{"classification":"oem","vendor":"NUU","sha256":"ded15354cfd925782909e01fef43601a77e392d5902f53e75c313d5ec5567219"}},{"device_id":56,"make":"OnePlus","model":"CPH2465","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-06-17T23:27:30Z"},{"device_id":243,"make":"OnePlus","model":"CPH2653","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2025-11-24T13:35:42Z"},{"device_id":174,"make":"OnePlus","model":"HD1903","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-10T10:08:23Z"},{"device_id":184,"make":"OnePlus","model":"KB2005","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-17T11:21:30Z"},{"device_id":96,"make":"OPPO","model":"CPH2591","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2025-07-10T09:11:23Z"},{"device_id":301,"make":"OPPO","model":"CPH2637","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2026-02-02T19:10:20Z","provenance":{"classification":"oem","vendor":"OPPO","sha256":"5dbbcef92be227780793c2444649c4abb0f6839ef11753138f1965c316197a25"}},{"device_id":215,"make":"OUKITEL","model":"C59 Pro","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2025-11-06T07:50:16Z"},{"device_id":363,"make":"OUKITEL","model":"WP28 E","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2026-08-24T06:38:23Z","provenance":{"classification":"oem","vendor":"OUKITEL","sha256":"0ec634d05b04ac103e1b7b13513c4949408f4b2fb669a1297a8ff90b1084e614"}},{"device_id":148,"make":"realme","model":"RMX2001","os_api":"30","observation_count":1,"user_facing_count":0,"last_seen":"2025-08-21T05:31:41Z"},{"device_id":188,"make":"realme","model":"RMX3627","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-20T00:37:49Z"},{"device_id":30,"make":"RHINO","model":"T8","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-05-17T15:41:11Z"},{"device_id":105,"make":"SMT_HK","model":"Helium Pro","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-07-19T02:48:07Z"},{"device_id":182,"make":"TCL","model":"6025D_EEA","os_api":"30","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-17T05:43:21Z"},{"device_id":181,"make":"TCL","model":"6165H","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-16T17:04:55Z"},{"device_id":291,"make":"TCL","model":"9466X","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2026-01-13T19:41:17Z"},{"device_id":156,"make":"TCL","model":"9491G","os_api":"34","observation_count":1,"user_facing_count":0,"last_seen":"2025-08-26T09:08:36Z"},{"device_id":178,"make":"Ulefone","model":"Power Armor X11 Pro","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-15T05:09:46Z"},{"device_id":3853,"make":"vivo","model":"V2550","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2026-07-21T15:30:55Z","provenance":{"classification":"oem","vendor":"vivo","sha256":"bcc35d4d3606f154f0402ab7634e8490c0b244c2675c3c6238986987024f0c02"}},{"device_id":171,"make":"Xiaomi","model":"21091116UI","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-08T16:34:28Z"},{"device_id":279,"make":"Xiaomi","model":"24117RN76O","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2025-12-28T15:32:14Z","provenance":{"classification":"oem","vendor":"Xiaomi","sha256":"c9009d01ebf9f5d0302bc71b2fe9aa9a47a432bba17308a3111b75d7b2149025"}}],"intelligence":{"device_profiles":10,"signer_count":10,"signer_consistent":false,"max_permission_count":1,"min_size_bytes":8542,"max_size_bytes":74078,"min_target_sdk":31,"max_target_sdk":35,"oldest_version":"12","newest_version":"15","has_third_party_preinstall":false,"genuine_third_party":false,"play_eligible_count":0,"signers":[{"sha256":"7afa30fe77fd0ef474da8ddbf85ff12f69c442076bb83a99184ec0229f155b22","classification":"oem","vendor":"Motorola","observation_count":2,"makes":["motorola"],"signs_framework":true,"global_make_count":1,"global_package_count":72,"global_observation_count":144},{"sha256":"0ec634d05b04ac103e1b7b13513c4949408f4b2fb669a1297a8ff90b1084e614","classification":"oem","vendor":"OUKITEL","observation_count":1,"makes":["OUKITEL"],"signs_framework":false,"global_make_count":1,"global_package_count":77,"global_observation_count":77},{"sha256":"307ec68c7593e2a4279368a67c009673cd4466c48032dfb246bdadcc4e795d4d","classification":"oem","vendor":"ANT DAO TECHNOLOGY LIMITED","observation_count":1,"makes":["ANT DAO TECHNOLOGY LIMITED"],"signs_framework":true,"global_make_count":1,"global_package_count":98,"global_observation_count":98},{"sha256":"564ad1edeb43af8005176c0011a6f964db8d83be49715ab8a74bd5c2130c3cdb","classification":"oem","vendor":"LENOVO","observation_count":1,"makes":["LENOVO"],"signs_framework":true,"global_make_count":1,"global_package_count":146,"global_observation_count":146},{"sha256":"5dbbcef92be227780793c2444649c4abb0f6839ef11753138f1965c316197a25","classification":"oem","vendor":"OPPO","observation_count":1,"makes":["OPPO"],"signs_framework":false,"global_make_count":1,"global_package_count":28,"global_observation_count":28},{"sha256":"bcc35d4d3606f154f0402ab7634e8490c0b244c2675c3c6238986987024f0c02","classification":"oem","vendor":"vivo","observation_count":1,"makes":["vivo"],"signs_framework":true,"global_make_count":1,"global_package_count":222,"global_observation_count":222},{"sha256":"c9009d01ebf9f5d0302bc71b2fe9aa9a47a432bba17308a3111b75d7b2149025","classification":"oem","vendor":"Xiaomi","observation_count":1,"makes":["Xiaomi"],"signs_framework":true,"global_make_count":1,"global_package_count":322,"global_observation_count":860},{"sha256":"ded15354cfd925782909e01fef43601a77e392d5902f53e75c313d5ec5567219","classification":"oem","vendor":"NUU","observation_count":1,"makes":["NUU"],"signs_framework":true,"global_make_count":1,"global_package_count":118,"global_observation_count":118},{"sha256":"0dc1f3c5914ffa0e8493d35f1a20b15f4c93b91faac9e36027cd9de6fd58f2c4","classification":"oem","vendor":"Motorola","observation_count":1,"makes":["motorola"],"signs_framework":true,"global_make_count":1,"global_package_count":147,"global_observation_count":147},{"sha256":"f9896a63b98ee6af5b898e039f7d21e8b54aa509ab449691885c67a1647b9aa1","classification":"oem","vendor":"Motorola","observation_count":1,"makes":["motorola"],"signs_framework":true,"global_make_count":1,"global_package_count":95,"global_observation_count":95}],"permissions":[{"permission":"android.permission.POST_NOTIFICATIONS","description":"Allows the app to show notifications","official":true}]}}
