Skip to end of metadata
Go to start of metadata


As Apple rejected the iOS Yona app because of its dependency on the OpenVPN app, a new approach is needed. This page describes that approach.




The current implementation relies on a third-party app OpenVPN, to handle the VPN connection

The new implementation will instead include the VPN connection to be built into the app.


Since it is a requirement that it uses SSL, and connect to the server as the existing solution, we will build the solution around the library OpenVPN, available to the public, under the AGPL 3 license.


This solution will require the we compile the OpenVPN for iOS, and integrate it into to application. Please note that the source code available, is only the vpn code, not the iOS code. This part must be created for the Yona Application


At first run the application will install the VPN solution, if the users Accepts this. The installation process is handle but the iOS, and not controllable by the Yona App


The VPN will be configured to connect when required. The user will not be able to change this, however the user can remove the vpn again after the installation process. This can’t be restricted buy the Yona – Application.


As we are installing a VPN solution into the iOS system, there is a chance that we break other VPN solutions installed on the iPhone, as well as other Applications can break Yonas VPN. This can only be tested when the application runs. This is not much different than todays solution.


It has been tested that its possible to compile the OpenVPN source code, and use this as starting point for the solution.



Startup Flow

The startupflow will be different than today, and the current introduction pages must be altered. Exactly how the will appear will be determined during developement







  • No labels