{"package_name":"com.android.cellbroadcastservice","label":"Cell Broadcast Service","device_count":11,"observation_count":54,"user_facing_count":0,"first_seen":"2025-05-04T23:37:42Z","last_seen":"2026-10-21T22:04:52Z","guidance":{"summary":"The AOSP-named build of CellBroadcastService, one half of Android's CellBroadcast module. AOSP documents the service as handling cell broadcast SMS decoding, geofencing for Wireless Emergency Alerts (WEA) 3.0, message duplication checks and broadcasting messages to apps. In the documented message flow the radio layer passes a CDMA or GSM cell broadcast to the framework, which hands it to this service, and the service then forwards it to the default CellBroadcastReceiver app, which displays the alert. The module's AOSP manifest declares this package name, labels it \"Cell Broadcast Service\", marks the application persistent and direct-boot aware, runs it in the network stack process, and declares the FULL_ACCESS_CELL_BROADCAST_HISTORY signature permission and a CellBroadcastProvider for alert history. Google's builds use com.google.android.cellbroadcastservice, documented separately on this site; the LineageOS and GrapheneOS package-name mappings cited here pair the two names.\n\nOn this site it is recorded on 11 devices from 11 makes (including Google, Samsung, Zebra Technologies, Elo Touch Solutions, Lenovo and TCL) across OS API levels 30 to 36, and none of the observations mark it as user-facing. Where this site holds signer data, which is 5 of those 11 makes, the Samsung build is signed by a Samsung OEM key that also signs the Android framework, a platform-level key; the TCL build by a TCL OEM key; the Google build by a Google-classified key; and the HUAWEI and OnePlus builds by a key this site classifies as third-party. AOSP separately states that the CellBroadcast module is signed with a Google signature instead of a platform signature; why the Samsung build observed here differs cannot be established from this data. This site records it requesting location (including background location), SMS receive and broadcast, phone state and cell broadcast permissions; this site aggregates permissions across observations rather than per build, so which builds declare each of them cannot be established.\n\nVersion note: AOSP documents that the CellBroadcastService and CellBroadcastReceiver are packaged in a single APEX (com.android.cellbroadcast) for devices running Android 11 or higher, and that the module migrated existing framework classes into packages/modules/CellBroadcastService. The earliest OS API level recorded for this package on this site is 30 (Android 11), which matches that boundary.\n\nFor Android Enterprise, EMM and kiosk use, no enrolment or management role is identified in the sources cited here, but on AOSP's documented flow it sits between the radio and the alert display, so disabling it would be expected to stop cell broadcast emergency alerts reaching the receiver app. AOSP's documented flow starts at the radio interface layer, so on a device with no cellular radio it would have no cell broadcasts to process. Treat removal with caution. AOSP documents an Emergency alert settings page that users reach from the Settings app; changing alert settings there is a narrower step than disabling this service.","safe_to_disable":"caution","sources":[{"title":"CellBroadcast - Android Open Source Project","url":"https://source.android.com/docs/core/ota/modular-system/cellbroadcast"},{"title":"CellBroadcastService AndroidManifest.xml (packages/modules/CellBroadcastService) - AOSP source","url":"https://android.googlesource.com/platform/packages/modules/CellBroadcastService/+/refs/heads/main/AndroidManifest.xml"},{"title":"LineageOS scripts dev/rro/target_package.py (Google to AOSP package names)","url":"https://github.com/LineageOS/scripts/blob/9e37043ee5d59ecb00a44e9c14e4756a1d8fae6f/dev/rro/target_package.py"},{"title":"GrapheneOS arsclib Constants.java PACKAGE_NAME_MAP","url":"https://github.com/GrapheneOS/platform_tools_arsclib/blob/e81e4e7a8e2af31804ad1f4fd100da01a2db9edf/java/org/grapheneos/arsclib/Constants.java"},{"title":"Package provenance for com.android.cellbroadcastservice - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.android.cellbroadcastservice"}],"last_verified":"2026-10-18T00:00:00Z"},"labels":[{"label":"Cell Broadcast Service","locale":"en-us","count":15},{"label":"Cell Broadcast Service","locale":"en-gb","count":10},{"label":"Cell Broadcast Service","locale":"en-be","count":5},{"label":"Cell Broadcast Service","locale":"en","count":3},{"label":"Cell Broadcast Service","locale":"en-au","count":3},{"label":"Cell Broadcast Service","locale":"en-jm","count":3},{"label":"Cell Broadcast Service","locale":"en-sg","count":3},{"label":"Cell Broadcast Service","locale":"","count":2},{"label":"Cell Broadcast Service","locale":"en-ng","count":2},{"label":"Cell Broadcast Service","locale":"en-za","count":2},{"label":"Cell Broadcast Service","locale":"es-us","count":2},{"label":"Cell Broadcast Service","locale":"en-ie","count":1},{"label":"Cell Broadcast Service","locale":"en-nz","count":1},{"label":"Cell Broadcast Service","locale":"en-ph","count":1},{"label":"Cell Broadcast Service","locale":"en-tt","count":1},{"label":"Cell Broadcast Service","locale":"es-US","count":1},{"label":"Cell Broadcast Service","locale":"my-MM","count":1},{"label":"Cell Broadcast Service","locale":"my-mm","count":1},{"label":"Cell Broadcast Service","locale":"ru-ru","count":1},{"label":"Cell Broadcast Service","locale":"th-th","count":1}],"seen_on_pagination":{"paging_mode":"complete","limit":11,"offset":0,"has_more":false,"next_offset":null,"after":null,"next_after":null,"total":11},"seen_on":[{"device_id":77,"make":"Elo Touch Solutions","model":"15in-I-Series-5","os_api":"34","observation_count":12,"user_facing_count":0,"last_seen":"2025-11-22T19:12:35Z"},{"device_id":1039,"make":"Google","model":"Pixel 10","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2026-06-05T10:10:22Z","provenance":{"classification":"google","sha256":"40d70954b5071b63a106df1aeeb4b9e636b0ad17576ad1d38d9e748b9faabd11"}},{"device_id":6672,"make":"HUAWEI","model":"HRY-LX1T","os_api":"30","observation_count":1,"user_facing_count":0,"last_seen":"2026-09-04T05:58:22Z","provenance":{"classification":"third-party","sha256":"e1dbadce60dc080d15b58a014b0dcf9400e24de23fa00b287a5a982bfebda2ee"}},{"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":7,"make":"OnePlus","model":"OnePlus8Pro","os_api":"30","observation_count":32,"user_facing_count":0,"last_seen":"2026-10-21T22:04:52Z","provenance":{"classification":"third-party","sha256":"e1dbadce60dc080d15b58a014b0dcf9400e24de23fa00b287a5a982bfebda2ee"}},{"device_id":244,"make":"realme","model":"RMX3690","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-11-25T05:28:07Z"},{"device_id":330,"make":"revoview","model":"S6518","os_api":"30","observation_count":1,"user_facing_count":0,"last_seen":"2026-03-30T15:33:07Z"},{"device_id":241,"make":"samsung","model":"SM-G973U","os_api":"31","observation_count":2,"user_facing_count":0,"last_seen":"2026-08-31T01:25:23Z","provenance":{"classification":"oem","vendor":"Samsung","sha256":"34df0e7a9f1cf1892e45c056b4973cd81ccf148a4050d11aea4ac5a65f900a42"}},{"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":320,"make":"TCL","model":"9566X","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2026-03-13T22:57:09Z","provenance":{"classification":"oem","vendor":"TCL","sha256":"d69cc8d271f01a3a4bfbb03bbdc5b179aa493cbe8a7f1d07417446f1edd179bd"}},{"device_id":168,"make":"Zebra Technologies","model":"TC21","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-06T16:43:55Z"}],"intelligence":{"insights":["Signed by a third-party certificate (carrier or partner), not stock AOSP or Google, but 4 different certificates appear across the fleet, so OEMs ship their own builds of it.","Its largest observed manifest declares 12 permissions: 7 runtime (user-granted), 3 signature or system-level, 1 install-time and 1 vendor or uncatalogued.","Never reported as user-facing, so it runs as a background or system component rather than an app the user opens."],"device_profiles":5,"signer_count":4,"signer_consistent":false,"max_permission_count":12,"min_size_bytes":95251,"max_size_bytes":205713,"min_target_sdk":30,"max_target_sdk":36,"oldest_version":"12","newest_version":"R-initial","has_third_party_preinstall":true,"genuine_third_party":false,"play_eligible_count":0,"signers":[{"sha256":"e1dbadce60dc080d15b58a014b0dcf9400e24de23fa00b287a5a982bfebda2ee","classification":"third-party","observation_count":2,"makes":["HUAWEI","OnePlus"],"signs_framework":false,"global_make_count":2,"global_package_count":6,"global_observation_count":12},{"sha256":"34df0e7a9f1cf1892e45c056b4973cd81ccf148a4050d11aea4ac5a65f900a42","classification":"oem","vendor":"Samsung","observation_count":1,"makes":["samsung"],"signs_framework":true,"global_make_count":1,"global_package_count":580,"global_observation_count":11729},{"sha256":"40d70954b5071b63a106df1aeeb4b9e636b0ad17576ad1d38d9e748b9faabd11","classification":"google","observation_count":1,"makes":["Google"],"signs_framework":false,"global_make_count":1,"global_package_count":5,"global_observation_count":5},{"sha256":"d69cc8d271f01a3a4bfbb03bbdc5b179aa493cbe8a7f1d07417446f1edd179bd","classification":"oem","vendor":"TCL","observation_count":1,"makes":["TCL"],"signs_framework":false,"global_make_count":1,"global_package_count":5,"global_observation_count":5}],"permissions":[{"permission":"android.permission.ACCESS_BACKGROUND_LOCATION","description":"This app can access location at any time, even while the app is not in use.","official":true},{"permission":"android.permission.ACCESS_COARSE_LOCATION","description":"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.","official":true},{"permission":"android.permission.ACCESS_FINE_LOCATION","description":"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.","official":true},{"permission":"android.permission.BROADCAST_SMS","description":"Signature-level system permission, for platform-signed apps.","official":false},{"permission":"android.permission.MODIFY_PHONE_STATE","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.READ_CELL_BROADCASTS","description":"Allows the app to read cell broadcast messages received by your device. Cell broadcast alerts are delivered in some locations to warn you of emergency situations. Malicious apps may interfere with the performance or operation of your device when an emergency cell broadcast is received.","official":true},{"permission":"android.permission.READ_PHONE_NUMBERS","description":"Allows the app to access the phone numbers of the device.","official":true},{"permission":"android.permission.READ_PHONE_STATE","description":"Allows the app to access the phone features of the device. This permission allows the app to determine the phone number and device IDs, whether a call is active, and the remote number connected by a call.","official":true},{"permission":"android.permission.READ_PRIVILEGED_PHONE_STATE","description":"Signature or privileged system permission.","official":false,"doc":{"title":"User Data Identifiers","url":"https://developer.android.com/identity/user-data-ids"}},{"permission":"android.permission.RECEIVE_SMS","description":"Allows the app to receive and process SMS messages. This means the app could monitor or delete messages sent to your device without showing them to you.","official":true},{"permission":"android.permission.WAKE_LOCK","description":"Allows the app to prevent the phone from going to sleep.","official":true},{"permission":"com.android.cellbroadcastservice.FULL_ACCESS_CELL_BROADCAST_HISTORY","official":false}]},"previews":{"labels":{"kind":"preview","limit":60,"total":20,"truncated":false,"collection_url":"/api/packages/com.android.cellbroadcastservice/labels"}},"collections":{"labels":"/api/packages/com.android.cellbroadcastservice/labels","seen_on":"/api/packages/com.android.cellbroadcastservice/seen_on"}}
