{"package_name":"com.android.remoteprovisioner","label":"RemoteProvisioner","device_count":13,"observation_count":15,"user_facing_count":0,"first_seen":"2025-06-22T21:31:08Z","last_seen":"2026-03-08T07:45:49Z","guidance":{"summary":"The RemoteProvisioner app from the Android Open Source Project, the pre-Android 14 app half of Remote Key Provisioning (RKP). AOSP describes the older design in these words: \"Before Android 14, RKP was separated into an app, RemoteProvisioner, and Keystore 2.0. The RemoteProvisioner app was responsible for contacting the RKP backend, and Keystore 2.0 was responsible for both storing the keys and communicating with HALs.\" The Android 13 release manifest for the project declares the package name com.android.remoteprovisioner, a boot receiver, a PeriodicProvisioner job service and an exported GenerateRkpKeyService, and requests the internet, network state and boot completed permissions. It declares no launcher activity in that manifest.\n\nVersion note: this package name belongs to Android 12 and 13. AOSP states that RKP \"has been a part of AOSP since Android 12\" and that \"Android 14 introduces a remote provisioning updatable module\", with the RKP Mainline APEX, com.android.rkpd, containing \"the Remote Key Provisioning Daemon (RKPD) application and a remote provisioning system server component\". The AOSP project's release branches run from android12-release to android13-qpr3-release and no later release branch is listed. That lines up with this site's sample, where the package is recorded on API levels 31 to 33 and not above. Where this site holds signer data, which is 4 of the 8 makes in the sample (Google, Motorola, SMT_HK and Xiaomi), it is signed by a Google key on the Google device and by that maker's own OEM key on the other three. On Android 14 and later the equivalent component is the RKPD app, documented separately on this site as com.android.rkpdapp and com.google.android.rkpdapp.\n\nFor Android Enterprise, EMM and kiosk fleets this is security plumbing rather than a feature, and no management role is identified in the sources cited here. Whether a particular Android 12 or 13 device depends on remotely provisioned attestation keys rather than factory-provisioned ones could not be established from these sources. On a device that does, disabling the app AOSP names as responsible for contacting the RKP backend would be expected to interfere with obtaining attestation certificates, and no benefit of disabling it was found, so it is best left in place.","safe_to_disable":"caution","sources":[{"title":"Remote Key Provisioning - Android Open Source Project","url":"https://source.android.com/docs/core/ota/modular-system/remote-key-provisioning"},{"title":"RemoteProvisioner AndroidManifest.xml (android13-release) - Android Open Source Project","url":"https://android.googlesource.com/platform/packages/apps/RemoteProvisioner/+/refs/heads/android13-release/AndroidManifest.xml"},{"title":"platform/packages/apps/RemoteProvisioner branches and tags - Git at Google","url":"https://android.googlesource.com/platform/packages/apps/RemoteProvisioner/+refs"},{"title":"Package provenance for com.android.remoteprovisioner - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.android.remoteprovisioner"}],"last_verified":"2026-10-09T00:00:00Z"},"labels":[{"label":"RemoteProvisioner","locale":"en","count":5},{"label":"RemoteProvisioner","locale":"en-us","count":4},{"label":"RemoteProvisioner","locale":"es-es","count":3},{"label":"RemoteProvisioner","locale":"en-GB","count":2},{"label":"RemoteProvisioner","locale":"en-gb","count":2},{"label":"RemoteProvisioner","locale":"de-de","count":1},{"label":"RemoteProvisioner","locale":"en-au","count":1},{"label":"RemoteProvisioner","locale":"en-in","count":1},{"label":"RemoteProvisioner","locale":"es-US","count":1},{"label":"RemoteProvisioner","locale":"es-us","count":1},{"label":"RemoteProvisioner","locale":"ru-ru","count":1}],"seen_on_pagination":{"paging_mode":"complete","limit":13,"offset":0,"has_more":false,"next_offset":null,"after":null,"next_after":null,"total":13},"seen_on":[{"device_id":102,"make":"Crosscall","model":"Stellar-X5","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-07-16T19:02:28Z"},{"device_id":169,"make":"CUBOT","model":"P80","os_api":"33","observation_count":2,"user_facing_count":0,"last_seen":"2025-09-20T16:44:03Z"},{"device_id":170,"make":"Dahua","model":"MC480-U","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-09-08T15:06:55Z"},{"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":111,"make":"Google","model":"brya","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-07-22T18:01:39Z"},{"device_id":63,"make":"Google","model":"Pixel 6","os_api":"31","observation_count":1,"user_facing_count":0,"last_seen":"2025-06-22T21:31:08Z"},{"device_id":313,"make":"Google","model":"Pixel 7","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2026-02-19T22:30:10Z","provenance":{"classification":"google","sha256":"563cdaa5b98bdf96f10acb6062a67d494743fede5aec4886eb78c3beed086f2f"}},{"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":"f58d2e8fd7d01e91462b8efcd6d496a1697b2f89cdcd119b01a49f01d342d814"}},{"device_id":309,"make":"SMT_HK","model":"OV2219","os_api":"32","observation_count":1,"user_facing_count":0,"last_seen":"2026-02-16T19:36:36Z","provenance":{"classification":"oem","vendor":"SMT_HK","sha256":"ecfe87c1e4d2f5e8f0dbdcebbb87c7df16a06bbba4fc05f6899c079383ae46d9"}},{"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":307,"make":"Xiaomi","model":"220333QNY","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2026-02-16T09:16:12Z","provenance":{"classification":"oem","vendor":"Xiaomi","sha256":"d45f076fe23a1a5b7f486e3ff41547a2023dbfe1fe73353b1e48ebdfed72cc6f"}},{"device_id":195,"make":"Xiaomi","model":"M2012K11AG","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2025-10-01T12:09:57Z"},{"device_id":317,"make":"Xiaomi","model":"M2101K6G","os_api":"33","observation_count":1,"user_facing_count":0,"last_seen":"2026-03-08T07:45:49Z","provenance":{"classification":"oem","vendor":"Xiaomi","sha256":"d45f076fe23a1a5b7f486e3ff41547a2023dbfe1fe73353b1e48ebdfed72cc6f"}}],"intelligence":{"insights":["Re-signed by each device maker with its own platform key - 4 different certificates appear across 3 device makers in our sample. That is the signature of a stock AOSP/system package every OEM builds and signs itself, not a single maker's or a third party's preinstall.","Its largest observed manifest declares 6 permissions: 5 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":6,"signer_count":4,"signer_consistent":false,"max_permission_count":6,"min_size_bytes":106910,"max_size_bytes":612319,"min_target_sdk":32,"max_target_sdk":33,"oldest_version":"12","newest_version":"13","has_third_party_preinstall":false,"genuine_third_party":false,"play_eligible_count":0,"signers":[{"sha256":"d45f076fe23a1a5b7f486e3ff41547a2023dbfe1fe73353b1e48ebdfed72cc6f","classification":"oem","vendor":"Xiaomi","observation_count":2,"makes":["Xiaomi"],"signs_framework":false,"global_make_count":1,"global_package_count":68,"global_observation_count":196},{"sha256":"f58d2e8fd7d01e91462b8efcd6d496a1697b2f89cdcd119b01a49f01d342d814","classification":"oem","vendor":"Motorola","observation_count":2,"makes":["motorola"],"signs_framework":false,"global_make_count":1,"global_package_count":58,"global_observation_count":116},{"sha256":"563cdaa5b98bdf96f10acb6062a67d494743fede5aec4886eb78c3beed086f2f","classification":"google","observation_count":1,"makes":["Google"],"signs_framework":false,"global_make_count":1,"global_package_count":89,"global_observation_count":89},{"sha256":"ecfe87c1e4d2f5e8f0dbdcebbb87c7df16a06bbba4fc05f6899c079383ae46d9","classification":"oem","vendor":"SMT_HK","observation_count":1,"makes":["SMT_HK"],"signs_framework":false,"global_make_count":1,"global_package_count":46,"global_observation_count":46}],"permissions":[{"permission":"android.permission.ACCESS_NETWORK_STATE","description":"Allows the app to view information about network connections such as which networks exist and are connected.","official":true},{"permission":"android.permission.FOREGROUND_SERVICE","description":"Allows the app to make use of foreground services.","official":true},{"permission":"android.permission.INTERNET","description":"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.","official":true},{"permission":"android.permission.RECEIVE_BOOT_COMPLETED","description":"Allows the app to have itself started as soon as the system has finished booting. This can make it take longer to start the phone and allow the app to slow down the overall phone by always running.","official":true},{"permission":"android.permission.WAKE_LOCK","description":"Allows the app to prevent the phone from going to sleep.","official":true},{"permission":"com.android.remoteprovisioner.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION","official":false}]},"previews":{"labels":{"kind":"preview","limit":60,"total":11,"truncated":false,"collection_url":"/api/packages/com.android.remoteprovisioner/labels"}},"collections":{"labels":"/api/packages/com.android.remoteprovisioner/labels","seen_on":"/api/packages/com.android.remoteprovisioner/seen_on"}}
