Marat Khusainov
Разработка

Меня уже 6 раз отклоняли в App Store. Вот что я понял про категорию VPN

11 мин чтения

За три года я опубликовал в App Store больше шести VPN-приложений, клиентских и собственных. И за это же время меня шесть раз отклоняли. Иногда на пятой попытке. Если вы делаете VPN под iOS, вы рано или поздно встретите тот же забор. Это текст про то, какие реджекты я получал, что помогает пройти, и что я делаю до отправки, чтобы не зависать на две недели в переписке с Apple.

Почему VPN это особая категория

Apple официально не запрещает VPN-приложения. В сторе спокойно живут NordVPN, ExpressVPN, ProtonVPN, десятки региональных. Но любая попытка опубликовать там что-то новое это лотерея.

Ревью смотрит на VPN-приложение под несколькими углами. Это реальный сервис или обёртка над чужим. Подаётся с компании или с индивидуального аккаунта. Используется ли NEVPNManager API или какие-то обходные методы. Видно ли, кто стоит за продуктом. Нет ли в маркетинге призывов к обходу блокировок. Не выглядит ли приложение как клон уже существующих.

Чётких правил нет. Один и тот же экран в один день пройдёт, в другой отклонят. Это особенность категории, и с ней приходится работать как со стихией.

Тип аккаунта: organization, а не individual

Этот пункт реже всего звучит в туториалах, но он самый важный. VPN-приложения публикуются только с organization-аккаунта Apple Developer Program. Если у вас individual, при первой подаче вы получите примерно такой реджект:

Guideline 5.4, Legal. Your VPN app was submitted by an Apple Developer Program account registered to an individual, which is not appropriate for the App Store. All VPN apps must be submitted from an Apple Developer Program account registered to a company or organization.

Правило живёт с 2019 года и за прошедшее время стало строже. Апелляцией это не решается. Либо вы конвертируете свой individual-аккаунт в organization (заявка в Apple Developer Support плюс юридические документы), либо регистрируете новый organization-аккаунт через D-U-N-S-номер.

У меня все проекты шли с organization-аккаунтов клиентов, поэтому я ловил этот реджект только на самом первом VPN-приложении. Если стартуете с нуля, закладывайте 2-4 недели на оформление компании ещё до того, как откроете Xcode.

Шесть реджектов: что было

Реджект 1. Guideline 5.4, шаблонный

Подавал клиентский VPN. Получил отказ с формулировкой «приложение не соответствует требованиям к VPN-приложениям в части 5.4». Без конкретики. Так бывает: ревью почувствовал что-то неправильное, но что именно, не уточнил.

Помогло вот что. Дописали в описание чёткое указание компании-оператора с реквизитами. Убрали из скриншотов любые упоминания «доступа к запрещённому контенту». Переименовали тарифы из «basic/premium» в нейтральные. Прошли со второй попытки.

Реджект 2. Guideline 4.3, Design Spam

Подавали M5VPN. Клиентское приложение, тёмная тема, минимализм. Получили отказ за то, что «слишком похоже на существующие в App Store».

Помогло переработать онбординг с уникальными иллюстрациями, дописать в описание то, чем приложение отличается (тёмная тема, протокол VLESS, статистика трафика в реальном времени). Прошли с третьей попытки.

Реджект 3. Guideline 5.4 + 2.1, нужна информация

Подавали MeerGuard iOS. Apple запросила больше данных о том, кто стоит за приложением, чьи серверы используются, какая компания владеет инфраструктурой.

Подтвердили партнёрское юрлицо, описали инфраструктуру: страны размещения серверов, типы шифрования, политику логирования. Опубликовали на сайте privacy policy с реальными контактами. Прошли с четвёртой попытки.

Реджект 4. Guideline 5.4, недостаточно объяснено про данные

Получил такую формулировку:

We noticed that your app does not sufficiently explain how your app or VPN service is using data collected from users.

