package icon

Work Profile VPN Switcher

Automatically manage work profile when VPN connects or disconnects
New in version 1.2.1
* Reworked detection of manual work profile enabling for better device compatibility
* Notifications now follow the app language
* Fixed notification status: "VPN active" is shown even if the work profile is already off
* Message when automatic attempts to enable the work profile are exhausted
* Fixed a possible crash in the VPN app picker
* Log is saved immediately, max size limited to 1024 KB
* Better readability of VPN status in the dark theme
App for automatically managing an Android work profile when a VPN connects.

Monitors VPN connections and automatically disables the work profile while a VPN is active, then restores its state after the VPN disconnects. Useful when the work profile contains apps that should not run through the VPN tunnel, or conversely, when work apps need to be isolated from VPN traffic.

Features:
* Automatic disabling of the work profile when VPN connects
* State restoration after VPN disconnects (optional)
* Tracking manual work profile activation while a VPN is active (optional) — choose whether to disable the profile again, or disable the VPN itself instead, keeping the profile enabled (dummy VPN, requires VPN connection permission)
* Allowlist mode — monitor only selected VPN apps
* Denylist mode — monitor all VPN connections except excluded apps (useful for AdGuard)
* Background polling — fallback VPN-detection mechanism
* Russian and English interface

Requirements:
* Android 11 (API 30) or higher
* A configured work profile (via Shelter or similar app)
* MODIFY_QUIET_MODE permission — granted manually via ADB:
adb shell pm grant io.github.snood21.workprofilevpnswitcher android.permission.MODIFY_QUIET_MODE
* For disabling VPN via the dummy VPN — VPN connection permission, requested through a system dialog when enabling that option

Note: the MODIFY_QUIET_MODE permission must be re-granted after a clean reinstall. It persists through regular updates.

If automatic profile disabling on VPN connect does not work, enable Background polling in Advanced settings. Also allow autostart and set battery mode to No restrictions in system settings.

Versions

Although APK downloads are available below to give you the choice, you should be aware that by installing that way you will not receive update notifications and it's a less secure way to download. We recommend that you install the F-Droid client and use that.

Download F-Droid
  • Version 1.2.1 (5) suggested Added on Oct 15, 2026

    This version requires Android 11 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • android.permission.MODIFY_QUIET_MODE
    • show notifications
      Allows the app to show notifications
    • query all packages
      Allows an app to see all installed packages.
    • run at startup
      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.
    • control vibration
      Allows the app to control the vibrator.
    • io.github.snood21.workprofilevpnswitcher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 12 MiB PGP Signature | Build Log

  • New in version 1.2.0
    * New option — disable VPN on manual work profile activation (dummy VPN)
    * Separate setting for tracking work profile activation
    * Fixed a rare system crash on some devices when enabling the work profile
    * More precise notification wording
  • Version 1.2.0 (4) - Added on Oct 03, 2026

    This version requires Android 11 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • android.permission.MODIFY_QUIET_MODE
    • show notifications
      Allows the app to show notifications
    • query all packages
      Allows an app to see all installed packages.
    • run at startup
      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.
    • control vibration
      Allows the app to control the vibrator.
    • io.github.snood21.workprofilevpnswitcher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 12 MiB PGP Signature | Build Log

  • New in version 1.1.1
    * Fixed VPN detection via NetworkCallback — removed the incorrect NET_CAPABILITY_NOT_VPN requirement
    * Disabled automatic backup of application data
    * Fixed enabling the work profile while the screen is locked — the user is notified, and the profile is automatically enabled upon the first unlock
    * Minor fixes and stability improvements
  • Version 1.1.1 (3) - Added on Aug 19, 2026

    This version requires Android 11 or newer.

    It is built and signed by F-Droid, and guaranteed to correspond to this source tarball.

    Permissions
    • view network connections
      Allows the app to view information about network connections such as which networks exist and are connected.
    • run foreground service
      Allows the app to make use of foreground services.
    • run foreground service with the type "specialUse"
      Allows the app to make use of foreground services with the type "specialUse"
    • android.permission.MODIFY_QUIET_MODE
    • show notifications
      Allows the app to show notifications
    • query all packages
      Allows an app to see all installed packages.
    • run at startup
      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.
    • control vibration
      Allows the app to control the vibrator.
    • io.github.snood21.workprofilevpnswitcher.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION

    Download APK 12 MiB PGP Signature | Build Log