Політика конфіденційності
Що ми зберігаємо, навіщо, скільки і як це видалити. Написано за нашим сьогоднішнім кодом, а не за шаблоном.
Останній перегляд: 26 вересня 2026 · Версія 1.1
1. Хто обробляє ваші дані
CityVibe (cityvibe.guide) — це каталог подій в Іспанії. Майже всім сайтом можна користуватися, нічого про себе не розповідаючи: пошук, фільтри, сторінка події й перехід за посиланням організатора не потребують облікового запису.
У нас немає уповноваженого із захисту даних: ми не обробляємо дані у великому масштабі й не працюємо з особливими категоріями, тож ст. 37 GDPR (відкриється в новій вкладці) не зобов'язує його призначати. Якщо це зміниться, ми напишемо про це тут.
2. Що ми зберігаємо, навіщо і на якій правовій підставі
2.1 Ваш обліковий запис (лише якщо ви увійшли через Google або Telegram)
Внутрішній ідентифікатор (UUID)
- Звідки береться
- Створюємо ми самі
- Навіщо
- Щоб ви були вами в нашій базі
Ідентифікатор постачальника («sub» у Google, числовий id у Telegram)
- Звідки береться
- Від постачальника, уже перевірений
- Навіщо
- Щоб упізнати вас наступного разу
Адреса електронної пошти
- Звідки береться
- Від Google, якщо ви увійшли через Google
- Навіщо
- Розрізняти облікові записи. Листів ми не надсилаємо
Ім'я та фото профілю
- Звідки береться
- Від Google або Telegram
- Навіщо
- Звертатися до вас на ім'я на сайті та в сповіщеннях
Мова, місто й часовий пояс
- Звідки береться
- Обираєте ви
- Навіщо
- Показувати сайт вашою мовою й писати за часом вашого міста
Правова підстава: виконання договору — ст. 6(1)(b) GDPR (відкриється в новій вкладці). Ви попросили обліковий запис; без цих даних його не буде.
Дві речі, які варто знати:
- Ми ніколи не об'єднуємо облікові записи за адресою пошти. Якщо ви увійдете через Google, а потім через Telegram і там буде та сама адреса, це залишаться два різні записи, доки ви самі не зв'яжете їх у профілі. Адреса пошти не доводить, хто ви.
- Якщо адреса вже належить іншому запису, новий створюється без адреси, а не зливається зі старим.
2.2 Ваші сповіщення
Ми зберігаємо те, про що ви просили вам повідомляти: міста, категорії, максимальну ціну, частоту (одразу чи щоденним дайджестом), зручний час і канал.
Правова підстава: договір (ст. 6(1)(b)). Це буквально та послуга, про яку ви попросили.
2.3 Telegram
Якщо ви натиснете Start у нашому боті, ми збережемо ваш Telegram-id і позначку часу, яка каже «цій людині можна писати». Коли Telegram відповідає, що ви заблокували бота, ми стираємо цю позначку й перестаємо намагатися. Тексту ваших повідомлень боту ми не зберігаємо ніколи.
Правова підстава: договір. Ваш «Start» і є запитом.
2.4 Журнал надсилань
Про кожне надіслане сповіщення ми зберігаємо: кому, про яку подію, яким каналом, коли мало піти, коли пішло, чи вдалося і, якщо ні, технічну причину. Тексту повідомлення ми не зберігаємо.
Навіщо це потрібно: щоб не написати вам двічі про одну подію (це і є ключ проти дублів), щоб повторити невдале надсилання і щоб знати, коли перестати наполягати. Через 180 днів ми стираємо в кожного завершеного надсилання час і причину збою: лишаються тільки ваш ідентифікатор, ключ проти дублів і статус. Рік записів «ця людина дивиться в телефон о 13:45» нам не потрібен.
Правова підстава: договір, а також законний інтерес (ст. 6(1)(f) (відкриється в новій вкладці)) у тому, щоб не перетворитися на бота, який повторює одне й те саме. Отримати сповіщення двічі — причина номер один, чому бота вимикають: уникнути цього вигідно насамперед вам.
Чого ми НЕ робимо: сьогодні ми не фіксуємо, чи відкрили ви сповіщення й чи натиснули на нього. Стовпці в базі є, але їх не пише жоден рядок коду. Якщо колись ми почнемо це вимірювати, ми напишемо про це тут до того, як почнемо, з правовою підставою та строком видалення.
2.5 Push-сповіщення браузера
Якщо ви увімкнете push-сповіщення, браузер передасть нам адресу доставки («endpoint» push-служби вашого браузера) і два ключі шифрування. Вони не кажуть, хто ви й де ви; вони лише дають браузеру отримати повідомлення.
Правова підстава: договір плюс дозвіл, який у вас запитує сам браузер.
2.6 Технічні журнали (логи)
Наші власні сервери не ведуть журналу запитів: ми його вимкнули, бо в цьому рядку були IP-адреса того, хто запитує, і весь запит — тобто те, що людина набрала в пошуку. Журнали, які все-таки є, — це журнали наших інфраструктурних постачальників (розділ 4): у них потрапляють час, запитаний шлях, код відповіді та IP-адреса, з якої прийшов запит, і потрібні вони, щоб знаходити збої й атаки.
Чого ми ніколи не пишемо у власні журнали: IP-адреси, адреси пошти, імена, сесійні токени, «initData» з Telegram і тіла запитів. Якщо ми записуємо щось про людину, це її внутрішній ідентифікатор і більше нічого. Навіть у внутрішній панелі адміністрування: від кожної спроби входу ми зберігаємо псевдонім, виведений з адреси, а не саму адресу.
Правова підстава: законний інтерес (ст. 6(1)(f)) у тому, щоб сервіс працював і був захищений.
2.7 Чого ми не робимо, прямим текстом
- Аналітики немає. Ні Google Analytics, ні Plausible, ні PostHog, ні пікселів, ні Vercel Analytics. Жодної.
- Реклами й рекламних cookie немає.
- Ми не продаємо й не передаємо ваші дані нікому.
- Ми не профілюємо вас і не ухвалюємо автоматизованих рішень, які вас стосуються (ст. 22 GDPR (відкриється в новій вкладці)).
- Ми не вгадуємо ваше місто за IP. Місто зберігається, лише якщо ви обрали його самі.
- Облікових записів для дітей до 14 років немає. Сервіс розрахований на дорослих. Ми публікуємо сімейні події, але обліковий запис створює доросла людина. Вік ми не намагаємося вирахувати. Якщо ми виявимо запис дитини до 14 років, ми його видалимо (ст. 7 LOPDGDD (відкриється в новій вкладці)).
3. Скільки ми це зберігаємо
- Обліковий запис, налаштування, сповіщення
- Доки у вас є обліковий запис
- Журнал надсилань
- Доки у вас є обліковий запис (саме він не дає повторити сповіщення). Через 180 днів час і причина збою стираються
- Push-підписки
- Доки ви їх не вимкнете або не видалите обліковий запис
- Усе перелічене вище
- Видаляється одразу, щойно ви видаляєте обліковий запис (розділ 5)
- Технічні журнали
- У Vercel — до 30 днів; журнали розгортання DigitalOcean — 90 днів. У нас самих не зберігається жоден
4. Хто ще щось бачить
Ці постачальники обробляють дані за нашим дорученням (оператори обробки, ст. 28 GDPR (відкриється в новій вкладці)):
Vercel
- Навіщо
- Віддавати сайт і Mini App
- Де
- Регіон «fra1» (Франкфурт, Німеччина)
- Що бачить
- Запити та їхні IP-адреси
DigitalOcean App Platform
- Навіщо
- Розміщувати API, воркер і планувальник
- Де
- Регіон «fra» (Франкфурт, Німеччина)
- Що бачить
- Запити та їхні IP-адреси
DigitalOcean Managed Databases
- Навіщо
- База даних PostgreSQL
- Де
- Регіон «fra1» (Франкфурт, Німеччина)
- Що бачить
- Усе з розділу 2
DigitalOcean Managed Databases (Valkey)
- Навіщо
- Черга завдань
- Де
- Регіон «fra1» (Франкфурт, Німеччина)
- Що бачить
- Повідомлення внутрішніх завдань
Крім того:
- Telegram неминуче отримує повідомлення, які ми вам надсилаємо, і ваш chat id: це той канал, яким ви попросили вам писати. Telegram — самостійний контролер того, що він робить із цією інформацією; політика в нього своя (telegram.org/privacy (відкриється в новій вкладці)).
- Google бере участь лише під час входу, якщо ви обрали цю кнопку, і повертає нам ваш ідентифікатор, підтверджену адресу пошти, ім'я та URL фотографії.
Усе перелічене міститься в Європейському Союзі, у Франкфурті. І сьогодні жоден сервіс штучного інтелекту нічого від нас не отримує: на бойових серверах немає ключа ні від Anthropic, ні від будь-якого іншого постачальника ШІ, тож машинний переклад тексту подій вимкнено. Та навіть коли він увімкнений, звідси йдуть лише заголовок і опис, опубліковані джерелом, — ніколи ваші дані. Тож, окрім Telegram і Google, які беруть участь тому, що ви самі їх обрали, і відповідають за себе самі, жодних міжнародних передавань немає. У день, коли ми його ввімкнемо, ми напишемо про це тут заздалегідь.
5. Як видалити обліковий запис і що саме зникне
У розділі Ваш профіль → Видалити обліковий запис (або викликом «DELETE /users/me»). Жодного підтвердження поштою, жодного пільгового періоду і жодного шляху назад: рядок вашого користувача видаляється одразу, і тією самою операцією база забирає із собою все, що на вас посилалося:
- Ваші способи входу (Google, Telegram).
- Ваші сповіщення та їхні фільтри за містами.
- І їхні фільтри за категоріями.
- Ваші push-підписки.
- Ваш журнал надсилань.
Чотири з цих таблиць посилаються прямо на ваш обліковий запис, а дві таблиці фільтрів тримаються на ваших сповіщеннях: шість усього, і в усій базі більше немає жодної. Після видалення будь-яка сесія, що лишилася відкритою на іншому пристрої, не веде ні до кого: чекати, поки вона спливе, не потрібно.
Єдине, що переживає видалення, — рядок технічного журналу «обліковий запис видалено» з вашим колишнім внутрішнім ідентифікатором: він більше ні до якої людини не веде і є нашим доказом, що запит виконано.
Вийти на всіх пристроях — зовсім інша дія, вона нічого не видаляє: вона збільшує внутрішній лічильник, який одразу робить недійсними всі видані вам сесійні cookie.
6. Ваші права
Будь-коли й безкоштовно ви можете скористатися правами зі ст. 15–22 GDPR (відкриється в новій вкладці):
- Доступ — дізнатися, що в нас є
- Напишіть на alexandr.shurigin@gmail.com (відкриється в новій вкладці), і ми надішлемо копію
- Виправлення
- Ім'я, мову й місто ви змінюєте самі в розділі Ваш профіль
- Видалення
- Ваш профіль → Видалити обліковий запис, миттєво (розділ 5)
- Перенесення
- Попросіть листом, і ми надішлемо дані у машиночитаному JSON
- Заперечення та обмеження
- Листом; достатньо й просто вимкнути сповіщення
- Відкликання згоди
- Для push — у самому браузері; для Telegram — заблокувавши бота
Ми відповідаємо щонайбільше за місяць (ст. 12(3) GDPR). Якщо ви вважаєте, що ми зробили це погано, ви можете звернутися до Іспанського агентства із захисту даних (aepd.es (відкриється в новій вкладці)), C/ Jorge Juan 6, 28001 Мадрид. Будемо вдячні, якщо спершу напишете нам: так майже завжди швидше.
7. Безпека
Коротко про те, що ми робимо: сесія їде в зашифрованій cookie, яку може відкрити лише наш сервер, з прапорцями «HttpOnly», «Secure» і префіксом «__Host-»; браузер ніколи не звертається до нашого API напряму; особа того, хто викликає API, їде в підписаному токені, який спливає за 60 секунд; а секрети живуть у змінних середовища, а не в коді.
Безвідмовних систем не буває. Якщо станеться витік, що створить ризик для ваших прав, ми повідомимо вас і сповістимо AEPD протягом 72 годин, як вимагає ст. 33 GDPR (відкриється в новій вкладці).
8. Зміни
Якщо ми змінимо щось, що справді вас стосується — нову мету, нового постачальника, аналітику, — ми попередимо на сайті до того, як це набуде чинності. Дата вгорі — дата останнього перегляду.