Skip to content

Instantly share code, notes, and snippets.

@swift2geek
Created July 20, 2026 09:12
Show Gist options
  • Select an option

  • Save swift2geek/17e58bc80e841a1ef05e8b0699328e1d to your computer and use it in GitHub Desktop.

Select an option

Save swift2geek/17e58bc80e841a1ef05e8b0699328e1d to your computer and use it in GitHub Desktop.
SwipeDetox — Privacy Policy (EN/RU)

SwipeDetox — Privacy Policy

Effective date: 20 July 2026 App: SwipeDetox (iOS) — bundle ID com.valter.SwipeDetox Contact: swift2geek@gmail.com

SwipeDetox is built so that the sensitive parts of what you do — the apps you block and the camera feed used to count your reps — never leave your iPhone. This policy explains exactly what stays on device, what is sent to third parties, and why.


1. Data that never leaves your device

Camera / video. SwipeDetox uses the front or back camera to count push-ups and squats. Frames are analysed live on-device with Apple's Vision framework. No video, image or still frame is recorded, stored or transmitted anywhere. The camera stream exists only in memory while a workout is running and is discarded immediately.

Your app selection (Screen Time). Blocking is implemented with Apple's Family Controls / Screen Time APIs. The apps and categories you choose are represented by opaque tokens issued by iOS and stored in an App Group container on your device. These tokens are meaningless outside your device, and neither we nor any third party ever receives the list of apps you selected.

Workout history and progress. Daily rep counts, streaks, goals, achievements and settings are stored locally with SwiftData. There is no account, no login and no server-side backup of this data. Deleting the app deletes all of it.

2. Data processed by third parties

The following services are active in the App Store release build only (they are disabled entirely in development builds).

2.1 Analytics — Mixpanel

We use Mixpanel to understand how the app is used in aggregate. Data is sent to Mixpanel's EU ingestion endpoint (api-eu.mixpanel.com) and processed in the European Union.

Events collected: app launch, screen views and time spent per screen, onboarding progress, paywall shown/dismissed, subscription purchased/restored, workout started/completed (reps, goal, duration, exercise type), goal reached, number of apps and categories selected (the count only — never which apps), apps unblocked, and when a Pro-only feature was reached.

Properties attached: app version, build number, device model (e.g. "iPhone"), iOS version, subscription status, and a randomly generated Mixpanel device identifier.

We do not send your name, email address, phone number, contacts, precise location, advertising identifier (IDFA) or any content of the apps you use.

Mixpanel privacy policy: https://mixpanel.com/legal/privacy-policy/

2.2 Crash and performance reporting — Sentry

Sentry receives crash reports, unhandled errors and app-hang reports so we can fix them. A report contains the stack trace, app version, device model, OS version and the app's technical state at the moment of failure. A sample of performance traces (20%) is also collected. Crash reports may incidentally contain technical identifiers, but never your workout data or app selection.

Sentry privacy policy: https://sentry.io/privacy/

2.3 Subscriptions — RevenueCat

Purchases and subscription status are managed through RevenueCat, which acts on our behalf and communicates with the Apple App Store. RevenueCat receives an anonymous app user ID, the App Store transaction and receipt information, product identifiers, and country/device metadata needed to validate a purchase.

Your payment details are handled entirely by Apple. We never see or store your card number or billing address.

RevenueCat privacy policy: https://www.revenuecat.com/privacy/

2.4 Apple

Apple processes your purchase, subscription renewals and (if you enable it) App Store analytics under its own privacy policy: https://www.apple.com/legal/privacy/

3. Legal basis (GDPR)

For users in the EEA/UK, we rely on:

  • Contract — processing required to provide the subscription and unlock Pro features (RevenueCat, Apple).
  • Legitimate interest — keeping the app stable and improving it (Sentry, Mixpanel), balanced against your privacy by collecting only pseudonymous, aggregate-level product data.

4. Retention

Analytics and crash data are retained by our processors according to their standard retention windows (Mixpanel and Sentry: up to 90 days for detailed event/error data, longer for aggregate metrics). Subscription records are retained by RevenueCat for the life of the subscription plus the period required by Apple for financial reconciliation. Local data lives on your device until you delete it or uninstall the app.

5. Your rights

You can request access to, correction of, or deletion of the data associated with you, and you can object to analytics processing. Write to swift2geek@gmail.com — include your device model and approximate first-use date so the pseudonymous record can be located. We respond within 30 days.

You can also:

  • Delete everything local by uninstalling SwipeDetox.
  • Limit tracking at OS level in Settings → Privacy & Security.
  • Revoke Screen Time access in Settings → Screen Time, which stops all blocking.

6. Children

SwipeDetox is not directed at children under 13. We do not knowingly collect data from children under 13. If you believe a child has provided data to us, contact swift2geek@gmail.com and it will be deleted.

7. Security

Data in transit is encrypted with TLS. Local data is protected by iOS file-level encryption and the app sandbox. Screen Time tokens are stored in a shared App Group accessible only to SwipeDetox and its own extensions.

8. International transfers

Analytics data is processed in the EU. Sentry and RevenueCat may process data in the United States under Standard Contractual Clauses or equivalent safeguards.

9. Changes

If this policy changes materially, the effective date above is updated and the change is noted in the app's release notes.

10. Contact

swift2geek@gmail.com



SwipeDetox — Политика конфиденциальности

Дата вступления в силу: 20 июля 2026 г. Приложение: SwipeDetox (iOS) — bundle ID com.valter.SwipeDetox Контакт: swift2geek@gmail.com

