Политика конфиденциальности
Эта политика объясняет, что собирает приложение «Общественный Транспорт», зачем и что вы можете с этим сделать. Она описывает приложение таким, какое оно сегодня. Если мы изменим то, что собираем, мы изменим эту страницу и дату вверху.
Коротко. Приложением можно пользоваться без учётной записи, и почти всё работает без неё. Мы не продаём ваши данные и не показываем рекламу. Мы не храним историю вашего местоположения. Координаты, которые вы отправляете, попадают в журналы запросов наших серверов, которые мы храним ограниченное время, как правило 7 дней, и которые обычно не связаны с вашей учётной записью (см. Технические записи). Мы храним идентификатор установки приложения и записываем, какие экраны и действия используются, чтобы видеть, что сломано.
Кто мы
Приложение и серверы за ним поддерживает команда «Общественный Транспорт». Контакт: info@publictransport.com.ua.
Что мы собираем
Учётная запись — только если вы вошли
Приложение работает без входа. Если вы создаёте учётную запись, мы храним ваш адрес электронной почты и то, что вы по желанию добавите в профиль: отображаемое имя, дату рождения и аватар.
В этом продукте нет паролей. Вход происходит по одноразовому коду на почту или по ключу доступа (passkey). Для ключа доступа мы храним открытый ключ и идентификатор учётных данных — закрытый ключ никогда не покидает ваше устройство.
Идентификатор устройства
Каждая установка создаёт идентификатор, постоянный для этой установки. На Android это солёный хеш системного идентификатора устройства, на iOS — случайное значение в Keychain, в браузере — случайное значение в локальном хранилище. Это не рекламный идентификатор; рекламные идентификаторы мы не используем вообще.
Он нужен для ограничения частоты запросов, для блокировки недобросовестных установок и — в хешированном виде, описанном ниже — для подсчёта использования.
Аналитика использования
Приложение записывает фиксированный список именованных событий, чтобы мы видели, чем пользуются и что не срабатывает: просмотры экранов, открытие маршрута, остановки или транспорта, поиск, построение поездки, смена города, языка или темы, добавление маршрута в избранное, публикация комментария или фото, отправка отзыва, завершение входа, переключение уведомлений, открытие push-уведомления, а также сбои — например, поездка, которую не удалось построить.
Каждое событие содержит название, время, случайный идентификатор сессии, платформу, версию приложения, язык интерфейса и выбранный город. События привязаны к хешу с ключом, вычисленному от идентификатора устройства, а не к самому идентификатору и не к вашей учётной записи.
В аналитике использования никогда не записываются: широта и долгота в любом виде, текст, который вы вводите в поиск, и начало с концом поездки, которую вы строите. От поиска остаётся только количество введённых символов, а не сами символы.
Местоположение
Если вы дадите разрешение, ваша позиция используется на устройстве, чтобы отцентрировать карту и предложить вашу позицию как начальную точку. В фоновом режиме местоположение не используется.
Когда вы строите поездку из точки в точку, выбранные координаты начала и конца отправляются на наш сервер маршрутизации, чтобы посчитать путь. Они не сохраняются ни за вами, ни за вашей учётной записью, и мы не ведём их истории.
Журналы запросов наших серверов (см. Технические записи) всё же содержат места: начало и конец поездки, которую вы строите, округлённые примерно до 1,1 км, а также точку, которую вы выбираете на карте или по которой её центрируете, и точку, вокруг которой мы ищем транспорт поблизости, округлённые примерно до 110 м. В редком случае, когда наш прокси-сервер не может завершить запрос с координатами, его строка ошибки, описанная там, содержит их без округления. Обычно эти журналы не связаны с вашей учётной записью. Сколько их хранят и в каких редких случаях строку можно связать с вашей учётной записью, описано там.
Уведомления
Если вы включаете уведомления, мы храним токен, выданный Google или Apple, вместе с выбранным городом, чтобы объявления этого города доходили до вас. Выключение уведомлений в приложении удаляет токен с наших серверов и отписывает устройство.
То, что вы отправляете
Фотографии транспорта с именем и почтой, которые вы по желанию прикладываете; комментарии к новостям; отзывы (оценка, необязательный комментарий, необязательные имя и почта, а также до трёх скриншотов или видео, которые вы по желанию прикладываете); сообщения о положении транспорта. К сообщению о положении можно приложить до трёх скриншотов или видео. Эти вложения мы нигде не публикуем: их видят только администраторы, и они удаляются через 90 дней; удаление учётной записи не убирает их раньше. Фото и комментарии проходят модерацию до появления на людях. Загруженные изображения перекодируются на нашем сервере, и это убирает встроенные метаданные — в том числе координаты GPS, которые телефон мог вписать в файл. Видео мы переписываем на сервере так, чтобы осталось только изображение: звуковую дорожку, место, данные об устройстве и время записи убираем, а файл, который так очистить не удаётся, не принимаем. Наши приложения для Android и iOS убирают звук ещё на телефоне, до отправки. Видео, отправленное с нашего сайта, приходит со звуком, и сервер убирает его при той же перезаписи; файл в том виде, в каком он пришёл, удаляем сразу после обработки, а незавершённую загрузку — в течение трёх часов.
Отзыв хранится вместе с версией приложения, платформой, языком интерфейса, выбранным городом и IP-адресом, с которого он отправлен. Если вы вошли в учётную запись, форма отзыва не спрашивает контактных данных, а отправляет вместе с отзывом почту вашей учётной записи (сразу после входа по ключу доступа форма ещё может показывать поля контактов, пока приложение не запустится снова, а отзыв, отправленный с пустыми полями, не содержит адреса почты). Текст отзыва хранится бессрочно. Удаление учётной записи убирает из ваших отзывов почту, имя и IP-адрес; всё остальное мы удаляем по запросу (см. ниже).
Отзывы, которые вы пишете в Google Play
Это не форма отзыва внутри приложения, описанная выше. Если вы оставляете в Google Play отзыв о приложении «Общественный Транспорт», Google передаёт его нам, а наш сервер копирует его в панель администратора. Это так и тогда, когда вы пишете отзыв в окне Google Play, которое открывает приложение: приложение не видит, что вы там вводите, и отзыв попадает к нам только из Google Play. Мы сохраняем имя, которое Google Play показывает рядом с вашим отзывом, оценку в звёздах, текст и время, когда вы его написали или в последний раз изменили, идентификатор отзыва в Google Play, а также то, что Google Play добавляет от себя: язык интерфейса, версию приложения, версию Android (уровень API) и устройство (его кодовое название, производителя и модель) — каждое лишь тогда, когда Google Play его предоставляет. Google Play присылает и другие технические подробности об устройстве и отзыве, но мы их не сохраняем. Больше ничего о вас вместе с отзывом не сохраняется, в том числе адрес почты вашей учётной записи Google, а сам отзыв не связывается с вашей учётной записью в приложении.
Мы используем это, чтобы читать, что пишут о приложении, и отвечать на отзывы из панели администратора. Нашу копию видят только администраторы, и мы нигде её не публикуем. Ответ публикуется открыто в Google Play под вашим отзывом от имени разработчика, а копия ответа хранится вместе с отзывом. Нашу копию мы храним бессрочно: удаление отзыва в Google Play или учётной записи в приложении её не убирает. По вашему запросу мы удаляем нашу копию, и она больше не копируется; напишите на info@publictransport.com.ua. Чтобы отзыв не копировался снова, мы бессрочно помним только идентификатор отзыва в Google Play и дату удаления, в которых нет содержимого отзыва, а запись о том, что администратор его удалил, остаётся среди записей о действиях администраторов, без содержимого отзыва. Чтобы убрать сам отзыв, удалите его в Google Play.
Технические записи
Наши серверы записывают в журнал каждый запрос: время, статус ответа, метод и запрошенный веб-адрес с его параметрами. Прежде чем строка будет записана, push-токены и идентификаторы устройств в ней заменяются односторонним отпечатком, текст поиска убирается, координаты округляются примерно до 110 м (трёх знаков после запятой), начало и конец поездки — примерно до 1,1 км (двух знаков после запятой), а учётные данные, такие как токены и пароли, убираются. В этих строках нет ни IP-адреса, ни user agent.
Ещё три вида строк журнала содержат больше. Из них только строки ошибок прокси-сервера содержат ваш полный IP-адрес:
- Когда проверку целостности приложения отклонили или её не удалось проверить, строка фиксирует сеть, из которой пришёл запрос (первые три числа адреса IPv4 или первые 48 бит адреса IPv6, но никогда не весь адрес), user agent, сокращённый не более чем до 80 простых символов, и односторонний отпечаток идентификатора устройства.
- Если хранилище, которое считает ограничения запросов, недоступно, в том числе когда вы отправляете отзыв или фото, а также если запрос приходит с заголовком пересылки, которым наш сервер не может воспользоваться, или попадает на наш сервер не через наш прокси-сервер, предупреждение в журнале фиксирует сеть, из которой пришёл запрос (первые три числа адреса IPv4 или первые 48 бит адреса IPv6, но никогда не весь адрес). Для учётной записи, в которую выполнен вход, предупреждение об общем ограничении запросов вместо этого содержит односторонний отпечаток учётной записи.
- Если прокси-сервер перед нашими серверами не может завершить запрос, например во время перезапуска сервера или когда рвётся соединение, его строка ошибки содержит ваш полный IP-адрес, user agent и запрошенный веб-адрес, без какого-либо из описанных выше маскирований.
Обычно наши журналы не связаны с вашей учётной записью, за двумя редкими исключениями. Оба касаются запроса из учётной записи, в которую выполнен вход, и в обоих предупреждение имеет общий идентификатор запроса со строкой журнала этого же запроса, так что приблизительные координаты в этой строке тогда можно связать с вашей учётной записью:
- Когда хранилище, которое считает ограничения запросов, недоступно, предупреждение содержит упомянутый выше односторонний отпечаток учётной записи.
- Когда база данных учётных записей недоступна, предупреждение содержит тот же односторонний отпечаток учётной записи. Таких предупреждений мы записываем не больше примерно одного в минуту.
Отпечатки в наших журналах создаются без секретного ключа. Отпечатки идентификаторов устройств и push-токенов мы можем сопоставить с идентификаторами устройств и push-токенами, которые храним для учётной записи; в этих строках нет координат. Отпечаток учётной записи мы можем вычислить заново по самой учётной записи, поэтому оба исключения выше всё равно связывают строку с вашей учётной записью.
Журналы серверов мы храним, чтобы расследовать сбои и злоупотребления. Наше хранилище журналов с поиском хранит каждую строку 7 дней. Сам сервер также хранит последний вывод каждой службы, примерно до 30 МБ на службу, пока его не перезапишет более новый вывод или пока службу не заменят. Для прокси-сервера, который мы заменяем редко, это может длиться дольше 7 дней.
Чтобы применять ограничения частоты запросов, мы также держим ваш IP-адрес в краткосрочных счётчиках: около трёх минут после вашего последнего запроса для общего ограничения, до часа для кодов входа, отзывов и фото и до суток для загрузки скриншотов и видео. Сессия, выданная приложению без входа в учётную запись, содержит IP-адрес, с которого её запросили, в течение своих 12 часов.
Мы также фиксируем версию соглашения, которое вы приняли, со временем, IP-адресом и user agent этого принятия.
Зачем мы это используем
- Чтобы сервис работал — показывал маршруты, остановки, транспорт и поездки.
- Чтобы держать вход в учётную запись и защищать её.
- Чтобы выявлять и останавливать злоупотребления: потоки запросов, поддельные сборки, заблокированные установки.
- Чтобы находить сломанное — в том числе то, о чём никто не сообщает — и чинить.
- Чтобы отправлять уведомления, которые вы заказали.
- Чтобы читать отзывы о приложении в Google Play и отвечать на них.
Кто ещё это видит
Мы не продаём персональные данные и не передаём их для рекламы. Данные попадают к этим сторонам ровно настолько, насколько этого требует функция:
- Google — отрисовка карт (Maps SDK и Maps JavaScript API), доставка push-уведомлений (Firebase Cloud Messaging), отчёты о сбоях (Firebase Crashlytics — стек вызовов, модель устройства и версия ОС, версия приложения и идентификатор установки Firebase в момент сбоя; на Android и iOS также короткий отчёт, когда проверка целостности приложения не удалась или наш сервер её отклонил либо не смог проверить, с кодом ошибки или одним словом-результатом и ничем другим о проверке; каждый отчёт помечен коротким односторонним отпечатком идентификатора устройства, 12 символов, а не самим идентификатором; без имени, e-mail, местоположения или содержимого; Google хранит их 90 дней) и проверка целостности приложения (Play Integrity) на Android.
- Apple — доставка push-уведомлений и проверка целостности приложения (App Attest) на iOS.
- Наш почтовый провайдер — доставка одноразовых кодов входа и писем по учётной записи.
Построение поездок и поиск адресов работают на серверах, которые мы держим сами; то, что вы ищете, не отправляется стороннему геокодеру.
Сколько мы это храним
| Что | Сколько |
|---|---|
| Учётная запись | Пока вы её не удалите |
| События аналитики | 180 дней |
| Токены уведомлений | Удаляются при выключении уведомлений; иначе до 180 дней после последнего использования |
| Сообщения о положении транспорта | 90 дней |
| Скриншоты и видео, приложенные к отзывам или сообщениям | 90 дней |
| Отзывы: текст, оценка, версия приложения, платформа, язык и город | Бессрочно; удаляются по запросу на info@publictransport.com.ua |
| Контактные данные в отзывах: почта, имя и IP-адрес | До удаления учётной записи, которое убирает их из ваших отзывов; иначе бессрочно |
| Отзывы в Google Play: имя, оценка, текст, устройство, версия приложения, язык и наши ответы | Бессрочно; удаляются по запросу на info@publictransport.com.ua |
| Идентификатор и дата удаления отзыва в Google Play, чтобы его не копировать снова | Бессрочно |
| История положений транспорта | 30 дней |
| Опубликованные фото и комментарии | Пока их не уберёте вы или модерация |
| Журналы запросов сервера | 7 дней в нашем хранилище журналов; последний вывод каждой службы (примерно до 30 МБ) — пока его не перезапишут или службу не заменят; для расследования сбоев и злоупотреблений |
Удаление учётной записи
Учётную запись можно удалить прямо в приложении: Ещё → Аккаунт → Удалить аккаунт. Также можно подать запрос на странице app.publictransport.com.ua/delete-account или письмом на info@publictransport.com.ua.
Удаление происходит сразу и необратимо. Конкретно оно:
- убирает из учётной записи вашу почту, имя, дату рождения и аватар, а сам файл аватара удаляет;
- удаляет ваши ключи доступа и список известных устройств;
- завершает сессии на всех устройствах и отклоняет те, что уже были открыты;
- отвязывает ваше имя и почту от отправленных вами фотографий;
- убирает почту, имя и IP-адрес из отправленных вами отзывов.
Опубликованные фото и комментарии остаются опубликованными, но уже без вашего имени и почты — чтобы экраны других людей не изменились. Если вы хотите, чтобы конкретную публикацию тоже убрали, напишите об этом в запросе, и мы её уберём.
Текст отзывов остаётся. Слова ваших отзывов хранятся бессрочно, но уже без вашей почты, имени и IP-адреса. Отзывы мы сопоставляем с вами по адресу почты, не обращая внимания на регистр букв, поэтому это касается и отзывов, в которые вы вписали адрес вручную, пока он принадлежал вашей учётной записи. Отзыв, отправленный без почты или вписанный до создания учётной записи (его не отличить от отзыва прежнего владельца адреса), к вам не привязать: приведите его текст и примерную дату. То же относится к отзыву, отправленному со старой почтой после того, как администратор сменил адрес вашей учётной записи, но до того, как приложение узнало новый: он датирован после смены, поэтому его не отличить от отзыва более позднего владельца этого адреса, и он тоже остаётся. Всё остальное, в том числе сам отзыв, мы удаляем по запросу: напишите на info@publictransport.com.ua.
Записи о действиях администраторов остаются. Если администратор совершал действия с вашей учётной записью (блокировка, редактирование, удаление), запись о них остаётся как журнал аудита, а личные данные в ней, такие как адрес почты, имя или дата рождения, удалены.
Учётные записи, удалённые до 1 октября 2026 года. Из отзывов ранее удалённых учётных записей мы убрали почту, имя и IP-адрес везде, где наши записи ещё показывали, каким адресом пользовалась учётная запись и с какого момента. Где не показывают, например в учётной записи, которую вы удалили сами и которую администратор ни разу не редактировал, или для адреса, на который администратор сменил почту учётной записи ещё до того, как наши записи начали фиксировать точный момент такой смены (это касается и учётных записей, удалённых позже), эти данные остаются в отзывах, пока вы не попросите: напишите на info@publictransport.com.ua, приведите текст отзыва и примерную дату, и мы их уберём.
Ваш выбор
- Пользоваться без входа. Почти всё работает без учётной записи.
- Местоположение. Откажите или отзовите разрешение в настройках устройства — карта тогда откроется на городе, а не на вас.
- Уведомления. Выключите их в приложении, и токен исчезнет с наших серверов.
- Аналитика. Сейчас в приложении нет отдельного переключателя аналитики для устройства. События псевдонимны и исчезают через 180 дней. Если хотите, чтобы события вашей установки убрали раньше, напишите нам.
- Доступ, исправление, удаление. Напишите на info@publictransport.com.ua, и мы выполним ваш запрос.
Дети
Приложение не предназначено для детей и опубликовано для взрослой аудитории. Мы сознательно не собираем данные детей.
Безопасность
Трафик между приложением и нашими серверами шифруется. Запросы от приложения криптографически подписаны, а каждая установка доказывает, что она является настоящей сборкой приложения, прежде чем получит сессию.
Изменения
Если эта политика изменится, мы обновим эту страницу и дату вверху. О существенных изменениях также сообщим в приложении.