Політика конфіденційності
Ця політика пояснює, що застосунок «Громадський Транспорт» збирає, навіщо і що ви можете з цим зробити. Вона описує застосунок таким, яким він є сьогодні. Якщо ми змінимо те, що збираємо, ми змінимо цю сторінку й дату вгорі.
Коротко. Застосунком можна користуватися без облікового запису, і майже все працює без нього. Ми не продаємо ваші дані й не показуємо реклами. Ми не зберігаємо історії вашого місцезнаходження. Координати, які ви надсилаєте, потрапляють у журнали запитів наших серверів, які ми зберігаємо обмежений час, здебільшого 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, і ми виконаємо ваш запит.
Діти
Застосунок не призначений для дітей і опублікований для дорослої аудиторії. Ми свідомо не збираємо дані дітей.
Безпека
Трафік між застосунком і нашими серверами шифрується. Запити від застосунку криптографічно підписані, а кожне встановлення доводить, що воно є справжньою збіркою застосунку, перш ніж отримає сесію.
Зміни
Якщо ця політика зміниться, ми оновимо цю сторінку й дату вгорі. Про суттєві зміни також повідомимо в застосунку.