Package
com.sec.facatfunction
FacAtFunction
Guidance
Labelled "FacAtFunction", this is a Samsung-signed system package with no launcher entry, recorded here as not user-facing on every observation and with no Play-eligible observation. It carries a single Samsung OEM certificate that this site also records as signing the Android framework, a platform-level key. Samsung publishes no functional documentation for it, and descriptions circulating on APK catalogues and debloat lists are not a basis for a claim. What can be established is where it sits, and the requested permissions are the evidence. It requests com.sec.android.phone.permission.AT_COMMAND and com.sec.phone.permission.SEC_FACTORY_PHONE, five permissions in Samsung's com.sec.factory namespace (ALLOWFTCLIENTCPOBIND, BT_ID_WRITE, CAMERASERVICE, SIMDETEC and WIFI_ID_RESPONSE), and keystring permissions named for com.sec.android.app.lcdtest, com.sec.android.app.wlantest, com.sec.android.app.bluetoothtest, com.sec.android.app.servicemodeapp, com.sec.android.app.hiddenmenu and com.sec.android.app.phoneutil. Read together with the label, that places it in the same Samsung factory and engineering test family as the packages documented elsewhere on this site, on the AT command side of it. Two cautions belong with that reading: this site records the permissions a package requests, not the ones it declares, so which component defines each identifier is not established here; and requesting permissions named for other components suggests this package depends on them rather than the reverse. Its platform reach is the part a deployment review should notice. The aggregated set of 70 permissions includes MASTER_CLEAR and REBOOT, which the Android platform manifest defines at signature and privileged protection levels and marks as not for use by third-party applications, WRITE_SECURE_SETTINGS, which the same manifest describes as allowing an application to read or write the secure system settings, and alongside them DEVICE_POWER, CALL_PRIVILEGED, MODIFY_PHONE_STATE, READ_PRIVILEGED_PHONE_STATE, RECORD_AUDIO, CAPTURE_AUDIO_HOTWORD, MANAGE_EXTERNAL_STORAGE, INTERACT_ACROSS_USERS, DISABLE_KEYGUARD and identifiers naming Samsung's iris and fingerprint services. This site aggregates permissions across every observation of a package rather than presenting a per-build manifest, so nothing here dates any of them to a particular build. Builds observed range from roughly 14.4 MB to 21.8 MB. Published research gives the AT command surface its context, at the ecosystem level rather than for this package. The USENIX Security 2018 study of AT commands in the Android ecosystem extracted 3,500 AT commands from over 2,000 smartphone firmware images across 11 vendors and tested them against eight devices over the USB interface, characterising functionality that included rewriting device firmware, bypassing Android security mechanisms, exfiltrating sensitive device information, performing screen unlocks and injecting touch events, with no authentication required, and noting that charger mode and SELinux policies partially mitigate the threat. That study describes the interface class, not this package. For this package specifically the concrete evidence is its vulnerability record, and it is recent. Samsung's February 2026 security bulletin lists SVE-2025-2705 (CVE-2026-20981), improper input validation in FacAtFunction prior to SMR Feb-2026 Release 1, allowing a privileged physical attacker to execute arbitrary command with system privilege, affected versions Android 14, 15 and 16, with the note that the patch removes unused code; the NVD record scores it CVSS 3.1 base 6.6 with a physical attack vector. Samsung's May 2026 bulletin lists SVE-2026-0483 (CVE-2026-21019) at High severity, improper input validation in FacAtFunction in Galaxy Watch prior to SMR May-2026 Release 1, allowing a local attacker to execute arbitrary code with system privilege, affected versions Android Watch 14 and 16, with the patch adding proper check logic. Version note. The package does not appear in the Samsung Common Criteria mode application lists checked here for Android 9-era Galaxy S10+ (G975F) firmware or Android 11-era Galaxy S20 FE 5G (G781B) and Galaxy S20 Ultra 5G (G988W) firmware, and this site's earliest observation is on API 33, with observations spanning API 33 to API 37 and a target SDK roll-up of 33 to 36. Taken together that points to a component seen on recent releases rather than a long-standing one, with two caveats: absence from three device application lists is not proof of absence from the platform of that era, and when the package was introduced could not be sourced. The version naming also changes across the sample. The oldest build here by version code carries the version name 14 and the newest 1.1.54, so a dotted scheme appears in later builds where the earlier one used the Android major number; which release changed that, and why, could not be sourced. For Android Enterprise, EMM and kiosk fleets, treat security patch level as the control that actually matters: both findings above were addressed by Samsung maintenance releases, and a fleet held back on firmware carries them. The physical and USB dimension is worth a second look on shared, unattended and kiosk devices, since the first finding is scored with a physical attack vector. In the Android Management API the setting that addresses USB data reach is deviceConnectivityManagement.usbDataAccess: the reference defines DISALLOW_USB_DATA_TRANSFER as prohibiting all types of USB data transfers, supported on devices running Android 12 or above with USB HAL 1.3 or above and falling back to DISALLOW_USB_FILE_TRANSFER where it is not supported, while DISALLOW_USB_FILE_TRANSFER by itself disallows transferring files over USB and leaves other USB data connections such as mouse and keyboard permitted. Whether either setting closes the AT command interface in particular is not something the sources cited here establish, so treat it as reducing USB data reach generally rather than as a fix for this package. Beyond that, keep engineering and test components out of a kiosk allowlist unless they are needed and verify the finished build by trying to escape it. Samsung does not document what depends on this package, so disabling is rated caution rather than treated as a routine debloat target.
- core/res/AndroidManifest.xml (MASTER_CLEAR, REBOOT, WRITE_SECURE_SETTINGS) - Android platform source →
- ATtention Spanned: Comprehensive Vulnerability Analysis of AT Commands Within the Android Ecosystem (USENIX Security 2018) →
- CVE-2026-20981 (improper input validation in FacAtFunction) - CVE Program record →
- CVE-2026-20981 detail (CVSS 3.1 base score) - NIST National Vulnerability Database →
- CVE-2026-21019 (improper input validation in FacAtFunction on Galaxy Watch) - CVE Program record →
- Samsung Mobile security updates, February 2026 (SVE-2025-2705) - Samsung Mobile Security →
- Samsung Mobile security updates, May 2026 (SVE-2026-0483) - Samsung Mobile Security →
- Policies resource (deviceConnectivityManagement.usbDataAccess) - Android Management API →
- Galaxy S10+ LTE (G975F) application list - Samsung Knox CC Mode documentation →
- Galaxy S20 FE 5G (G781B) application list - Samsung Knox CC Mode documentation →
- Galaxy S20 Ultra 5G (G988W) application list - Samsung Knox CC Mode documentation →
- How do I prevent users from escaping kiosk (lock task) mode? - Jason Bayton →
- Package provenance for com.sec.facatfunction - Android System App Database →
Package intelligence
Observed signing, permission, version and size signals from contributing devices - descriptive of that sample, not a verdict. These come from the v2 Package Search sync, which not every device has contributed to yet, so for some packages this detail is partial or not present at all.
- Signed by the device maker's own signing key (Samsung), so it is an OEM preinstall, and that single certificate is consistent across all 19 device profiles. It also signs the Android framework, so it is a platform-level key on its device(s). Inferred from the certificate appearing only on Samsung devices (508 packages, 10196 observations).
- Its largest observed manifest declares 70 permissions: 7 runtime (user-granted), 18 signature or system-level, 13 install-time and 32 vendor or uncatalogued.
- APK size ranges from 13.7 MB to 20.8 MB across the reporting device profiles, so the build differs substantially between them.
- Never reported as user-facing, so it runs as a background or system component rather than an app the user opens.
Declared permissions (70)
Largest permission set observed for this package. Text is Android's own published description where one exists; platform permissions Android does not document show their granted protection level (in grey) instead; vendor or unknown constants show the name only.
| Permission | Description |
|---|---|
android.Manifest.permission.USE_IRIS |
- |
ACCESS_COARSE_LOCATION |
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. |
ACCESS_FINE_LOCATION |
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. |
ACCESS_LOCAL_NETWORK |
- |
ACCESS_WIFI_STATE |
Allows the app to view information about Wi-Fi networking, such as whether Wi-Fi is enabled and name of connected Wi-Fi devices. |
BLUETOOTH_ADVERTISE |
Allows the app to advertise to nearby Bluetooth devices |
BLUETOOTH_CONNECT |
Allows the app to connect to paired Bluetooth devices |
BLUETOOTH_PRIVILEGED |
Signature or privileged system permission. |
BLUETOOTH_SCAN |
Allows the app to discover and pair nearby Bluetooth devices |
CALL_PRIVILEGED |
Signature or privileged system permission. |
CAPTURE_AUDIO_HOTWORD |
Signature or privileged system permission. docs ↗ |
CHANGE_WIFI_STATE |
Allows the app to connect to and disconnect from Wi-Fi access points and to make changes to device configuration for Wi-Fi networks. |
DEVICE_POWER |
Signature-level system permission, for platform-signed apps. |
DISABLE_KEYGUARD |
Allows the app to disable the keylock and any associated password security. For example, the phone disables the keylock when receiving an incoming phone call, then re-enables the keylock when the call is finished. |
DUMP |
Signature or privileged system permission. |
FOREGROUND_SERVICE_SYSTEM_EXEMPTED |
Allows the app to make use of foreground services with the type "systemExempted" |
GET_TASKS |
Allows the app to retrieve information about currently and recently running tasks. This may allow the app to discover information about which applications are used on the device. |
INTERACT_ACROSS_USERS |
Signature or privileged system permission. |
INTERNET |
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. |
MANAGE_EXTERNAL_STORAGE |
Signature-level system permission, for platform-signed apps. docs ↗ |
MANAGE_SOUND_TRIGGER |
Signature or privileged system permission. |
MANAGE_VOICE_KEYPHRASES |
Signature or privileged system permission. |
MASTER_CLEAR |
Signature or privileged system permission. |
MODIFY_AUDIO_SETTINGS |
Allows the app to modify global audio settings such as volume and which speaker is used for output. |
MODIFY_PHONE_STATE |
Signature or privileged system permission. |
NFC |
Allows the app to communicate with Near Field Communication (NFC) tags, cards, and readers. |
POST_NOTIFICATIONS |
Allows the app to show notifications |
READ_PRIVILEGED_PHONE_STATE |
Signature or privileged system permission. docs ↗ |
REAL_GET_TASKS |
Signature or privileged system permission. |
REBOOT |
Signature or privileged system permission. |
RECORD_AUDIO |
This app can record audio using the microphone while the app is in use. |
REORDER_TASKS |
Allows the app to move tasks to the foreground and background. The app may do this without your input. |
RESTART_PACKAGES |
Allows the app to end background processes of other apps. This may cause other apps to stop running. |
SET_WALLPAPER |
Allows the app to set the system wallpaper. |
SYSTEM_ALERT_WINDOW |
This app can appear on top of other apps or other parts of the screen. This may interfere with normal app usage and change the way that other apps appear. |
VIBRATE |
Allows the app to control the vibrator. |
WAKE_LOCK |
Allows the app to prevent the phone from going to sleep. |
WRITE_MEDIA_STORAGE |
Signature or privileged system permission. |
WRITE_SECURE_SETTINGS |
Signature or privileged system permission. |
WRITE_SETTINGS |
Allows the app to modify the system's settings data. Malicious apps may corrupt your system's configuration. |
sec.BARCODE_READ |
- |
com.android.launcher.permission.READ_SETTINGS |
- |
com.samsung.accessory.manager.permission.AUTHENTICATION_CONTROL |
- |
com.samsung.android.camera.iris.permission.MANAGE_IRIS |
- |
com.samsung.android.permission.FINGERPRINT_PRIVILEGED |
- |
com.samsung.android.permisson.PEN_INSERT |
- |
com.samsung.android.service.aircommand.permission.ACCESS_AIRCOMMAND |
- |
com.samsung.difactorycamera.permission.ACCESS |
- |
com.samsung.dizoom.permission.ACCESS |
- |
com.samsung.permission.ESE_FACTORY |
- |
com.samsung.permission.NFC_SYSTEM_PROTECTION |
- |
com.samsung.permission.PALM_MOTION |
- |
com.samsung.permission.UWB_SYSTEM_PROTECTION |
- |
com.sec.android.app.bluetoothtest.permission.KEYSTRING |
- |
com.sec.android.app.hiddenmenu.permission.KEYSTRING |
- |
com.sec.android.app.lcdtest.permission.KEYSTRING |
- |
com.sec.android.app.phoneutil.permission.KEYSTRING |
- |
com.sec.android.app.servicemodeapp.permission.KEYSTRING |
- |
com.sec.android.app.sysscope.permission.RUN_SYSSCOPE |
- |
com.sec.android.app.twdvfs.DVFS_BOOSTER_PERMISSION |
- |
com.sec.android.app.wlantest.permission.USE_WLAN_TEST |
- |
com.sec.android.permission.HANDLE_VOICE_WAKEUP_KEY |
- |
com.sec.android.phone.permission.AT_COMMAND |
- |
com.sec.facatfunction.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION |
- |
com.sec.factory.permission.ALLOWFTCLIENTCPOBIND |
- |
com.sec.factory.permission.BT_ID_WRITE |
- |
com.sec.factory.permission.CAMERASERVICE |
- |
com.sec.factory.permission.SIMDETEC |
- |
com.sec.factory.permission.WIFI_ID_RESPONSE |
- |
com.sec.phone.permission.SEC_FACTORY_PHONE |
- |
Manage on devices
ADB commands for this package (the inverse of each is included so you can undo). Run from an authorised shell or wire the equivalent into your DPC. Verify on a test device first - this database doesn’t yet classify which packages are safe to change. --user 0 targets the current user; drop it (and use a privileged shell) to act device-wide.
/system, so Restore re-adds it (-k keeps app data)Seen on
Each record is a device profile (make + model + Android version). Each unique handset that syncs against a matching profile will increase the observations of a package, thereby increasing confidence that a package is expected to be on a device.
| OEM | Model | Android | Provenance | Observations | Last seen |
|---|---|---|---|---|---|
| Samsung | SM-A135F | Android 14 | OEM Samsung | 3 | 21 Jan 2026 |
| Samsung | SM-A137F | Android 14 | - | 1 | 17 Jan 2026 |
| Samsung | SM-A236B | Android 14 | OEM Samsung | 2 | 10 Apr 2026 |
| Samsung | SM-A266B | Android 15 | - | 2 | 21 Aug 2025 |
| Samsung | SM-A266B | Android 16 | - | 1 | 26 Jan 2026 |
| Samsung | SM-A346B | Android 15 | OEM Samsung | 1 | 27 Jul 2026 |
| Samsung | SM-A515F | Android 13 | - | 1 | 30 Jun 2025 |
| Samsung | SM-A528B | Android 13 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A536B | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-A536B | Android 16 | OEM Samsung | 1 | 29 Jul 2026 |
| Samsung | SM-A556B | Android 15 | - | 1 | 1 Jul 2025 |
| Samsung | SM-A566B | Android 16 | OEM Samsung | 3 | 12 Sep 2026 |
| Samsung | SM-F721B | Android 15 | - | 1 | 9 Jul 2025 |
| Samsung | SM-F766B | Android 16 | - | 1 | 11 Nov 2025 |
| Samsung | SM-F971B | Android 17 | OEM Samsung | 1 | 18 Sep 2026 |
| Samsung | SM-G766B | Android 15 | - | 1 | 17 Oct 2025 |
| Samsung | SM-G766B | Android 16 | OEM Samsung | 1 | 5 Sep 2026 |
| Samsung | SM-G780F | Android 13 | OEM Samsung | 1 | 29 Dec 2025 |
| Samsung | SM-G991B | Android 15 | OEM Samsung | 1 | 19 Apr 2026 |
| Samsung | SM-N986B | Android 13 | - | 9 | 17 Jul 2025 |
| Samsung | SM-S721U | Android 15 | - | 5 | 5 Aug 2025 |
| Samsung | SM-S731B | Android 16 | OEM Samsung | 1 | 11 Aug 2026 |
| Samsung | SM-S906B | Android 15 | - | 1 | 2 Jun 2025 |
| Samsung | SM-S908U | Android 16 | OEM Samsung | 2 | 17 Sep 2026 |
| Samsung | SM-S921B | Android 15 | OEM Samsung | 2 | 22 Jul 2025 |
| Samsung | SM-S921B | Android 16 | OEM Samsung | 1 | 17 Sep 2026 |
| Samsung | SM-S921U | Android 15 | - | 1 | 19 Jun 2025 |
| Samsung | SM-S926B | Android 16 | OEM Samsung | 1 | 14 Apr 2026 |
| Samsung | SM-S928B | Android 16 | OEM Samsung | 2 | 12 Jun 2026 |
| Samsung | SM-S928U1 | Android 15 | - | 1 | 12 Sep 2025 |
| Samsung | SM-S931B | Android 15 | - | 1 | 20 Sep 2025 |
| Samsung | SM-S931B | Android 16 | - | 1 | 23 Nov 2025 |
| Samsung | SM-S936B | Android 16 | - | 1 | 18 Dec 2025 |
| Samsung | SM-S937B | Android 15 | - | 1 | 25 Aug 2025 |
| Samsung | SM-S938B | Android 15 | - | 2 | 25 Aug 2025 |
| Samsung | SM-S942B | Android 17 | OEM Samsung | 1 | 25 May 2026 |
| Samsung | SM-S948U | Android 16 | - | 1 | 9 Sep 2026 |
| Samsung | SM-T636B | Android 15 | - | 2 | 12 Oct 2025 |
| Samsung | SM-T976B | Android 13 | - | 1 | 21 Jul 2025 |
| Samsung | SM-X716B | Android 15 | - | 1 | 27 Jun 2025 |
| Samsung | SM-X910 | Android 14 | - | 1 | 26 Jun 2025 |
| Samsung | SM-X910 | Android 15 | - | 1 | 12 Sep 2025 |
Known labels
Locale-aware display names seen in the wild.
| Label | Locale | Seen |
|---|---|---|
| FacAtFunction | en-gb | 26 |
| FacAtFunction | en | 20 |
| FacAtFunction | en-us | 18 |
| FacAtFunction | it-IT | 5 |
| FacAtFunction | nl-nl | 5 |
| FacAtFunction | de-de | 3 |
| FacAtFunction | en-nl | 3 |
| FacAtFunction | 2 | |
| FacAtFunction | en-GB | 2 |
| FacAtFunction | es-ES | 2 |
| FacAtFunction | es-es | 2 |
| FacAtFunction | it-it | 2 |
| FacAtFunction | en-au | 1 |
| FacAtFunction | ru-ru | 1 |
| FacAtFunction | en-US | 1 |
| FacAtFunction | pl-PL | 1 |
| FacAtFunction | pl-pl | 1 |
| FacAtFunction | fr-fr | 1 |