Почему ваш вход — это номер, а не email
Аккаунт, который вам не нужен, — это 128-битный номер, выданный машиной, которая структурно не способна открыть ваш туннель. Вот почему оба этих факта должны быть верны одновременно.
Опубликовано 5 сентября 2026 г. · Обновлено 16 октября 2026 г.
Большинство приложений сначала спрашивают email-адрес, и только потом — то, зачем вы вообще пришли. ForestVPN не спрашивает ни email, ни пароль — откройте его и нажмите «Подключиться». Если вам нужна одна подписка на нескольких устройствах, вместо этого вы получаете номер из 32 символов, который показывается один раз, — и это вся система входа целиком.
Это не стилистический выбор. Это то, что остаётся, когда сталкиваются два требования, и интересно именно то, какое из них побеждает.
Где обычно живёт вход
Кнопка «Войти через Apple» или «Войти через Google» — это переадресация на чужой домен:
appleid.apple.com, accounts.google.com, арендатор *.auth0.com. На телефоне с открытым путём к
этим хостам такая переадресация — незаметная внутренняя механика.
Мы не можем полагаться на то, что этот путь открыт, потому что часть задачи этого продукта —
продолжать работать в сетях, которые пускают устройство только к короткому фиксированному списку
хостов. Вся модель безопасности нашего собственного релей-прокси — именно этот список: три имени,
api., sess. и catalog.fvpn.net, которые сверяются точно. Расширить его, впустив провайдера
идентификации за CDN, значит впустить провайдера, чей CDN обслуживает огромную часть интернета, — а
это превращает узкий релей в универсальный прокси. А конкретно на iOS веб-представление для входа
через стороннего провайдера идентификации работает вне процесса приложения — настройка прокси на
уровне приложения никак не может дотянуться до него и провести его через что-либо из того, чем
управляем мы. Переадресация ломается именно там, где она нужнее всего.
Так что номер — это не дружелюбный вариант, который мы выбрали вместо привычного. Это вариант, который продолжает работать при ограничении, оказавшемся важнее.
Другая половина: тот, у кого есть номер, не видит ваш трафик
Скажем о номере аккаунта иначе: это учётные данные, выпускаемые сервисом, который работает на Cloudflare Workers — выполнение в рамках одного запроса, без долгоживущего процесса, без сырых сокетов, с потолком памяти на изолят в пределах двузначных мегабайт. Ничто из этого не ограничение, которое мы обходим. Это причина, по которой этому сервису вообще можно доверить хранение вашего права доступа:
no raw UDP or TCP sockets
no long-lived process — execution is request-scoped
128 MB per isolate
a few MB, compressed, is the entire deployableМашина, устроенная так, не может завершать состоятельный UDP-туннель — не «пока не может», а структурно не может. Поэтому серверы, которые действительно несут ваш трафик, — это отдельный флот на отдельной инфраструктуре, и две стороны встречаются ровно в одном месте: билете. Ваше устройство запрашивает его у стороны Workers и получает в ответ значение, которое подписано, но не прочитано, — подпись создаётся над числом, которое сам подписывающий никогда не видит, поэтому билет, который вы предъявите позже, невозможно проследить до запроса, которым он был выпущен. Он подтверждает, какой тариф его оплатил. Он не говорит, какое это устройство, и не говорит, кто вы.
Именно это делает номер аккаунта настолько «скучным», насколько и должно. В этой системе нет ни одной колонки, которая хранила бы номер аккаунта рядом с выходным сервером или адресом, с которого вы подключились, — и дело не в том, что «мы решили не смотреть», такой колонки просто не существует, и сборка не проходит проверку, если её всё же добавить. Есть одно более узкое, намеренное исключение, и оно касается устройства, а не номера: пока билет действителен, одна строка сопоставляет хеш ключа вашего устройства с хешем сессии, к которой он относится, — это позволяет списывать использованный билет с вашего лимита и отключать отозванное устройство прямо посреди сессии. Эта строка удаляется примерно через сутки после завершения сессии, а если сессия закрывается быстро — раньше, и в ней нет поля ни для выходного сервера, ни для адреса — только устройство и сессия, ничего больше. Если вы привязали устройство к аккаунту, именно на этом связь и заканчивается; сам номер аккаунта никогда не попадает в строку сессии. Сервис, который действительно видит ваш трафик, вообще никогда не узнаёт этот номер.
Чего это стоит — сказано прямо, а не скрыто
Ничего из этого не бесплатно. Номер показывается один раз и нигде не хранится на нашей стороне; потеряйте его, когда ни одно устройство больше к нему не привязано, — и восстанавливать будет нечем, потому что не существует ничего другого, что идентифицировало бы вас для восстановления. Привязку можно отменить: устройство может выйти из аккаунта само, а любое другое устройство на аккаунте может его удалить (на аккаунте до десяти устройств; устройство, присоединившееся за последние 7 дней, не может удалять более старые, а роутер не может удалять другие устройства). Нельзя отменить потерю номера: сброса пароля не существует, потому что для него нужен способ доказать, что запрос пришёл от настоящего владельца аккаунта, а весь смысл конструкции был в том, чтобы никогда не собирать ничего, что могло бы это доказать.
Это настоящий компромисс, а не сноска мелким шрифтом, и мы предпочитаем, чтобы вы знали о нём заранее, а не узнали в момент, когда это станет важно.