На этой странице описано, какие данные запрашивает приложение PetCareDiary, как они используются в целях подписки и защиты, и как мы применяем Google Play Billing и Play Integrity API. Материал основан на форме Google Play Data Safety и актуальной реализации в версии 1.2.0+4.
Какие данные собираются
Аккаунт и профиль: email, имя, фото профиля, язык интерфейса, настройки уведомлений. Используются для аутентификации (Firebase), синхронизации и поддержки.
Данные питомцев и дневников: кличка, вид/порода, даты, веса, заметки, напоминания, медиа. Нужны для основной функции дневника, не передаются третьим лицам.
Платежи и подписки: статус Premium, идентификаторы заказов Google Play, даты продления/отмены. Хранятся на нашем сервере и сверяются с Google Play Developer API.
Проверка целостности (Play Integrity): криптографический токен, одноразовый nonce, время проверки, IP и verdict (MEETS_DEVICE_INTEGRITY и т.п.). Используются только для анти-фрода и защиты подписок.
Технические логи: модель устройства, версия приложения, push-токены. Применяются для уведомлений и диагностики.
Как мы защищаем данные
Все запросы идут по HTTPS; токены Play Integrity и биллинга передаются и хранятся зашифрованно.
На устройстве секреты Integrity сохраняются через hardware-backed хранилище (Android Keystore + flutter_secure_storage).
Сервер применяет rate-limit по IP и userId для endpoint `verify_integrity.php`, ведёт журнал нарушений и вводит «limited mode» или «cooldown» при подозрениях.
Работник `BillingRecoveryWorker` на Android регулярно подтверждает покупки, чтобы не оставались «pending».
Взаимодействие с Play Billing
Подписки оформляются через Google Play Billing Library 6.1.0. Приложение шифрует obfuscatedAccountId (включая userId), сервер проверяет токены через Google Play Developer API (`subscriptionsv2`). Управлять подпиской можно через раздел «Настройки → Премиум → Управлять подпиской», который открывает страницу Google Play.
Политика хранения и удаление
Данные аккаунта и питомцев удаляются немедленно при удалении аккаунта (Настройки → Аккаунт → Удалить аккаунт).
Платёжные записи хранятся не менее 3 лет для бухгалтерии, но не содержат данных карты.
Логи Play Integrity сохраняются до 90 дней для расследования злоупотреблений.
Контроль и права пользователя
В приложении доступен экспорт напоминаний и удаление всех данных аккаунта.
Чек-лист подготовки к релизу включает проверку Play Integrity, Data Safety форм, политики и статических страниц (doc/CHECKLIST_BEFORE_TESTING.md).
На цій сторінці пояснюється, які дані збирає застосунок PetCareDiary, як вони використовуються для підписок і безпеки, а також як реалізовані Google Play Billing і Play Integrity API.
Які дані ми обробляємо
Акаунт: email, імʼя, фото, мова, push-токени — для входу та підтримки.
Дані про тварин: кличка, порода, записи здоровʼя, нагадування, фото — основний функціонал щоденника.
Підписки: статус Premium, ідентифікатор покупки, дата закінчення / автоматичного продовження — синхронізуються з Google Play.
Play Integrity: токен перевірки, nonce, IP, verdict — лише для захисту від шахрайства.
Технічні дані: модель пристрою, версія застосунку, журнали помилок.
Безпека та Play Integrity
Усі виклики API шифруються (HTTPS). Сервер проводить перевірку токена Integrity та повертає limited_mode / cooldown_seconds, які застосунок показує в paywall.
Nonce генерується з урахуванням секрету пристрою (Keystore), що ускладнює підробку.
Коли Integrity не пройшла, відновлення покупок тимчасово блокується, у UI відображається таймер.
Налаштування підписок
Кнопка «Керувати підпискою» відкриває сторінку Google Play за адресою https://play.google.com/store/account/subscriptions?package=top.petcarediary. Там можна змінити тариф або скасувати автопродовження.
Зберігання та видалення
Акаунт і всі дані можна видалити в налаштуваннях. Після цього записи видаляються з серверів негайно.
Платіжні записи зберігаємо мінімум 3 роки (законодавчі вимоги).
This page summarizes how PetCareDiary handles user data, subscriptions and anti-fraud controls. It reflects the Google Play Data Safety form and the current implementation of Google Play Billing + Play Integrity API.
Data categories
Account data: email, display name, profile photo, locale, push tokens – required for authentication (Firebase) and support.
Pet & diary content: pets’ profile fields, health notes, reminders, photos – stored on our server only, never sold or shared.
Billing data: purchase tokens, subscription status, renewal / cancel timestamps – validated against Google Play Developer API (subscriptions v2).
Play Integrity signals: signed verdict, nonce, timestamp, originating IP – used exclusively to guard Premium access.
Diagnostics: device model, app version, crash logs – for reliability and support.
Security controls
All traffic is HTTPS. Sensitive secrets (Integrity device secret, JWT refresh tokens) live in secure storage backed by Android Keystore.
The backend enforces rate limits on `verify_integrity.php` (per IP and user) and records alerts for spikes of HTTP 428 / 429.
Billing acknowledgements are retried by `BillingRecoveryWorker` even if the user closes the app.
Premium UI surfaces server decisions (`limited_mode`, cooldown) so users understand why restore is blocked.
Managing your subscription
The Settings screen contains a “Manage Subscription” button that launches the Google Play subscription center for package top.petcarediary. All upgrades, downgrades or cancellations are handled there; the app mirrors the status via secure server-to-server checks.
Retention & deletion
Account + pet content is purged immediately when you delete the account inside the app.
Purchase records are retained for at least three years to comply with accounting rules.
Play Integrity logs are stored up to 90 days to investigate abuse.