Политика конфиденциальности: что поменять перед выпуском
Опубликовано 6 октября 2026 — редакция 2.2 на www.escapetravel.site/privacy.html (русский, украинский, английский; разделы 5, 8, 9, 10, 13, 14). Ниже — то, на чём она основана, и что осталось сделать владельцу.
6 октября 2026. Текст для разделов 5, 8, 10 и 13 политики на www.escapetravel.site/privacy.html (сейчас редакция 2.1). Всё ниже сверено с кодом приложения и сервера, а не написано по памяти. Как и остальные документы в этой папке, это черновик для проверки юристом, а не юридическая консультация.
Почему менять
Политика написана до запуска: почти всё в ней сказано в будущем времени («когда функции откроются», «будущие обработчики», «данные аккаунта — в будущем»). Приложение эти данные уже собирает: аккаунты, анкеты сообщества, чаты, приглашения, поездки. Обещания честные, но описывают не то, что есть сейчас. GDPR (ст. 13) требует назвать категории данных, получателей и сроки хранения в момент сбора, поэтому текст надо обновить до выхода в App Store.
Раздел 5 — какие данные приложение обрабатывает (вместо «сможет обрабатывать»)
- Аккаунт — вход через Apple или Google: имя, адрес почты, который подтвердил провайдер (у Apple это может быть скрытый адрес
@privaterelay.appleid.com), язык, валюта. Без аккаунта приложением тоже можно пользоваться. - Номер телефона — только если вы сами подтверждаете его кодом из SMS, чтобы вступить в сообщество. На экранах он показывается замаскированным.
- Поездки и разговоры с ассистентом — что вы написали или надиктовали, ответы на вопросы (даты, кто едет, бюджет), место отправления, готовый маршрут.
- Голос — запись нажатия на микрофон уходит на распознавание и не хранится. Хранится только получившийся текст как часть запроса.
- Местоположение — когда вы разрешили. Точка используется для подборок рядом и для маршрута. В сообществе другим людям видна только клетка около километра. Фоновое местоположение в дороге (iOS) остаётся на телефоне и на сервер не отправляется.
- Анкета сообщества (по желанию) — никнейм, фото, «о себе», интересы, три ответа из списков: семья, транспорт, можете ли принять гостя. Плюс подтверждение, что вам есть 18 лет, и согласие с правилами.
- Контент сообщества — опубликованные поездки и посты, сообщения в чатах, отзывы о попутчиках, жалобы.
- Приглашения — то, что указал отправитель (поводы, места, время, заметка, имя). Гости при ответе оставляют имя и комментарий; если отвечают из приложения — ещё технический токен уведомлений.
- Контакты — приложение не загружает адресную книгу. Вы выбираете одного человека в системном окне, его номер подставляется в ваше SMS, и отправляете его вы сами. На сервер ничего не уходит.
- Уведомления — токен устройства, чтобы присылать готовые маршруты, ответы на приглашения, напоминания и, если вы включили, идеи на выходные по пятницам.
- Технические данные — один раз в день приложение сообщает «открыто» с платформой и версией. Это счётчик по дням без идентификатора. Поиск места, которого нет в библиотеке, сохраняется только словами, без аккаунта и без местоположения.
Раздел 8 — получатели (назвать конкретно вместо «будущих обработчиков»)
| Кто | Зачем | Что получает |
|---|---|---|
| Hetzner Online (Германия) | Сервер и база данных | Все данные сервиса |
| Google (Gemini) | Разбор запроса, маршрут, перевод сообщения по нажатию | Текст запроса и контекст поездки; одно сообщение при «Перевести» |
| Google Maps Platform | Места, фото, расписания, геокодинг | Координаты и названия мест, без аккаунта |
| Anthropic, OpenAI, Groq | Резерв, если Gemini недоступен | То же, что Gemini, только в этом случае |
| LiteAPI (Nuitée) | Цены отелей и авиабилетов | Место, даты, число гостей — без имени |
| Expo, Apple (APNs), Google (FCM) | Доставка уведомлений | Токен устройства и текст уведомления |
| Twilio | SMS-код для телефона | Номер телефона |
| Apple, Google | Вход в аккаунт | Данные входа по их правилам |
| Open-Meteo | Прогноз погоды | Координаты, без аккаунта |
| Pexels, Wikimedia Commons | Фотографии мест | Телефон загружает картинки напрямую, поэтому эти сервисы видят IP-адрес |
Booking.com и сайты продавцов билетов открываются по нашей ссылке у вас в браузере. Приложение ничего им не передаёт и ничего не бронирует от вашего имени.
Раздел 10 — сроки хранения (конкретные, как в коде)
| Данные | Срок |
|---|---|
| Аккаунт, поездки, анкета, чаты, отзывы | Пока существует аккаунт. После запроса на удаление — окно, в которое можно передумать, затем удаление (account.service.ts) |
| Поездка, спланированная без аккаунта | 365 дней с последнего действия (retention.worker.ts) |
| Приглашение вместе с ответами гостей | 180 дней после дня встречи (retention.worker.ts) |
| Перевод сообщения | 30 дней |
| Журналы безопасности | 180 дней; обычные журналы — 90 |
| Завершённые прогоны планировщика (диагностика) | 30 дней |
| Отметка «скачал по открытке» (хеш IP и платформы) | 2 часа |
| Платёжные записи | По налоговому закону (платежей сейчас нет) |
Раздел 13 — безопасность и доступ оператора (добавить)
Данные пользователей видит только оператор проекта — через консоль администратора на сервере. Вход в консоль — только для адресов из закрытого списка, подтверждением с телефона или личным паролем; пароль хранится как хеш scrypt. Каждый просмотр карточки пользователя записывается в журнал. Рассылки уходят только тем, кто согласился на уведомления. Терминала в браузере нет.
Что владельцу сделать самому (код этого не сделает)
- ~~Обновить текст на сайте~~ — сделано 6 октября, редакция 2.2.
- Подписать договоры обработки данных (DPA): у Hetzner — в Cloud Console, у Google Cloud — принять в настройках проекта, у Twilio и Expo — на их сайтах; LiteAPI — запросить.
- Сверить «ярлыки конфиденциальности» в App Store Connect и раздел «Data safety» в Play Console с разделом 5. Отслеживания (tracking) нет, рекламы нет.
- ~~Заменить
docs/legal/subprocessors.md~~ — сделано, версия 0.2.