И тут важный нюанс, который я упустил с первого захода. Apple не считает Privacy Policy и Terms of Service достаточным объяснением. Нужен отдельный экран внутри приложения, до первого подключения к VPN, где явно сказано, какие данные собираются, зачем, и где пользователь даёт явное согласие.

Добавили экран. Прошли с третьей попытки.

Реджект 5. Guideline 5.4, региональные ограничения

Приложение было заточено под российский рынок. Русская локализация, тарифы в рублях, описание сервиса по-русски. Apple предложила убрать приложение из российского App Store или переделать под международную аудиторию. Про регионы подробнее ниже.

Реджект 6. Guideline 2.5.1, непубличный API

Это техническая ошибка. Использовали библиотеку для Xray, которая внутри вызывала методы, считающиеся приватными. Apple это автоматически детектирует и пишет, какие именно методы вы зацепили.

Обновили библиотеку до версии без этих вызовов. Прошли со второй попытки.

Иконка: щит, замок, глобус как вероятный реджект

Этого пункта мало в туториалах, но он реальный. Apple отдельно смотрит на «generic» иконки в перенасыщенных категориях. У VPN-приложений есть три классические иконки, которые повторили тысячи разработчиков:

  • Щит на синем градиенте
  • Замок на чёрном фоне
  • Глобус с обвитой линией

Эти иконки формально подходят под Guideline 4.3(a), Design Spam. Я лично ловил отзыв ревьюера с прямым указанием: «иконка слабо отличает приложение от других в категории VPN». Формулировка шаблонная, но за ней реальная проблема.

Что работает:

  • Своя композиция, а не один символ. У MirNet (WorldYes) иконка с миром в стиле live-обоев, на классический VPN не похожа
  • Цвет не из палитры категории. Синий, чёрный, зелёный, это «все». Жёлтый, фиолетовый, тёплый бежевый ведут себя лучше
  • Своя буква или знак, если приложение про конкретный бренд. Только не слово VPN в самой иконке

Что не работает:

  • Щит как единственный элемент
  • Замок без контекста
  • Глобус с линией
  • Стандартный SF Symbol на градиенте (shield.fill, lock.fill, globe)

Иконка не самый частый реджект, но если ревью на неё обратил внимание, шансы пройти резко падают. Переделать иконку перед релизом дороже, чем перепридумать название.

Название: слово VPN в title

Само слово «VPN» в названии не запрещено. Но Apple подозрительно относится к двум паттернам.

Первый паттерн: Word VPN: Free Fast Secure Unlimited. Любая комбинация из «VPN плюс хвост обещаний» сразу попадает на детальное ревью. Формально это Guideline 4.1c, метаданные не соответствуют функциональности. Реально Apple считает такие названия манипулятивными.

Второй паттерн: «VPN» как первое слово. Я несколько раз видел формулировку «название должно отражать функциональность, а не категорию». Apple хочет, чтобы главное название было брендом, а описание функциональности уходило в подзаголовок.

ПлохоХорошо
VPN Fast SecureMeerGuard. Secure Connection
Free VPN UnlimitedMirNet (subtitle: Secure Network)
Super VPN ProM5. Network Privacy

В Subtitle слово VPN использовать можно. Это поле для уточнения. Но имя приложения должно быть брендом, не категорией.

Дизайн: слишком просто, тоже плохо

Парадокс, который застал меня врасплох на третьем-четвёртом проекте: минималистичный VPN тоже отклоняют. Guideline 4.2, Minimum Functionality.

Если в приложении только экран с кнопкой «Подключиться» и выпадающим списком стран, Apple может посчитать это «webview-обёрткой над VPN-сервисом» или приложением без достаточной функциональности. Особенно если оплата идёт через сайт, а в приложении буквально кнопка и список.

Что считается «достаточной функциональностью»:

  • Статистика трафика в реальном времени (скорость, объём)
  • Speed test внутри приложения
  • История подключений с таймстампами
  • Кастомная маршрутизация (split-tunneling)
  • Виджет с быстрым переключением
  • Биометрия для разблокировки
  • Несколько визуальных тем

Не обязательно делать всё. Но один-два «лишних» экрана сверх кнопки и списка серверов сильно снижают вероятность отказа по 4.2.

И второе. Не делайте универсально-серый минимализм. В 2025-2026 Apple предпочитает приложения с характером. Живая графика, оригинальная типографика, нестандартная палитра. Идентичность приложения должна быть видна с первого экрана, иначе оно выглядит как сотни других.

Что я делаю до отправки

Шесть реджектов научили меня тому, что подготовка к ревью важнее самой разработки. Перед отправкой VPN-приложения я прохожусь по такому списку.

Сначала вычищаю всё, что напоминает обход блокировок. В описании, в скриншотах, в названиях тарифов, в онбординге. Никаких слов «доступ к заблокированным сайтам», «обход цензуры», «свобода интернета». Это самая частая причина реджекта. Заменяю на нейтральные формулировки: «безопасное подключение», «защита трафика», «конфиденциальность данных в публичных Wi-Fi сетях».

Дальше проверяю бизнес-модель. В описании должно быть видно, кто стоит за приложением, какая компания, чьи серверы. Если приложение клиентское, указываю клиента. Если своё, указываю свою компанию. Privacy Policy должна быть не «сгенерировано из шаблона», а реальной, с контактами, с описанием того, какие данные собираются и зачем. Apple это проверяет.

Затем смотрю экран согласия. До первого подключения должен быть отдельный экран с явным согласием на сбор данных. Не Terms of Service, не Privacy Policy. Именно экран в приложении, с большой кнопкой «Принять» и понятным текстом. Этого требует Guideline 5.4.

Скриншоты. Без слова VPN огромным текстом, без карт мира с подписями стран в виде маркетинга, без обещаний «1 GB бесплатно для обхода». Скриншоты должны показывать обычное приложение: главный экран с кнопкой включения, список серверов с флагами, статистика трафика, настройки.

Иконка. Перед отправкой кладу свою иконку рядом со скриншотами топ-30 VPN-приложений в App Store. Если она похожа хотя бы на одну из топ-10, переделываю. Это пара часов работы дизайнера, но сильно снижает риск.

Название. В Title короткое имя продукта. В Subtitle функциональность. Никаких «Free», «Fast», «Secure», «Unlimited» в Title. Эти слова можно использовать в описании, но не в имени.

Описание тарифов. «Premium, доступ ко всем серверам без ограничений по скорости» нормально. «Premium, доступ к запрещённым в вашей стране сайтам» это мгновенный отказ.

Функциональность. Если приложение состоит только из кнопки «Подключиться» и списка серверов, добавляю хотя бы статистику трафика и историю подключений. Это снижает риск отказа по Guideline 4.2.

Регион публикации. Apple в последние два года стала строже в ряде стран. Подробнее ниже отдельным разделом.

Инфраструктура. Если приложение для клиента, упоминание реального оператора VPN-сервиса критично. Apple подозрительно относится к приложениям-обёрткам без чёткого владельца. В описании пишу что-то вроде: «Приложение использует серверы такой-то компании, зарегистрированной в такой-то стране. Подробнее о компании и инфраструктуре по ссылке».

Приватные API. Перед сборкой прогоняю проверку через Xcode. Apple это автоматически детектирует, это лёгкий способ получить отказ на ровном месте.

Что не работает

Бесконечные апелляции. Иногда апелляция помогает, иногда нет. После двух апелляций без результата лучше переделать и резабмитить, чем спорить.

«Я разработчик, это просто инструмент». Apple это не волнует. Они смотрят на конечное приложение и пользователя. Аргументация «но это же просто технология» не работает.

Спор с конкретным ревьюером. Ревьюер не один. На следующем заходе вас может посмотреть другой человек, и его впечатление будет независимым. Не пытайтесь убедить конкретного, переделайте и подайте заново.

Срочные сборки. Если у вас релиз через неделю, не подавайте VPN-приложение. Закладывайте минимум 2-3 недели на ревью с возможными реджектами.