SwipeDetox устроен так, чтобы самое чувствительное — какие приложения вы блокируете и видеопоток с камеры для подсчёта повторений — никогда не покидало ваш iPhone. Ниже — что именно остаётся на устройстве, что уходит третьим лицам и зачем.


1. Данные, которые не покидают устройство

Камера и видео. SwipeDetox использует камеру, чтобы считать отжимания и приседания. Кадры анализируются на устройстве через Apple Vision. Видео, изображения и отдельные кадры не записываются, не сохраняются и никуда не передаются. Поток существует только в памяти во время тренировки и сразу уничтожается.

Выбор приложений (Screen Time). Блокировка реализована через Apple Family Controls / Screen Time. Выбранные приложения и категории представлены непрозрачными токенами, которые выдаёт iOS, и хранятся в контейнере App Group на вашем устройстве. Вне устройства эти токены бессмысленны — ни мы, ни третьи лица не получают список выбранных вами приложений.

История тренировок и прогресс. Дневные повторения, серии, цели, достижения и настройки хранятся локально через SwiftData. Аккаунта, входа и серверных копий нет. Удаление приложения удаляет все эти данные.

2. Данные, обрабатываемые третьими лицами

Перечисленные сервисы работают только в релизной сборке из App Store и полностью отключены в отладочных сборках.

2.1 Аналитика — Mixpanel

Mixpanel нужен, чтобы понимать использование приложения в агрегированном виде. Данные отправляются на европейский эндпоинт (api-eu.mixpanel.com) и обрабатываются в ЕС.

Собираемые события: запуск приложения, просмотры экранов и время на экране, прохождение онбординга, показ и закрытие пейвола, покупка и восстановление подписки, начало и завершение тренировки (повторения, цель, длительность, тип упражнения), достижение цели, количество выбранных приложений и категорий (только количество — никогда не сами приложения), снятие блокировки, обращение к Pro-функции.

Свойства: версия приложения, номер сборки, модель устройства (например, «iPhone»), версия iOS, статус подписки и случайно сгенерированный идентификатор устройства Mixpanel.

Мы не передаём имя, e-mail, телефон, контакты, точную геолокацию, рекламный идентификатор (IDFA) и содержимое ваших приложений.

Политика Mixpanel: https://mixpanel.com/legal/privacy-policy/

2.2 Отчёты о сбоях — Sentry

Sentry получает отчёты о крашах, необработанных ошибках и зависаниях приложения. Отчёт содержит стек вызовов, версию приложения, модель устройства, версию ОС и техническое состояние приложения в момент сбоя. Также собирается выборка трассировок производительности (20%). Отчёты о сбоях могут содержать технические идентификаторы, но не данные о тренировках и не выбор приложений.

Политика Sentry: https://sentry.io/privacy/

2.3 Подписки — RevenueCat

Покупки и статус подписки обрабатываются через RevenueCat, который действует по нашему поручению и взаимодействует с App Store. RevenueCat получает анонимный идентификатор пользователя, данные транзакции и чека App Store, идентификаторы продуктов и метаданные страны/устройства, необходимые для проверки покупки.

Платёжные данные обрабатывает исключительно Apple. Мы не видим и не храним номер карты и платёжный адрес.

Политика RevenueCat: https://www.revenuecat.com/privacy/

2.4 Apple

Apple обрабатывает покупку, продления подписки и (если вы это разрешили) аналитику App Store согласно собственной политике: https://www.apple.com/legal/privacy/

3. Правовые основания (GDPR)

Для пользователей из ЕЭЗ/Великобритании:

  • Исполнение договора — обработка, необходимая для предоставления подписки и Pro-функций (RevenueCat, Apple).
  • Законный интерес — поддержание стабильности и улучшение приложения (Sentry, Mixpanel); баланс соблюдается за счёт сбора только псевдонимных продуктовых данных.

4. Сроки хранения

Аналитика и данные о сбоях хранятся у обработчиков в соответствии с их стандартными сроками (Mixpanel и Sentry — до 90 дней для детальных событий и ошибок, дольше для агрегированных метрик). Данные о подписке хранятся в RevenueCat в течение срока подписки плюс период, необходимый Apple для финансовой сверки. Локальные данные хранятся на устройстве, пока вы их не удалите.

5. Ваши права

Вы вправе запросить доступ, исправление или удаление связанных с вами данных и возразить против аналитической обработки. Напишите на swift2geek@gmail.com, указав модель устройства и примерную дату первого запуска, чтобы можно было найти псевдонимную запись. Отвечаем в течение 30 дней.

Также вы можете:

  • Удалить все локальные данные, удалив SwipeDetox.
  • Ограничить отслеживание на уровне ОС в «Настройки → Конфиденциальность и безопасность».
  • Отозвать доступ к Screen Time в «Настройки → Экранное время» — блокировка при этом прекращается.

6. Дети

SwipeDetox не предназначен для детей младше 13 лет. Мы сознательно не собираем данные детей младше 13 лет. Если вы считаете, что такие данные были переданы, напишите на swift2geek@gmail.com — они будут удалены.

7. Безопасность

Данные при передаче защищены TLS. Локальные данные защищены пофайловым шифрованием iOS и песочницей приложения. Токены Screen Time хранятся в общей группе App Group, доступной только SwipeDetox и его расширениям.

8. Международная передача

Аналитика обрабатывается в ЕС. Sentry и RevenueCat могут обрабатывать данные в США на основании Стандартных договорных условий или эквивалентных гарантий.

9. Изменения

При существенных изменениях политики обновляется дата вступления в силу выше, а изменение отмечается в примечаниях к выпуску.

10. Контакт

swift2geek@gmail.com

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment