Apple проектирует iOS с упором на безопасность, и это напрямую влияет на работу VPN. В отличие от Android, где VPN-приложение получает прямой доступ к сетевому интерфейсу, iOS использует изолированную архитектуру:
Network Extension Framework — это единственный способ создать VPN-приложение на iOS. Само приложение не обрабатывает трафик — оно создаёт расширение (extension), которое работает в отдельном процессе с ограниченной памятью (около 50 МБ). Такая архитектура обеспечивает стабильность: даже если основное приложение закрыто, VPN-расширение продолжает работать.
NEPacketTunnelProvider — ключевой класс, через который ProstoVPN управляет VPN-туннелем. Он получает от системы пакеты трафика, шифрует их и отправляет на сервер. Обратно — получает ответы, расшифровывает и возвращает системе.
Разрешение на VPN-конфигурацию: при первом подключении iOS просит подтвердить создание VPN-профиля через Face ID / Touch ID. Это системный запрос Apple — ни одно приложение не может создать VPN без вашего явного согласия. VPN-профиль хранится в настройках системы, и вы можете удалить его в любой момент через Настройки → VPN.