{"package_name":"com.google.android.repairmode","label":"Repair mode","device_count":12,"observation_count":49,"user_facing_count":0,"first_seen":"2025-05-04T16:17:28Z","last_seen":"2026-11-01T22:09:43Z","guidance":{"summary":"Labelled \"Repair mode\", this is a Google package preinstalled on Pixel devices. Its label matches the Pixel feature of the same name, and the LineageOS SELinux policy for Google's zumapro device platform gives this package its own repair_mode_app domain, running as the system user with the platform seinfo. Google's help documents the feature rather than naming this package, so the tie to the feature rests on the label and that policy entry and is an inference. On this site it is recorded on Pixel models from Pixel 6 to Pixel 10 Pro across OS API levels 35 to 37, none of the observations mark it as user-facing, and where this site holds signer data it is signed by a Google-classified key that also signs the Android framework, a platform-level key.\n\nGoogle describes repair mode as something to turn on before sending a Pixel phone or Pixel Tablet for repair: the device restarts into a clean Android OS in a dedicated secure partition with limited functions, so technicians can diagnose it without a factory reset, and any changes made in repair mode are removed on exit. It is entered and left from Settings, System, Repair mode, using the lock screen PIN, pattern or password. Google also states that repair partners decide whether a data reset is still needed, and that a repair replacing storage-affecting parts requires the data to be deleted anyway. This site records the package requesting INSTALL_DYNAMIC_SYSTEM and MANAGE_DYNAMIC_SYSTEM, which the Android framework manifest describes as installing and managing a DynamicSystem image, along with REBOOT and READ_PRIVILEGED_PHONE_STATE. That these permissions are how it starts the clean OS is an inference. This site aggregates permissions across observations rather than per build, so which builds declare each of them cannot be established.\n\nVersion note: Google's help says eligible Pixel phones need the Android 14 December 2023 update or later and Pixel Tablets \"Android June OS or higher\" (the page does not say which year's June release), each with at least 2 GB free. This site's earliest observation is at OS API level 35, so it holds no record of the package on the earliest eligible builds. No later change in the package's role was found in the sources cited here.\n\nFor Android Enterprise, EMM and kiosk use, no management role is identified in the sources cited here, and whether repair mode is offered on fully managed devices or alongside a work profile could not be sourced. For organisations whose policy is to wipe or return devices before third-party repair, note that Google says repair partners can still require a data reset. If this package is the component its label indicates, disabling it would be expected to remove the option to enter repair mode; this was not tested.","sources":[{"title":"Use repair mode on your Pixel phone - Pixel Phone Help","url":"https://support.google.com/pixelphone/answer/14266732?hl=en-GB"},{"title":"seapp_contexts (zumapro system_ext sepolicy) - LineageOS android_device_google_zumapro","url":"https://github.com/LineageOS/android_device_google_zumapro/blob/68ba9dd7b620da033874eff4b660dddcf23066ff/sepolicy/system_ext/private/seapp_contexts"},{"title":"frameworks/base core/res/AndroidManifest.xml - AOSP source","url":"https://android.googlesource.com/platform/frameworks/base/+/refs/heads/main/core/res/AndroidManifest.xml"},{"title":"Package provenance for com.google.android.repairmode - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.google.android.repairmode"}],"last_verified":"2026-10-18T00:00:00Z"},"labels":[{"label":"Repair Mode","locale":"en-us","count":30},{"label":"Reparatiemodus","locale":"nl-NL","count":27},{"label":"Repair mode","locale":"en","count":19},{"label":"Repair mode","locale":"en-gb","count":10},{"label":"Repair mode","locale":"en-GB","count":4},{"label":"Reparatiemodus","locale":"nl-nl","count":3},{"label":"Repair Mode","locale":"","count":2},{"label":"Repair Mode","locale":"en-ca-u-fw-mon-mu-celsius","count":1},{"label":"Repair Mode","locale":"en-us-u-fw-mon-ms-ussystem-mu-fahrenhe","count":1},{"label":"Repair mode","locale":"","count":1},{"label":"Repair mode","locale":"en-de","count":1}],"seen_on_pagination":{"paging_mode":"complete","limit":12,"offset":0,"has_more":false,"next_offset":null,"after":null,"next_after":null,"total":12},"seen_on":[{"device_id":325,"make":"Google","model":"Pixel 10 Pro","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2026-03-26T19:19:08Z","provenance":{"classification":"google","sha256":"86170a4850632ee9e435372bb6139441a1bd207f54e973a00f0ac2cb961c0ca1"}},{"device_id":358,"make":"Google","model":"Pixel 10 Pro","os_api":"37","observation_count":1,"user_facing_count":0,"last_seen":"2026-11-01T22:09:43Z","provenance":{"classification":"google","sha256":"86170a4850632ee9e435372bb6139441a1bd207f54e973a00f0ac2cb961c0ca1"}},{"device_id":203,"make":"Google","model":"Pixel 6","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2025-10-13T09:58:56Z"},{"device_id":9,"make":"Google","model":"Pixel 6 Pro","os_api":"35","observation_count":9,"user_facing_count":0,"last_seen":"2025-06-23T14:09:38Z"},{"device_id":318,"make":"Google","model":"Pixel 7 Pro","os_api":"36","observation_count":1,"user_facing_count":0,"last_seen":"2026-03-09T09:38:09Z","provenance":{"classification":"google","sha256":"373728190019b8269011a8ce96f8e09ba1b733fcd039672410347651a4fcc4db"}},{"device_id":93,"make":"Google","model":"Pixel 8","os_api":"36","observation_count":4,"user_facing_count":0,"last_seen":"2026-06-03T19:01:11Z"},{"device_id":198,"make":"Google","model":"Pixel 8a","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2025-10-05T18:31:57Z"},{"device_id":6,"make":"Google","model":"Pixel 9 Pro XL","os_api":"36","observation_count":21,"user_facing_count":0,"last_seen":"2026-03-29T03:46:05Z","provenance":{"classification":"google","sha256":"4524d7693e02553f7b9f1c0f44b8cbadca64d35ef259254d2798f99e186475dc"}},{"device_id":348,"make":"Google","model":"Pixel 9 Pro XL","os_api":"37","observation_count":2,"user_facing_count":0,"last_seen":"2026-10-26T00:10:46Z","provenance":{"classification":"google","sha256":"4524d7693e02553f7b9f1c0f44b8cbadca64d35ef259254d2798f99e186475dc"}},{"device_id":47,"make":"Google","model":"Pixel 9a","os_api":"35","observation_count":1,"user_facing_count":0,"last_seen":"2025-06-15T16:13:40Z"},{"device_id":108,"make":"Google","model":"Pixel 9a","os_api":"36","observation_count":6,"user_facing_count":0,"last_seen":"2026-06-02T15:57:40Z","provenance":{"classification":"google","sha256":"fcb903f3a908188fcebe67d5de480ea93b6ddd349674be958f7ece6f379e313f"}},{"device_id":3574,"make":"Google","model":"Pixel 9a","os_api":"37","observation_count":1,"user_facing_count":0,"last_seen":"2026-07-16T23:51:20Z"}],"intelligence":{"insights":["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 4 different Google signing keys appear across the fleet. It also signs the Android framework, so it is a platform-level key on its device(s).","Its largest observed manifest declares 9 permissions: 5 signature or system-level, 3 install-time and 1 vendor or uncatalogued. The signature/system share marks it as a privileged component, not an ordinary app.","Never reported as user-facing, so it runs as a background or system component rather than an app the user opens."],"device_profiles":7,"signer_count":4,"signer_consistent":false,"max_permission_count":9,"min_size_bytes":3207418,"max_size_bytes":3395649,"min_target_sdk":36,"max_target_sdk":10000,"oldest_version":"CinnamonBun","newest_version":"17","has_third_party_preinstall":false,"genuine_third_party":false,"play_eligible_count":0,"signers":[{"sha256":"4524d7693e02553f7b9f1c0f44b8cbadca64d35ef259254d2798f99e186475dc","classification":"google","observation_count":22,"makes":["Google"],"signs_framework":true,"global_make_count":1,"global_package_count":106,"global_observation_count":2212},{"sha256":"86170a4850632ee9e435372bb6139441a1bd207f54e973a00f0ac2cb961c0ca1","classification":"google","observation_count":21,"makes":["Google"],"signs_framework":true,"global_make_count":1,"global_package_count":109,"global_observation_count":2177},{"sha256":"373728190019b8269011a8ce96f8e09ba1b733fcd039672410347651a4fcc4db","classification":"google","observation_count":6,"makes":["Google"],"signs_framework":true,"global_make_count":1,"global_package_count":96,"global_observation_count":553},{"sha256":"fcb903f3a908188fcebe67d5de480ea93b6ddd349674be958f7ece6f379e313f","classification":"google","observation_count":1,"makes":["Google"],"signs_framework":true,"global_make_count":1,"global_package_count":92,"global_observation_count":92}],"permissions":[{"permission":"android.permission.FOREGROUND_SERVICE","description":"Allows the app to make use of foreground services.","official":true},{"permission":"android.permission.FOREGROUND_SERVICE_SYSTEM_EXEMPTED","description":"Allows the app to make use of foreground services with the type \"systemExempted\"","official":true},{"permission":"android.permission.INSTALL_DYNAMIC_SYSTEM","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.INTERACT_ACROSS_USERS_FULL","description":"Signature-level system permission, for platform-signed apps.","official":false},{"permission":"android.permission.MANAGE_DYNAMIC_SYSTEM","description":"Signature-level system permission, for platform-signed apps.","official":false},{"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.REBOOT","description":"Signature or privileged system permission.","official":false},{"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":"com.google.android.repairmode.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION","official":false}]},"previews":{"labels":{"kind":"preview","limit":60,"total":11,"truncated":false,"collection_url":"/api/packages/com.google.android.repairmode/labels"}},"collections":{"labels":"/api/packages/com.google.android.repairmode/labels","seen_on":"/api/packages/com.google.android.repairmode/seen_on"}}
