Політика конфіденційності Finance
Коротко про головне
Finance — застосунок для обліку особистих і сімейних фінансів. Ми тримаємо ваші дані у себе на сервері, щоб вони синхронізувалися між пристроями та між учасниками спільного простору.
Найважливіше на одному екрані:
- Ми не показуємо реклами, не продаємо дані й не вбудовуємо жодного трекера чи системи аналітики. Їх немає в коді взагалі.
- Ми бачимо ваші фінансові записи: суми, дати, рахунки, категорії, нотатки, склад чеків. Вони лежать у нас у базі у звичайному (не зашифрованому окремо) вигляді — так працює будь-який застосунок, який рахує вам звіти на сервері.
- Якщо ви запросили людину до спільного простору, вона бачить УСІ операції цього простору, а не лише «спільні». Фільтра «це тільки моє» у застосунку не існує.
- Фотографія чека вирушає на розпізнавання до зовнішнього сервісу штучного інтелекту (зараз це Google Gemini). Саму фотографію ми у себе не зберігаємо, але вона залишає наш сервер.
- Ваше фото профілю віддається за прямим посиланням без пароля і без входу: хто отримав посилання — побачить фото.
- Банківське підключення дає нам право лише читати виписку. Переказати, списати чи заплатити вашими грошима застосунок технічно не може.
- Відновлення пароля зараз немає: листів ми не надсилаємо взагалі. Забутий пароль відновити неможливо.
Далі — те саме, але докладно. Кожне твердження на цій сторінці звірено з вихідним кодом застосунку та сервера.
Хто відповідає за ваші дані
Контролер (за GDPR) і володілець персональних даних (за українським законом про захист персональних даних) — Пащенко Сергій Олександрович, фізична особа, Польща, поштова адреса: 31-356, Польща.
Зв’язатися з будь-якого питання про дані: support@serhiip.dev. Це єдина адреса, за якою ми приймаємо звернення; інших адрес у нас немає.
Ця політика діє для:
— мобільного застосунку Finance для iPhone (в App Store — Finance);
— мобільного застосунку для Android (Finance, ідентифікатор com.serhiipashchenko.capital);
— сервера, який їх обслуговує, включно з адресами https://finance.serhiip.dev та легасі-адресою https://91-99-155-40.sslip.io, яка лишилася зашитою в раніше випущених збірках застосунку.
Дата набрання чинності цією редакцією: 16 вересня 2026 року.
Які дані ми отримуємо і зберігаємо
Акаунт
— Електронна пошта. Це ваш логін і єдиний спосіб вас упізнати. Ми її не підтверджуємо листом (ми взагалі не надсилаємо листів із застосунку).
— Ім’я, яке ви вписали в профіль. Воно підписує ваші записи у спільному просторі.
— Пароль — лише у вигляді незворотного хешу (argon2). Сам пароль ми не зберігаємо і не бачимо.
— Фотографія профілю, якщо ви її завантажили (до 6 МБ, png/jpeg/webp/heic/heif). Вона лежить прямо в нашій базі.
— Налаштування зовнішнього вигляду (тема, колірна схема, акценти вкладок, іконка застосунку) і мова інтерфейсу — щоб вони збігалися на всіх ваших пристроях.
Фінансові записи — це ядро застосунку
— Рахунки: назва, тип, валюта, поточний баланс, ознака «накопичувальний», архів/обране.
— Операції: сума, валюта, курс до базової валюти, дата, тип (витрата, дохід, переказ), рахунок, категорія, ваша вільна нотатка, розбивка за кількома категоріями.
— Категорії, групи категорій і цілі накопичень (скільки, до якої дати).
— Бюджети і план за місяцями: скільки призначено і скільки витрачено за кожною категорією.
— Підписки, які ви ведете для обліку: назва, сума, період, дата наступного списання.
Чеки
— Що ми зберігаємо з чека: магазин, дату і час покупки, валюту, підсумкову суму, фіскальний номер, вихідний вміст QR-коду та список товарів по рядках — назву кожного товару, кількість і ціну.
— Що ми НЕ зберігаємо: саму фотографію чека. Вона живе лише в оперативній пам’яті сервера на час запиту і ніде не записується.
— Ми також запам’ятовуємо правила на кшталт «цей товар → ця категорія», щоб не питати вас двічі. Ці правила спільні на весь простір.
Банківські підключення
— Особистий токен Monobank, який ви вставили, або ідентифікатор запиту в європейського агрегатора. Ці секрети шифруються в базі алгоритмом AES-256-GCM.
— Що надходить із банку і зберігається: номери/ідентифікатори рахунків у банку, баланси, валюта, тип картки та операції — сума, дата, валюта і опис платежу. Опис банківської операції часто містить назву магазину або контрагента; у польських банків у назву рахунку може потрапити ім’я власника рахунку та останні 4 цифри IBAN.
— Що надходить, але НЕ зберігається: ім’я клієнта банку, повний IBAN, маскований номер картки, MCC-код операції. Ці поля наш код просто не читає.
Сесії
— Для кожного входу ми зберігаємо рядок сесії: ваш ідентифікатор, незворотний хеш токена продовження (сам токен у базі не лежить), строк дії та позначку про відкликання.
Технічне
— Вашу IP-адресу ми НЕ зберігаємо. Вона використовується лише в оперативній пам’яті сервера як лічильник обмеження частоти запитів (захист від підбору пароля) і до бази не потрапляє. У нашій базі є колонки для IP і типу пристрою, але код у них нічого не пише — вони завжди порожні.
— Ми не ведемо журнал HTTP-запитів. У логах сервера — лише запуск застосунку, помилки кешу, попередження фонових задач і текст помилки від сервісу розпізнавання чеків.
Чого ми не збираємо взагалі
Перевірено пошуком по всьому коду обох застосунків і сервера:
- Немає аналітики та статистики використання: ні Firebase, ні Google Analytics, ні Amplitude, ні Mixpanel, ні Segment. У iOS-проєкту взагалі немає жодної зовнішньої бібліотеки.
- Немає звітів про збої: ні Crashlytics, ні Sentry, ні Bugsnag.
- Немає реклами й рекламних ідентифікаторів: ми не запитуємо IDFA, не показуємо вікно App Tracking Transparency, не читаємо Android Advertising ID. У картці App Store у графі «дані для відстеження вас» чесно стоїть «немає».
- Немає геолокації. Дозволу на місцезнаходження немає ні в Android-маніфесті, ні в iOS-проєкті. Ба більше, GPS-мітка з фотографії чека не вирушає нікуди: знімок перестискається перед надсиланням, і EXIF при цьому втрачається.
- Немає доступу до контактів, календаря, мікрофона, здоров’я, SMS і дзвінків.
- Ми не читаємо сповіщення інших застосунків і не розбираємо вашу пошту. Екрани з такими назвами в Android-версії — незавершені заглушки, за ними немає жодного коду; ми їх приберемо.
- Ми не запитуємо доступ до всієї фотогалереї. Ви обираєте конкретний файл у системному вікні вибору, і застосунок отримує лише його.
- Push-сповіщень зараз немає взагалі — ні через Apple, ні через Firebase. Відповідно, немає і push-токенів.
- Ми не збираємо платіжні дані: покупок усередині застосунку немає, платіжних бібліотек у коді немає.
- Ми не продаємо дані й не передаємо їх рекламодавцям чи брокерам даних. Повний перелік адрес, куди наш сервер узагалі ходить, наведено нижче — інших немає.
Одне чесне застереження: це результат перевірки вихідного коду та списків залежностей рядок за рядком, а не формального аудиту зібраного бінарного файлу.
Навіщо нам ці дані і на якій підставі
Договір з вами (ст. 6(1)(b) GDPR) — без цих даних застосунок просто не працює:
— пошта і хеш пароля: щоб ви могли увійти;
— рахунки, операції, категорії, бюджети, підписки: власне облік, звіти і план;
— членство у просторі: щоб вирішувати, кому які дані показувати;
— сесії: щоб не змушувати вас вводити пароль кожні 15 хвилин.
Ваша згода (ст. 6(1)(a)) — ви вмикаєте це самі й можете будь-коли вимкнути:
— камера і фотографія чека, включно з надсиланням знімка зовнішньому сервісу розпізнавання;
— підключення банку і регулярне читання виписки;
— підключення до польського державного хабу електронних чеків;
— фотографія профілю;
— запрошення іншої людини до спільного простору.
Наш законний інтерес (ст. 6(1)(f)):
— обмеження частоти запитів і захист входу від підбору пароля;
— мінімальні технічні логи, щоб лагодити поломки;
— зберігання хешів сесій, щоб помітити крадіжку токена і розірвати ланцюжок сесій.
Закон (ст. 6(1)(c)) — коли ми зобов’язані відповісти на ваш запит про права або на законний запит уповноваженого органу.
Окремо про чутливе. Категорія витрати може опосередковано розповісти про вас більше, ніж сума: покупка в аптеці або оплата клініки — це про здоров’я, пожертва — про переконання. Ми не збираємо такі дані спеціально і не будуємо на них жодних висновків про вас, але вони неминуче потрапляють до застосунку разом із чеками й операціями. Якщо для вас це важливо — не підключайте розпізнавання чеків і вносьте такі витрати вручну узагальненою категорією.
Автоматичні рішення і профілювання
Ми не ухвалюємо про вас автоматичних рішень, які мали б для вас юридичні чи інші суттєві наслідки. Жодного скорингу, жодної оцінки кредитоспроможності, жодних відмов «за рішенням алгоритму» в застосунку немає.
Автоматика в нас рівно одна: підказка категорії для товару з чека. Вона працює за словником, за вашими минулими рішеннями і — коли ввімкнено відповідний ключ на сервері — за підказкою мовної моделі. Це завжди лише пропозиція: будь-яку категорію ви змінюєте вручну одним дотиком, і застосунок запам’ятає ваш варіант.
Хто бачить ваші дані
Ви. В особистому просторі дані бачите лише ви (і ми як власник сервера — технічно вони нам доступні, ми не вдаємо, що це не так).
Учасники спільного (сімейного) простору. Це найважливіше, що треба зрозуміти до того, як ви надішлете запрошення.
Коли людина приймає запрошення, вона бачить:
— усі операції простору — суми, дати, валюти, рахунки, категорії та ваші вільні нотатки, включно з імпортованими з вашого банку описами платежів із назвами магазинів і контрагентів;
— усі рахунки та їхні поточні баланси;
— усі бюджети, план і підписки;
— усі чеки з покупками по позиціях: у якому магазині, коли, на яку суму і які саме товари;
— зведені звіти «що купуємо найчастіше» і «що скоро закінчиться», зібрані за покупками всіх учасників;
— хто саме вніс кожен запис: поряд з операцією показується ім’я автора та його фото профілю;
— електронну пошту кожного учасника простору.
У застосунку немає режиму «ця витрата видна лише мені». Поділу за авторами всередині спільного простору не існує на жодному екрані. Якщо якісь витрати ви не хочете показувати — ведіть їх в особистому просторі.
Фото профілю — за прямим посиланням, без входу. Ваш аватар віддається за адресою виду /api/users/<ваш ідентифікатор>/avatar без пароля і без авторизації: саме так його завантажують самі застосунки. Це означає, що будь-хто, хто отримав це посилання, побачить фотографію, не заходячи у Finance. Ідентифікатор — випадковий, підібрати його не можна, але він законно видимий усім учасникам ваших спільних просторів. Відповідь позначена як кешована на рік, тому навіть після того, як ви видалите фото, вже завантажені копії можуть якийсь час залишатися в кешах браузерів і проміжних серверів. Якщо це для вас неприйнятно — не завантажуйте фотографію, замість неї показуються ініціали.
Посилання-запрошення розкриває частину даних до входу. Сторінка попереднього перегляду запрошення відкривається без авторизації і показує: назву простору, ім’я того, хто запросив, і — якщо запрошення адресне — пошту того, кого запрошують. Пересилайте код запрошення лише тому, кому він призначений.
Ми. До бази має доступ Пащенко Сергій Олександрович — технічно, для обслуговування сервера. Ми не читаємо ваші операції з цікавості й не використовуємо їх ні для чого, крім роботи сервісу.
Банківські підключення: ми читаємо, але не платимо
Finance вміє підключатися до банку, щоб ви не вводили операції руками.
Що ми можемо: прочитати список ваших рахунків, їхні залишки та виписку — суму, дату, валюту й опис кожної операції.
Що ми НЕ можемо: зробити переказ, оплатити будь-що, списати гроші, змінити ліміти чи щось інше зробити з вашими грошима. У токена Monobank, який ми використовуємо, запитано право лише на читання виписки та даних клієнта, а європейське підключення працює через ліцензованого агрегатора в режимі «тільки інформація про рахунки». У нашому коді немає жодного запиту, який створює платіж. Навіть якби ми захотіли — у застосунку такої функції немає.
Як зберігається доступ: секрет банку (особистий токен Monobank або ідентифікатор запиту в агрегатора) шифрується в базі алгоритмом AES-256-GCM ключем, який лежить окремо від бази.
Як часто ми ходимо в банк: фонова задача синхронізації звертається до банку регулярно, поки підключення активне. Вимкніть банк у застосунку — звернення припиняться.
Важливо: вимкнення банку НЕ видаляє вже імпортовані рахунки та операції. Це зроблено спеціально, щоб у вас не зникла історія. Якщо ви хочете позбутися і даних — видаліть рахунок або операції вручну; видалення рахунку видаляє й усі його операції.
Є ще один спосіб, яким до застосунку можуть потрапити операції: Monobank уміє надсилати нам сповіщення про нові операції за підключеним рахунком. Це теж лише читання — гроші таким сповіщенням посунути не можна.
Чеки: що відбувається з фотографією
Є два способи занести чек.
1. За QR-кодом. Застосунок зчитує QR і просить вміст чека у фіскального оператора, який його видав. У цьому випадку назовні вирушає лише ідентифікатор чека з QR-коду (для чеків із кабінету податкової служби України — уся адреса з QR цілком, як вона там записана). Фотографія при цьому нікуди не надсилається.
2. За фотографією. Якщо фіскального QR немає, знімок чека вирушає з нашого сервера до зовнішнього сервісу розпізнавання — зараз це модель Google Gemini. Йому передається зображення цілком і текст завдання «дістань магазин, дату, суму і список товарів». Ні ваше ім’я, ні пошта, ні ідентифікатор акаунта в цей запит не додаються — але на самому чеку зазвичай видно назву й адресу магазину, дату, час і повний список покупок. Це, мабуть, найчутливіша передача даних у всьому застосунку: за чеком з аптеки видно значно більше, ніж за рядком «Аптека, 240 грн».
Що з фотографією у нас: вона не зберігається. Файл живе лише в оперативній пам’яті сервера на час запиту; у базі немає жодного поля під зображення чека, на диск воно не записується і до логів не потрапляє. У базу лягає лише розпізнаний текст: магазин, дата, сума, список товарів.
Що з фотографією у сервісу розпізнавання: це визначається умовами самого сервісу, а не нашим кодом. Ми не можемо гарантувати, що він не використовує отримані зображення за своїми правилами.
Якщо вас це не влаштовує — не користуйтеся розпізнаванням за фото. Сканування фіскального QR і ручне введення працюють без жодної передачі зображень.
Окремо: якщо на сервері ввімкнено ключ додаткової автокатегоризації, назви нерозпізнаних товарів і перелік назв ваших категорій надсилаються до Anthropic (США). Ні імені, ні пошти, ні ідентифікатора акаунта в цьому запиті немає. У нашій поточній конфігурації сервера цей шлях вимкнено.
Польські електронні чеки. Якщо ви підключили державний хаб електронних чеків Мінфіну Польщі, ми регулярно запитуємо в нього ваші чеки, передаючи виданий вам ідентифікатор (KID). Приватна частина KID зберігається у нас у зашифрованому вигляді і назовні, крім самого хабу, не віддається; публічна частина — та, яку ви показуєте касиру штрихкодом.
Кому ми передаємо дані
Повний перелік — інших одержувачів у коді немає.
- Hetzner Online GmbH (Фалькенштайн, Німеччина) (Німеччина, ЄС) — хостинг. На його серверах фізично лежить уся наша база: акаунти, всі фінансові записи, чеки, фотографії профілю, зашифровані банківські секрети, кеш і логи. Хостер не дивиться в дані, він надає залізо.
- Google (сервіс Gemini API) — розпізнавання чека за фотографією. Отримує зображення чека цілком. Обробка відбувається на глобальній інфраструктурі Google, тобто зокрема за межами ЄС.
- Anthropic (США) — резервна автокатегоризація товарів: назви товарів і назви ваших категорій. Вмикається лише при окремому налаштуванні сервера; зараз вимкнена.
- Monobank (Україна) — якщо ви підключили цей банк. Отримує ваш токен і запит виписки; повертає рахунки, баланси та операції.
- GoCardless Bank Account Data (ЄС/Велика Британія), ліцензований агрегатор відкритого банкінгу — якщо ви підключаєте європейський банк (PKO Bank Polski). Отримує запит на підключення; повертає реквізити рахунків, баланси та операції. На нашому сервері ця функція зараз не активована.
- Міністерство фінансів Польщі, HUB paragonowy — якщо ви підключили польські електронні чеки. Отримує ваш KID; повертає ваші фіскальні чеки.
- Checkbox, «Вчасно Каса» і кабінет Державної податкової служби України — коли ви скануєте український фіскальний чек. Отримують ідентифікатор чека з QR-коду; повертають його вміст.
- Національний банк України — курси валют. Отримує лише код валюти й дату. Жодних персональних даних. Важливо: по курси застосунок ходить напряму з вашого пристрою, тому НБУ бачить IP-адресу вашого пристрою, як будь-який сайт, який ви відкриваєте.
- Apple і Google — як магазини застосунків. З коду застосунку їм нічого не передається; вони отримують дані про встановлення самі, як незалежні контролери, за своїми політиками.
- Apple iCloud — див. наступний розділ: на iPhone копія локальної бази застосунку за замовчуванням синхронізується у ваш особистий iCloud.
Ми не наймаємо підрядників для маркетингу, не передаємо дані рекламним мережам і нікому їх не продаємо.
Передавання даних за межі Європейського Союзу
Сервер і база розташовані в Європейському Союзі (Німеччина).
За межі ЄС дані вирушають у трьох випадках:
— фотографія чека вирушає на розпізнавання до Google (США та глобальна інфраструктура);
— назви товарів можуть вирушати до Anthropic (США), якщо ввімкнена резервна автокатегоризація;
— якщо ви підключили Monobank, дані вашого банку обробляються в Україні.
Правова підстава для таких передавань: стандартні договірні умови ЄС (SCC) у договорах з отримувачами та участь Google LLC в EU–U.S. Data Privacy Framework; для передавання в Україну — ваша явна згода, яку ви даєте, підключаючи український банк (стаття 49(1)(a) GDPR). Точний механізм для кожного одержувача ми зазначаємо тут і оновлюємо при зміні постачальника.
Якщо ви не хочете, щоб ваші дані залишали ЄС, не користуйтеся розпізнаванням чеків за фотографією і не підключайте український банк — решта застосунку працює цілком на сервері в ЄС.
Скільки ми зберігаємо дані
Загальне правило: поки у вас є акаунт, ваші дані живуть. Ми не видаляємо їх за розкладом, бо сенс застосунку — історія за роки.
Докладно:
— Акаунт (пошта, ім’я, хеш пароля, налаштування, фото профілю) — до видалення акаунта.
— Рахунки, операції, категорії, бюджети, підписки — безстроково, поки існує простір, або поки ви не видалите їх самі.
— Чеки та їхні позиції, включно зі збереженим вмістом QR-коду — безстроково; видаляються вручну або разом із простором.
— Правила автокатегоризації товарів — разом із простором або категорією.
— Банківське підключення — до натискання «Вимкнути банк».
— Підключення до польського хабу чеків — до вимкнення або до видалення простору.
— Записи сесій — чесно: вони не видаляються. Під час виходу і під час продовження токена ми лише позначаємо запис як відкликаний. Фізично рядки зникають тільки разом з акаунтом. Ми це лагодимо (див. розділ «Що ми знаємо і лагодимо»).
— Запрошення — теж не видаляються: рядок запрошення разом з адресою запрошеного залишається в базі й після того, як запрошення прийнято або воно втратило чинність. Видаляється лише разом із простором або з акаунтом того, хто запросив. Теж у списку на виправлення.
— Курси валют — безстроково; персональних даних не містять.
— Кеш на сервері (членство, порахований план і зведення) — від 1 до 5 хвилин, курси валют — 30 днів; спливає сам.
— Логи сервера — до перестворення контейнера під час наступного оновлення; обмеження за часом зараз немає. У логах немає ні пошти, ні паролів, ні токенів, ні сум.
Що відбувається при видаленні акаунта — докладно розписано на окремій сторінці «Видалення акаунта». Там же чесно перелічено, що переживає видалення.
Що зберігається на вашому телефоні
Застосунок тримає копію ваших даних на пристрої, щоб працювати без інтернету і відкриватися миттєво. Копія — це операції за останні 6 місяців (до 10 000 записів на простір), рахунки, категорії, бюджети, простори і курси валют.
На iPhone
— Локальна база — у пісочниці застосунку. Окремим паролем застосунку вона не шифрується; її захищає шифрування самого iPhone.
— Важливо: ця база за замовчуванням синхронізується у ваш особистий iCloud (приватна база iCloud, доступна лише під вашим Apple ID). Тобто копія ваших операцій, балансів і нотаток лежить ще й у Apple, за правилами Apple. Ми до цієї копії доступу не маємо. Якщо ви цього не хочете — вимкніть iCloud для Finance в системних налаштуваннях iPhone.
— Токени входу лежать у системній зв’язці ключів (Keychain). Вони позначені як доступні після першого розблокування пристрою, а отже потрапляють до зашифрованої резервної копії iPhone і можуть відновитися на іншому вашому телефоні.
— Знімок профілю (пошта, ім’я, посилання на фото, налаштування вигляду) лежить у звичайних налаштуваннях застосунку у відкритому вигляді.
— Чесно: під час виходу з акаунта застосунок стирає операції, бюджети, категорії, рахунки і простори, але НЕ стирає вашу пошту і кеш курсів валют. Це у списку на виправлення.
На Android
— Локальна база — звичайний файл SQLite у пісочниці застосунку, окремим ключем застосунку не зашифрований; його захищає шифрування пристрою.
— Токени входу лежать у зашифрованому сховищі (EncryptedSharedPreferences, ключ в апаратному сховищі Android).
— Резервне копіювання в Google Drive для застосунку вимкнено — база і налаштування у хмару Google не вирушають.
— Якщо ви ввімкнули блокування застосунку PIN-кодом, у нас зберігається не сам PIN, а його згортка. Чесно: ця згортка — не криптографічний хеш, і захист PIN у нас слабкий. Вона лежить у зашифрованому сховищі, але покладатися на неї як на серйозний бар’єр не варто. Ми це переробляємо.
— Зняті камерою фотографії чеків зараз залишаються в тимчасовому кеші застосунку і не видаляються нашим кодом (вони зникають при очищенні кешу застосунку). Теж виправляємо.
— Під час виходу з акаунта стираються операції, бюджети, рахунки, категорії і простори, але залишається запис із вашою поштою. Виправляємо.
Біометрія. Ні відбиток, ні Face ID застосунок не отримує і не зберігає: операційна система відповідає нам лише «так» або «ні».
Як ми захищаємо дані
Що зроблено:
— Зв’язок застосунку з сервером іде через HTTPS з автоматично оновлюваним сертифікатом.
— Паролі зберігаються лише як незворотний хеш argon2. Ми їх не бачимо і відновити не можемо.
— Токени продовження сесії зберігаються лише у вигляді хешу. При кожному використанні токен змінюється; якщо хтось спробує використати старий украдений токен, увесь ланцюжок сесій рветься і ви виходите з усіх пристроїв. Зміна пароля відкликає всі сесії.
— Банківські секрети і приватний ключ доступу до польського хабу чеків зашифровані в базі (AES-256-GCM).
— База даних і кеш не опубліковані в інтернет — до них немає доступу ззовні сервера.
— Технічна документація API у робочій системі вимкнена.
— Паролі, пошта, токени і суми не пишуться в логи. Журнал HTTP-запитів не ведеться.
— На кожен запит перевіряється, чи перебуваєте ви в тому просторі, дані якого запитуєте.
Чого ми НЕ робимо і не будемо стверджувати:
— Ми не шифруємо базу даних «наскрізним» шифруванням. Фінансові записи лежать у базі в читабельному вигляді — інакше сервер не зміг би рахувати вам звіти. Зашифровані окремо лише банківські секрети.
— Ми не можемо гарантувати, що дані, передані сервісу розпізнавання чеків, обробляються за нашими правилами — там діють його правила.
Якщо станеться витік. Якщо станеться порушення безпеки, яке може вам зашкодити, ми повідомимо наглядовий орган протягом 72 годин, як вимагає GDPR, і напишемо вам, якщо ризик для вас високий.
Що ми вже знаємо і лагодимо
Ми вирішили не вдавати, що все ідеально. Ось слабкі місця, які ми знайшли під час перевірки власного коду, і що з ними:
- Фото профілю віддається за прямим посиланням без входу (описано вище). Закриваємо доступ авторизацією.
- Сторінка попереднього перегляду запрошення показує без входу адресу пошти запрошуваного. Прибираємо цю адресу з відповіді.
- Канал оновлень у реальному часі зараз перевіряє лише те, що ви увійшли у Finance, але не перевіряє, чи перебуваєте ви в конкретному просторі. Додаємо перевірку членства.
- Сповіщення про нові операції, які може надсилати банк, приймаються без перевірки підпису відправника. Додаємо перевірку.
- Записи сесій і запрошень не видаляються з часом. Додаємо регулярне очищення.
- Під час вимкнення банку запис підключення видаляється, а під час видалення акаунта — ні; він залишається в базі. Виправляємо каскадне видалення (подробиці — на сторінці «Видалення акаунта»).
- В Android-версії кнопка «Видалити акаунт» поки що не видаляє дані на сервері, а лише виходить з акаунта. До виправлення користуйтеся видаленням електронною поштою — як це зробити, описано на сторінці «Видалення акаунта».
- В iOS-версії мережеві налаштування допускають з’єднання без шифрування, якщо вручну вказати адресу сервера без HTTPS. За замовчуванням застосунок завжди працює через HTTPS. Повертаємо сувору політику.
- Сервер досі приймає запити незашифрованим HTTP на старій адресі — заради раніше випущених збірок застосунку. Вимкнемо, коли оновляться всі клієнти.
- Слабкий захист локального PIN-коду і тимчасові файли фотографій чеків на Android (описано вище).
Цей перелік ми оновлюємо: коли пункт виправлено, він звідси зникає.
Ваші права
За GDPR (і за українським законом про захист персональних даних, якщо ви в Україні) у вас є права:
- Дізнатися, які ваші дані у нас є, і отримати їх копію.
- Виправити неточні дані. Ім’я, пошту, фото, будь-які записи ви правите просто в застосунку.
- Видалити дані. Видалення акаунта доступне в застосунку і листом — див. окрему сторінку.
- Обмежити обробку, поки ми розбираємося зі спірним питанням.
- Забрати дані в машинозчитуваному вигляді, щоб перенести до іншого сервісу.
- Заперечити проти обробки, яку ми ведемо у своєму законному інтересі.
- Відкликати згоду — вимкнути банк, вимкнути хаб чеків, перестати знімати чеки, видалити фото профілю, вийти зі спільного простору. Відкликання не скасовує того, що було зроблено до нього законно.
Як скористатися: напишіть на support@serhiip.dev з тієї адреси, на яку зареєстровано акаунт. Ми відповідаємо безкоштовно і не пізніше ніж за місяць. Якщо запит складний, ми можемо продовжити строк ще на два місяці — і обов’язково попередимо про це в перший місяць. Якщо ми не впевнені, що лист від вас, ми попросимо підтвердити особу — наприклад, відповісти з адреси акаунта або назвати деталі, відомі власнику.
Куди поскаржитися
Якщо ви вважаєте, що ми поводимося з вашими даними неправильно, спочатку напишіть нам — майже все вирішується листом. Але ви маєте право звернутися до наглядового органу і без цього:
- Польща: Prezes Urzędu Ochrony Danych Osobowych (UODO), ul. Stawki 2, 00-193 Warszawa, uodo.gov.pl
- Україна: Уповноважений Верховної Ради України з прав людини, ombudsman.gov.ua
- Інші країни ЄС та ЄЕЗ: перелік органів — на сайті Європейської ради із захисту даних, edpb.europa.eu
Ви можете звернутися до органу за місцем проживання, за місцем роботи або за місцем імовірного порушення.
Діти
Застосунок не призначений для дітей. Створювати акаунт можна з 16 років; у Польщі та низці країн ЄС самостійна згода на обробку даних в онлайн-сервісах можлива з 16 років.
Ми не перевіряємо вік під час реєстрації — ми взагалі не збираємо дату народження. Якщо ви батько, мати або опікун і дізналися, що дитина завела акаунт без вашої згоди, напишіть на support@serhiip.dev: ми видалимо акаунт і пов’язані з ним дані.
Якщо ви ведете сімейний бюджет і хочете показати дитині витрати — робіть це зі свого акаунта, не заводячи їй окремий.
Зміни цієї політики
Якщо ми змінимо те, як працюємо з даними, ми оновимо цю сторінку і змінимо дату набрання чинності вгорі.
Якщо зміна суттєва — наприклад, з’явиться новий одержувач даних або нова мета обробки — ми повідомимо про це в застосунку до того, як зміна почне діяти.
Старі редакції ми зберігаємо і можемо надіслати на запит на support@serhiip.dev.
Ця сторінка доступна українською, російською, польською та англійською — тими самими мовами, що й сам застосунок.