Чеклист перед отправкой VPN в App Store

  • Аккаунт Apple Developer Program это organization, не individual
  • В описании нет слов «обход», «блокировки», «цензура», «запрещённые», «свобода интернета»
  • Privacy Policy реальная, с контактами, не шаблонная
  • Экран явного согласия с описанием сбора данных внутри приложения, до первого подключения
  • В описании указан оператор VPN-сервиса
  • Иконка не похожа на топ-10 в категории VPN (не щит, не замок, не глобус)
  • Title это короткий бренд, не «Free VPN Fast Secure Unlimited»
  • Subtitle про функциональность, можно с VPN
  • Скриншоты без агрессивных маркетинговых надписей
  • Тарифы названы нейтрально (basic, standard, premium), а не «обход блокировок»
  • В приложении есть 2-3 фичи кроме кнопки «Подключиться» и списка серверов
  • Регион публикации выбран осмысленно (см. ниже)
  • Все используемые API публичные (Xcode-проверка пройдена)
  • NEVPNManager используется как основной механизм VPN
  • В App Store Connect категория «Productivity» или «Tools», не «Lifestyle»
  • Возрастной рейтинг указан честно (12+ обычно достаточно)
  • При первом запуске нет агрессивного промо с миссией про свободу интернета

Регионы: что изменилось

Несколько лет назад я писал, что Турция и Грузия проходят легче, чем Россия. С тех пор картина изменилась. Apple ужесточил подход, и в 2024-2025 у крупных сервисов сложности появились в большем количестве стран.

По данным блога iVPN, VPN-приложения сейчас закрыты или ограничены в десяти странах: Беларусь, Ирак, Оман, Туркменистан, КНДР, Китай, Турция, ОАЭ, Россия, Иран.

Это означает, что если ваше приложение целит на эти рынки, App Store его либо отклонит на этапе ревью, либо удалит после публикации. С рядом крупных VPN-сервисов так и произошло в российском App Store в 2024 году.

Что я делаю сейчас. Не подаю VPN в российский App Store с individual-аккаунта. Только organization, и желательно зарегистрированной не в России. Грузия, Казахстан, Армения, Сербия на момент 2026 года остаются относительно лояльными для VPN-приложений. Это не гарантия, но риск ниже. Для США и Европы возможно, но нужен реальный английский маркетинг, профессиональный privacy policy, нейтральное название и отсутствие политического контекста.

Регулярно проверяйте актуальный список ограничений. Apple обновляет политику без предупреждения, и то, что работало полгода назад, может больше не работать.

Что делать после реджекта

Не паниковать. Реджект это не запрет. Это сигнал о конкретной проблеме или, если он шаблонный, просто сигнал «посмотрите ещё раз».

Внимательно прочитать причину. Если шаблонная, фиксить превентивно по всем пунктам выше. Если конкретная, фиксить точечно.

Не зависать на две недели через апелляцию. Лучше за два дня исправить и резабмитить.

Запросить уточнение, если непонятно. В App Store Connect есть кнопка Reply. Можно вежливо попросить указать конкретно, что не так. Иногда ревьюер отвечает.

Если третий раз получили отказ по одной и той же причине, проблема не в формулировках, а в подходе. Переделывайте на более глубоком уровне.

Что я понял за шесть реджектов

Подача VPN в App Store больше похожа на переговоры с системой без чётких правил, чем на обычную разработку. Ваш код может быть идеальным, и приложение не пройдёт. Может быть средним, и пройдёт с первой попытки.

Главное это снижать риск точечно, по каждому пункту чеклиста. Не гарантия, но шансы поднимаются с 30% до 80%.

И второе, чисто практическое: резерв по времени. Если клиент хочет релиз через две недели, я честно говорю, что VPN-приложение за две недели не подаю. Минимум четыре, лучше шесть. Это часть оценки сроков, как и любая другая работа.

Источники

Что дальше

Делаете VPN-приложение или другое сложное под App Store? Напишите мне, обсудим подачу, чеклист и риски. Калькулятор даст ориентир по бюджету, в нём заложены реальные сроки на ревью.

Похожие статьи