package icon

Work Profile VPN Switcher

Automatically manage work profile when VPN connects or disconnects
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
An Android application that automatically manages the work profile when a VPN connection is active.

When VPN connects, the work profile is disabled. When VPN disconnects, the previous state is optionally restored. Useful when the work profile contains apps that should not run through the VPN tunnel, or when you need to isolate work apps from VPN traffic.

Features:
* Automatic disabling of the work profile when VPN connects
* State restoration after VPN disconnects (optional)
* Reverse logic — disable profile if manually enabled while VPN is active (optional)
* Allowlist mode — monitor only selected VPN apps
* Denylist mode — monitor all VPN connections except excluded apps (useful for AdGuard)
* Background polling — fallback for devices where network events are suppressed by the OS
* 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

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

If automatic switching 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.1.1 (3) suggested 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

  • New in version 1.1.0
    * Added dark theme
    * New "Interface" screen: language and theme selection (system/light/dark)
    * New "Logging" screen: writes events to a file for diagnostics
    * Fixed language switching — now applied on all screens right away
    * Minor fixes and stability improvements
  • Version 1.1.0 (2) - Added on Aug 16, 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