{"package_name":"com.google.android.retaildemo","label":"Retail Demo","device_count":13,"observation_count":44,"user_facing_count":0,"first_seen":"2025-05-04T16:17:28Z","last_seen":"2026-11-01T22:26:21Z","guidance":{"summary":"Labelled \"Retail Demo\" on most builds, this is a Google-signed system app with no launcher icon. In our sample it appears on Google Pixel devices and on Googlebook laptops from ASUS, Dell and HP, all signed by a single Google certificate, and it is usually reported as an updated system app, so a newer build is installed over the one in the system image.\n\nIt is the Google-built component for store demonstration units. Android's platform retail demo mode, documented by the Android Open Source Project, uses a demo user and a custom launcher that loops a promotional video, and resets the session after idle time. The permissions this package declares include PROVISION_DEMO_DEVICE and several retaildemo-specific permissions, which fits that role. The exact behaviour of Google's package, as opposed to the AOSP reference RetailDemo app, is not publicly documented and could not be sourced here.\n\nVersion note: AOSP says system-level retail demo support arrived in Android 7.1.1 and was reworked in Android 8.1 to use demo-type users, and the same page also carries a notice that retail demo mode is no longer supported from 8.1. This package nevertheless appears in our sample on Android 15 through 17, so Google evidently still ships it; whether its role has changed on newer releases could not be sourced.\n\nFor Android Enterprise, EMM and kiosk use it has no enrolment or management role. AOSP says that to leave retail mode the device must not be enrolled in device management and must be factory reset, so a unit that arrives in a store demo should be reset before provisioning. No safe_to_disable rating is given because its dependencies are undocumented; test on the target model before disabling it.","sources":[{"title":"Retail mode - Android Open Source Project","url":"https://source.android.com/docs/core/display/retail-mode"},{"title":"Package provenance for com.google.android.retaildemo - Android System App Database","url":"https://sysapps.bayton.org/api/packages/com.google.android.retaildemo"}],"last_verified":"2026-10-26T00:00:00Z"},"labels":[{"label":"com.google.android.retaildemo","locale":"nl-NL","count":27},{"label":"com.google.android.retaildemo","locale":"en-us","count":24},{"label":"Retail Demo","locale":"en","count":18},{"label":"com.google.android.retaildemo","locale":"en-gb","count":8},{"label":"com.google.android.retaildemo","locale":"en","count":7},{"label":"Retail Demo","locale":"en-gb","count":6},{"label":"Retail Demo","locale":"en-GB","count":4},{"label":"com.google.android.retaildemo","locale":"nl-nl","count":3},{"label":"Retail Demo","locale":"","count":1},{"label":"com.google.android.retaildemo","locale":"en-ca-u-fw-mon-mu-celsius","count":1},{"label":"com.google.android.retaildemo","locale":"en-us-u-fw-mon-ms-ussystem-mu-fahrenhe","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":9194,"make":"ASUS","model":"ASUS Googlebook 14","os_api":"37","observation_count":1,"user_facing_count":0,"last_seen":"2026-10-12T17:29:23Z","provenance":{"classification":"google","sha256":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"device_id":9405,"make":"Dell","model":"XPS Googlebook","os_api":"37","observation_count":2,"user_facing_count":0,"last_seen":"2026-11-01T22:26:21Z","provenance":{"classification":"google","sha256":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}},{"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"},{"device_id":8826,"make":"HP","model":"HP Googlebook 14","os_api":"37","observation_count":2,"user_facing_count":0,"last_seen":"2026-10-10T11:49:52Z","provenance":{"classification":"google","sha256":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80"}}],"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, and that single certificate is consistent across all 10 device profiles. This certificate spans 4 device makes - the hallmark of a globally distributed Google key.","Its largest observed manifest declares 52 permissions: 7 runtime (user-granted), 22 signature or system-level, 14 install-time and 9 vendor or uncatalogued.","APK size ranges from 2.6 MB to 30.7 MB across the reporting device profiles, so the build differs substantially between them.","Reported as an updated system app in 22 of 56 observations - a newer build was installed over the one in the system image. Multiple observations can come from the same device profile."],"device_profiles":10,"signer_count":1,"signer_consistent":true,"max_permission_count":52,"min_size_bytes":2679451,"max_size_bytes":32220010,"min_target_sdk":34,"max_target_sdk":36,"oldest_version":"4.7.750810681","newest_version":"4.7.660171054","has_third_party_preinstall":false,"genuine_third_party":false,"play_eligible_count":22,"signers":[{"sha256":"6547c73dee150c103980bfdffe55cc9a011d785dd694a5f99afd8205bcaf1f80","classification":"google","observation_count":56,"makes":["ASUS","Dell","Google","HP"],"signs_framework":false,"global_make_count":4,"global_package_count":1,"global_observation_count":56}],"permissions":[{"permission":"android.permission.ACCESS_BLOBS_ACROSS_USERS","description":"Signature or privileged system permission.","official":false},{"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.ACCESS_LOCAL_NETWORK","official":false},{"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.ACCESS_WIFI_STATE","description":"Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices.","official":true},{"permission":"android.permission.CHANGE_COMPONENT_ENABLED_STATE","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.CHANGE_CONFIGURATION","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.CHANGE_OVERLAY_PACKAGES","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.CHANGE_WIFI_STATE","description":"Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks.","official":true},{"permission":"android.permission.DELETE_PACKAGES","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.DOWNLOAD_WITHOUT_NOTIFICATION","official":false},{"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.GET_ACCOUNTS","description":"Allows the app to get the list of accounts known by the phone. This may include any accounts created by applications you have installed.","official":true},{"permission":"android.permission.GET_PACKAGE_SIZE","description":"Allows the app to retrieve its code, data, and cache sizes","official":true},{"permission":"android.permission.INSTALL_PACKAGES","description":"Signature or privileged system permission.","official":false},{"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.MANAGE_ACCOUNTS","description":"Install-time permission, granted automatically.","official":false,"doc":{"title":"Build a device policy controller","url":"https://developer.android.com/work/dpc/build-dpc"}},{"permission":"android.permission.MANAGE_EXTERNAL_STORAGE","description":"Signature-level system permission, for platform-signed apps.","official":false,"doc":{"title":"Manage all files access","url":"https://developer.android.com/training/data-storage/manage-all-files"}},{"permission":"android.permission.MANAGE_USERS","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.MODIFY_DAY_NIGHT_MODE","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.MODIFY_PHONE_STATE","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.OBSERVE_APP_USAGE","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.PACKAGE_USAGE_STATS","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.POST_NOTIFICATIONS","description":"Allows the app to show notifications","official":true},{"permission":"android.permission.PROVISION_DEMO_DEVICE","description":"Signature-level system permission, for platform-signed apps.","official":false},{"permission":"android.permission.QUERY_ALL_PACKAGES","description":"Allows an app to see all installed packages.","official":true},{"permission":"android.permission.QUERY_USERS","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.READ_CALL_LOG","description":"This app can read your call history.","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.REAL_GET_TASKS","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":"android.permission.SCHEDULE_EXACT_ALARM","description":"This app can schedule work to happen at a desired time in the future. This also means that the app can run when you\\u2019re not actively using the device.","official":true},{"permission":"android.permission.SET_TIME_ZONE","description":"Allows the app to change the phone's time zone.","official":true},{"permission":"android.permission.SET_WALLPAPER","description":"Allows the app to set the system wallpaper.","official":true},{"permission":"android.permission.START_ACTIVITIES_FROM_BACKGROUND","description":"Signature or privileged system permission.","official":false,"doc":{"title":"Restrictions on starting foreground services from the background","url":"https://developer.android.com/develop/background-work/services/fgs/restrictions-bg-start"}},{"permission":"android.permission.START_FOREGROUND_SERVICES_FROM_BACKGROUND","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.USE_EXACT_ALARM","description":"This app can schedule actions like alarms and reminders to notify you at a desired time in the future.","official":true},{"permission":"android.permission.USE_LOOPBACK_INTERFACE","official":false},{"permission":"android.permission.WAKE_LOCK","description":"Allows the app to prevent the phone from going to sleep.","official":true},{"permission":"android.permission.WRITE_CALL_LOG","description":"Allows the app to modify your phone's call log, including data about incoming and outgoing calls. Malicious apps may use this to erase or modify your call log.","official":true},{"permission":"android.permission.WRITE_SECURE_SETTINGS","description":"Signature or privileged system permission.","official":false},{"permission":"android.permission.WRITE_SETTINGS","description":"Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration.","official":true},{"permission":"android.permission.WRITE_SYNC_SETTINGS","description":"Allows an app to modify the sync settings for an account. For example, this can be used to enable sync of the People app with an account.","official":true},{"permission":"com.google.android.apps.pixel.factoryota.permission.CONFIG_RESULT","official":false},{"permission":"com.google.android.apps.retaildemo.permission.FACTORY_CONFIG_QUERY","official":false},{"permission":"com.google.android.apps.retaildemo.permission.RETAILDEMO_COMMUNICATION","official":false},{"permission":"com.google.android.gms.permission.AD_ID","official":false},{"permission":"com.google.android.pixelsystemadapter.permission.ACCESS_RETAIL_DEMO_SERVICE","official":false},{"permission":"com.google.android.providers.gsf.permission.READ_GSERVICES","official":false}]},"previews":{"labels":{"kind":"preview","limit":60,"total":11,"truncated":false,"collection_url":"/api/packages/com.google.android.retaildemo/labels"}},"collections":{"labels":"/api/packages/com.google.android.retaildemo/labels","seen_on":"/api/packages/com.google.android.retaildemo/seen_on"}}
