Ваши записи остаются на вашем устройстве. Мы не используем их для рекламы и не отправляем их текст в аналитику. Если вы запрашиваете AI-отчёт, данные, необходимые для его формирования, отправляются на наш сервер и стороннему провайдеру ИИ (OpenAI) исключительно для генерации отчёта.
1. Общие положения и архитектура
Приложение DayUp («мы», «наш» или «приложение») — это персональный дневник побед и рефлексии для iOS, разработанный Шамилем Рахимовым (идентификатор пакета Bundle ID: dev.rakhimov.Vizort). DayUp создан для фиксации ежедневных усилий, оценки баланса через Колесо жизни и получения персональных инсайтов.
Архитектура приложения построена на принципе приоритета локальной приватности (privacy by design). Основные данные хранятся исключительно на вашем устройстве. Внешняя обработка данных происходит только при явном запуске конкретных функций, как описано ниже.
2. Что мы НЕ собираем
Для полной ясности DayUp не собирает и не запрашивает следующие категории данных:
- Геолокация: приложение не запрашивает, не собирает, не отслеживает и не использует данные GPS или физическое местоположение устройства.
- Контакты и адресная книга: приложение не имеет доступа к вашему списку контактов.
- Фотографии и камера: приложение не запрашивает доступ к камере или медиатеке фотографий.
- Микрофон и аудио: приложение не ведёт аудиозапись и не использует микрофон.
- Здоровье и фитнес: приложение не подключается к Apple HealthKit и не считывает датчики движения или физической активности.
- Рекламные идентификаторы и трекеры: приложение не использует рекламный идентификатор (IDFA), рекламные трекеры и межсайтовое отслеживание.
- Продажа данных: мы никогда не продаём, не сдаём в аренду и не передаём ваши личные данные третьим лицам в маркетинговых или коммерческих целях.
3. Локальное хранение данных (на устройстве)
Базовые функции DayUp работают полностью автономно без подключения к интернету. Следующие данные хранятся исключительно на вашем устройстве в защищённой песочнице iOS:
- Усилия (победы и достижения): текст записи, категория (тег), дата усилия и время создания сохраняются локально через Apple SwiftData.
- Колесо жизни: дата оценки, названия сфер/пунктов и выбранные уровни удовлетворённости (от 1 до 5) сохраняются локально через Apple SwiftData.
- Последний успешный AI-отчёт: результат последней генерации сохраняется локально в системной директории
Application Supportдля возможности повторного просмотра без сети. - Пинкод и настройки защиты: ваш 4-значный пинкод, статус использования биометрии и параметры напоминаний сохраняются локально в
UserDefaults. - Время ежедневного напоминания: выбранное время уведомления хранится локально в
UserDefaults.
Эти локальные данные автоматически не загружаются на наши серверы и не синхронизируются со сторонними облачными базами данных.
4. Продуктовая телеметрия и аналитика
В релизных сборках DayUp отправляет события продуктовой телеметрии в Firebase Analytics (Google) и AppMetrica (Яндекс). Это необходимо для контроля стабильности приложения, отслеживания сбоев и понимания востребованности функций.
Что передаётся в аналитику:
- Состояние приложения: запуск приложения, признак первого запуска, состояние блокировки пинкодом, проверка поддерживаемой версии.
- Навигация: выбранная вкладка в панели навигации.
- Действия пользователя: факт создания, редактирования (какое поле изменено: текст, тег или дата) и удаления усилия; создание тега; открытие и сохранение Колеса жизни; открытие экрана настроек; нажатие на экспорт.
- Количественные диапазоны (бакеты): приблизительные числовые интервалы (например,
0,1,2_5,6_20,21_50,51_plus) для количества усилий, активных дней, тегов и Колёс жизни. - Пейволл и подписки: показы и закрытия экрана подписки, завершение покупки, изменение статуса подписки, нажатия на заблокированные платные функции.
- Напоминания и безопасность: включение/выключение напоминаний, строковое время напоминания, статус разрешения системных уведомлений, создание/удаление пинкода, включение/выключение биометрии.
- События удаления данных: начало, отмена, успешное завершение или ошибка при выполнении действия удаления всех данных.
- Текст ваших усилий и заметок.
- Пользовательские названия тегов.
- Пользовательские названия сфер и пунктов Колеса жизни.
- Содержимое экспортированных JSON-файлов.
- Сырые тексты системных ошибок, содержащие пользовательский контекст.
5. Обработка AI-отчёта (DayUp Plus)
Подписчикам тарифа DayUp Plus доступна функция генерации AI-отчёта. Она анализирует ваши усилия и оценки Колеса жизни, формируя структурированные выводы и фокус на неделю.
Принципы работы AI-отчёта:
- Только по прямому действию пользователя: данные отправляются исключительно при нажатии кнопки «Сгенерировать AI-отчёт». Автоматической фоновой отправки записей нет.
- Что передаётся на сервер: при генерации приложение отправляет запрос в облачную функцию Firebase Cloud Functions (регион
europe-west1), содержащий:- Контекст клиента: версия приложения, платформа (
ios), локаль, часовой пояс, время генерации. - Подтверждение подписки: криптографически подписанный App Store transaction JWS (StoreKit 2) для валидации активной подписки DayUp Plus.
- Все сохранённые усилия: текст записи, тег, дата.
- Все сохранённые Колёса жизни: дата, названия сфер/пунктов, уровни (1–5).
- Контекст клиента: версия приложения, платформа (
- Проверки на бэкенде: серверная функция проверяет авторизацию (анонимный вход Firebase Auth), токен целостности App Check, статус подписки DayUp Plus (по корневым сертификатам Apple), объём payload (не более 256 КБ, не более 500 усилий, 50 колёс, 10 пунктов на колесо, ограничения длины строк) и недельный лимит генераций (интервал 7 дней).
- Сторонний обработчик ИИ (OpenAI): бэкенд формирует структурированный запрос и отправляет его в OpenAI через Responses API с фиксированной JSON-схемой. OpenAI обрабатывает данные исключительно для составления разделов отчёта (главный инсайт, сильные направления, зоны внимания, нестыковки, фокус недели).
6. Что сохраняет бэкенд и логирование
Наш серверный бэкенд придерживается принципа строгой минимизации данных:
- Метаданные лимита в Firestore: в базе данных Cloud Firestore сохраняются только метаданные частоты генерации в коллекции
ai_report_limits/{uid}со следующими полями:last_generated_at(время последней генерации)next_available_at(время, когда станет доступна следующая генерация)generation_count(счётчик выполненных генераций)updated_at(время обновления записи)
- Отсутствие хранения контента: бэкенд не сохраняет ваши сырые усилия, Колёса жизни, скомпилированные промпты, сгенерированные ответы OpenAI и сырые токены App Store JWS в базу данных.
- Логирование функций: системные логи Cloud Functions содержат только технические метаданные (анонимный Firebase UID, количество усилий и колёс, локаль, версия схемы, платформа, версия приложения, ID тарифа подписки, срок действия и SHA-256 хеш транзакции). Пользовательские тексты и промпты в логи не попадают.
7. Анонимная авторизация Firebase Auth
Для безопасного вызова облачных функций генерации отчёта без требования логина и пароля DayUp использует анонимный вход Firebase Authentication (signInAnonymously).
Создаваемый идентификатор пользователя (UID) является псевдонимным и не связан с вашим именем, email-адресом, номером телефона или учетной записью Apple ID.
8. Подписки и платежи (StoreKit 2)
В приложении доступны автовозобновляемые подписки тарифа DayUp Plus (месячная: dayup_plus_1m, 3 месяца: dayup_plus_3m, годовая: dayup_plus_1y; группа подписок: 21868960).
Все финансовые транзакции, списания и продления обрабатываются исключительно компанией Apple через StoreKit 2. DayUp не собирает, не обрабатывает и не хранит номера ваших банковских карт, реквизиты счетов или платёжные адреса.
9. Уведомления и напоминания
Если вы включили ежедневное напоминание, уведомления планируются локально через системный фреймворк iOS UserNotifications (UNUserNotificationCenter). Расписание напоминаний обрабатывается операционной системой на вашем устройстве и не передаётся на сервер.
10. Пинкод и биометрия
Вы можете защитить вход в DayUp с помощью 4-значного пинкода и биометрии (Face ID / Touch ID):
- Пинкод хранится локально в
UserDefaultsна вашем устройстве. - Биометрическая аутентификация выполняется непосредственно операционной системой iOS через фреймворк
LocalAuthenticationи защищённый чип Secure Enclave. Приложение не имеет доступа к вашим биометрическим образцам (сканам лица или отпечаткам пальцев).
11. Экспорт данных
Пользователи DayUp Plus могут экспортировать свои усилия и данные Колеса жизни в формат JSON. Экспортируемый файл создаётся локально во временной директории устройства и открывается через стандартное системное меню «Поделиться» (Share Sheet). DayUp не загружает этот файл на свои серверы — направление отправки или сохранения файла определяете вы сами.
12. Удаление данных («Удалить все данные»)
В меню настроек приложения предусмотрена функция «Удалить все данные»:
- При подтверждении этого действия приложение немедленно и безвозвратно удаляет с устройства все локальные записи усилий в SwiftData, все данные Колеса жизни и локально сохранённый AI-отчёт.
- Прозрачность в отношении серверных метаданных: кнопка в приложении очищает данные на устройстве. Документ метаданных лимита на сервере (
ai_report_limits/{uid}в Firestore, содержащий только технические временные метки лимита) автоматически этой кнопкой не удаляется. Если вы хотите полностью стереть серверную запись лимита, напишите нам на rakhimov.dev@gmail.com.
13. Сторонние обработчики данных
Для обеспечения работы приложения мы привлекаем следующих партнёров:
| Провайдер | Роль / Сервисы | Политика конфиденциальности |
|---|---|---|
| Google (Firebase) | Анонимная аутентификация, Cloud Functions (бэкенд AI-отчёта), Firestore (метаданные лимитов), App Check, Remote Config, Analytics, Hosting | Google Privacy Policy |
| AppMetrica (Яндекс) | Продуктовая телеметрия, аналитика использования, трекинг стабильности | AppMetrica Безопасность данных |
| OpenAI | Генерация AI-отчёта (обработка текста усилий и Колеса жизни по явному запросу пользователя) | OpenAI Privacy Policy |
| Apple Inc. | Дистрибуция через App Store, обработка покупок StoreKit 2, системные фреймворки iOS | Apple Privacy Policy |
14. Свободный ввод текста и персональная информация
DayUp предоставляет свободные текстовые поля для записи усилий и тегов. Мы не просим указывать чувствительные категории данных (такие как медицинские, финансовые или биометрические сведения). Однако, поскольку поля ввода свободные, любой введённый вами текст будет включён в состав данных для генерации отчёта при нажатии кнопки «Сгенерировать AI-отчёт».
Рекомендуем учитывать этот факт при ведении приватных записей.
15. Конфиденциальность детей
Приложение DayUp не предназначено для детей младше 13 лет (или младше 16 лет в странах Европейской экономической зоны). Мы намеренно не собираем личную информацию о детях.
16. Права пользователя и контроль над данными
В соответствии с действующим законодательством о защите данных (включая GDPR), вы обладаете следующими правами:
- Доступ и переносимость: вы можете в любой момент выгрузить свои данные в формате JSON через экран настроек.
- Удаление: вы можете полностью стереть локальные данные через кнопку «Удалить все данные» в настройках или запросить удаление серверных метаданных по email.
- Отзыв согласия: вы можете не использовать функцию AI-отчёта; ваши данные никогда не отправляются провайдерам ИИ без вашего прямого нажатия на кнопку генерации.
17. Контакты
Если у вас возникли вопросы, предложения или запросы касательно данной Политики конфиденциальности или обработки ваших данных, пожалуйста, свяжитесь с нами: