Обработка health-данных
Этот документ дополняет Политику конфиденциальности техническими подробностями о том, как мы обращаемся с health-данными. Health data — это special category согласно Art.9 GDPR, поэтому мы описываем обработку отдельно и прозрачно.
1. Источники health-данных
Health-данные попадают в Health OS одним из трёх способов, всегда по вашей инициативе:
- Интеграции по API — вы соединяете свой аккаунт Oura, RescueTime, GitLab. Мы храним OAuth-токены в зашифрованном виде и периодически запрашиваем данные.
- File upload — Google Timeline (JSON), YouTube History (Takeout), CSV-выгрузки. Файлы обрабатываются на сервере, полезные поля извлекаются в нормализованный формат, исходные файлы могут храниться в Google Cloud Storage (europe-west1) как резервная копия.
- Ручной ввод — самоотчёты (mood, energy, brain fog), результаты когнитивных тестов (PVT), заметки протоколов.
Вы сами решаете, какие источники подключать и что загружать. Интеграции в любой момент можно отключить в Settings.
2. Где хранятся данные
| Слой | Провайдер | Регион | Что там |
|---|---|---|---|
| Основная БД | MongoDB Atlas | EU (Ireland) | Профиль, health-метрики, запуски протоколов |
| Файлы | Google Cloud Storage | europe-west1 | Загруженные экспорты (Timeline, Takeout) |
| Кэш сессий | MongoDB Atlas | EU (Ireland) | Session store (connect.sid) |
| Публичный сайт | Cloudflare Pages | Global CDN | Только статический контент landing, нет PII |
| Analytics | PostHog EU | EU (Frankfurt) | Анонимные события UI, без health-данных |
Данные не покидают EU при обработке. Cloudflare обслуживает только публичный landing (health-os.app), приложение (os.health-os.app) работает напрямую с EU-инфраструктурой.
3. Шифрование
- In transit: все соединения по TLS 1.2+. Internal service-to-service также по TLS.
- At rest:
- MongoDB Atlas шифрует тома AES-256 на уровне провайдера.
- Google Cloud Storage шифрует объекты AES-256 by default.
- Чувствительные поля (OAuth-токены интеграций) дополнительно шифруются приложением с ключом
ENCRYPTION_KEY, хранящимся в секретах сервера и недоступным извне.
- Backups: автоматические снапшоты MongoDB Atlas с ретеншеном 7 дней; тоже шифрованы.
4. Кто имеет доступ
- Вы — к своим данным через UI и через экспорт.
- Оператор (Никита Никитенок) — имеет технический доступ для операционной поддержки и разработки. Мы не читаем индивидуальные health-данные без вашей прямой просьбы (например, при помощи в debugging). Любой такой доступ логируется.
- Провайдеры (Atlas, GCS, PostHog) — имеют доступ к зашифрованной инфраструктуре в рамках своих обязательств по обработке (sub-processor) и соответствующих DPA.
Мы не продаём и не передаём health-данные третьим лицам для маркетинга или обучения ИИ-моделей.
5. Сроки хранения
- Health-метрики и результаты тестов — пока существует аккаунт.
- Загруженные файлы (Timeline, Takeout) — после обработки исходник можно удалить; нормализованные данные остаются с вашим аккаунтом.
- OAuth-токены интеграций — до отключения интеграции, после чего удаляются в течение 24 часов.
- Логи приложения — 14 дней (без health-данных, только трассы запросов).
- Analytics-события (PostHog) — 90 дней.
- Backups — 7 дней после удаления.
6. Удаление
- Удаление аккаунта — напишите на [email protected] с email-адреса своего аккаунта. После подтверждения:
- Сессия завершается, аккаунт блокируется для входа.
- В течение 30 дней каскадно удаляются health-данные, запуски протоколов, настройки, OAuth-токены, файлы в GCS (админ-путь выполняет единый проход cascade-delete по документам пользователя; backups истекают отдельно).
- В течение 7 дней после cascade-delete данные исчезают из backups (retention истекает). (Self-service кнопка удаления в Settings — в плане.)
- Отключение интеграции — Settings → Integrations → Disconnect удаляет сохранённый OAuth-токен и останавливает дальнейший sync. Ранее импортированные метрики остаются под вашим аккаунтом; чтобы удалить и их, напишите email с названием интеграции и диапазоном дат или запросите полное удаление аккаунта.
- Экспорт данных — Settings → Export all data (полный ZIP / metrics CSV·JSON / events CSV·JSON), либо по email.
7. Data breach plan
Если мы обнаружим утечку, затрагивающую ваши health-данные:
- Уведомим регулятора (Государственная инспекция защиты данных Литвы) в течение 72 часов.
- Уведомим вас по email без неоправданной задержки.
- Опишем характер утечки, затронутые категории данных, рекомендуемые действия.
8. Sub-processors (перечень)
- MongoDB Atlas (MongoDB Inc., серверы в Ireland) — primary storage.
- Google Cloud Platform (Google Ireland Ltd., europe-west1) — compute + GCS.
- Cloudflare (Cloudflare Inc., global CDN, EU edge по возможности) — только публичный сайт.
- PostHog (PostHog Inc., EU region) — analytics.
- Google OAuth (Google Ireland Ltd.) — authentication.
Этот перечень поддерживается актуальным; изменения фиксируются в updatedAt.
9. Контакт
Data protection questions: [email protected].