NordVPN provides an app for their customers that manages the VPN connection to their servers. The app comes with a kill switch feature that ensures that all network traffic goes through this connection. NordVPN claim on their website (emphasis by me):

The Mobile version of the Kill Switch, used in our Android and iOS apps (as well as the IKEv2 version of the Mac app), disables system-wide internet access if the VPN connection suddenly disconnects - that way it protects all apps, without terminating them. It will also try to reconnect you to the last server you were connected to.

How is this possible? I find it hard to believe that the iOS API allows access to such an important system-wide function to an app. Can anyone explain how NordVPN implemented this?

2 Answers 2


Kill switches on iOS only work with the IKEv2 protocol.

IKEv2 provides resilience to the VPN connection. When the VPN client moves from one wireless hotspot to other, it automatically disconnects all internet activities when a VPN connection is lost and re-establishes the connection upon successful connectivity.

Mobile users specifically can benefit from such a protocol. However, it is not supported on many platforms as it is fairly new to VPN services.

Apple has a very strict process for getting the entitlements to allow an app to control system wide network access. You need to contact them and answer all kinds of questions before you get the entitlements.

  • That's interesting because I have been using the NordVPN app without IKEv2 protocol and had a most excellent kill switch, and now that an upgrade to Catalina has forced me to switch to the Apple store app, with IKEv2 on by default (spent 2 hours with rep trying to avoid that, but old app couldn't be made to work), well there is NO kill switch! (which is why I ended up on this page).
    – PatrickT
    Jun 5, 2020 at 10:37

Most likely they force to enable "Connect on demand" feature available on iOS. It will route the traffic only through VPN and in case the connection is lost, user will simply be unable to get online.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .