Данные, хранимые DoneAt
Информация, которую вы вводите, хранится локально по умолчанию: в локальном хранилище браузера в веб-таймере и в данных приложения на iPhone, iPad, Android, Mac и Windows. DoneAt не предоставляет учётные записи продукта и не отправляет эту информацию на серверы DoneAt.
На iPhone и iPad можно включить синхронизацию iCloud. Она хранит ваши расписания, записи, зарплату, настройки напоминаний, оформление, язык, профиль жизни и данные Фокусировки в вашей приватной базе данных iCloud под вашей учётной записью Apple. Авторизация уведомлений, биометрическая защита, настройки Live Activity, текущий рабочий таймер и состояние онбординга остаются на каждом устройстве. Веб-таймер, приложение Android, Mac и приложение Windows остаются локальными и не участвуют в этой синхронизации.
Обратный отсчёт, прогресс и оценка заработка вычисляются на вашем устройстве из этой информации.
Обычно это включает:
- Время начала и окончания, рабочие дни и настройки перерывов или сверхурочных
- Сумма зарплаты, период оплаты и история зарплат
- Записи работы и корректировки, этапы карьеры и жизненные вехи или даты, которые вы вводите
- Названия задач фокусировки, планы, сессии и настройки отдыха
- Настройки уведомлений и напоминаний
- Язык и оформление
Опциональная синхронизация iCloud
Синхронизация выключена по умолчанию. Когда вы включаете её на iPhone или iPad, сервис CloudKit от Apple хранит данные, описанные выше, в приватной базе данных, связанной с вашей учётной записью Apple. DoneAt не получает копию на своих серверах. Устройства с той же учётной записью Apple могут восстановить и синхронизировать эти данные; это требует доступной учётной записи iCloud и сетевого подключения.
Включение синхронизации требует DoneAt Plus. Уже включённая синхронизация продолжается после истечения подписки. Отключение синхронизации останавливает синхронизацию на этом устройстве и сохраняет как текущую локальную копию, так и существующую копию iCloud. Отключение не удаляет ни одну из копий.
Android
Приложение Android проходит тестирование; доступность и покупки Plus зависят от публикации в Google Play. Рабочие данные и настройки по умолчанию хранятся в закрытом хранилище приложения. Учётной записи DoneAt и аналитики использования в приложении нет.
Системные резервные копии и перенос устройства могут включать записи, зарплату, карьерную историю, жизненный профиль, данные Focus и незавершённую настройку. Это зависит от устройства, аккаунта и системных параметров; DoneAt не получает серверную копию. Текущий таймер, реестр напоминаний и подтверждения покупок исключены. После восстановления напоминания создаются заново, а покупки проверяются. Автоматической синхронизации с Google Drive или iPhone нет. Ручной экспорт создаёт читаемый JSON, который может содержать зарплату; выбранное место или получатель получает отдельную копию.
Google Play обрабатывает покупки и добровольные отзывы. DoneAt не получает данные карты и не узнаёт, отправили ли вы отзыв. Подтверждения с товаром и токеном хранятся локально вне системной копии. Проверка возможна при запуске, возврате в приложение, восстановлении или повторе подтверждения. Если серверная проверка включена, токен, товар и случайный идентификатор запроса отправляются по HTTPS на api.doneat.app в Cloudflare. Google сообщает изменения через Cloud Pub/Sub. Сервис проверяет статус и точный срок у Google и возвращает подписанное подтверждение, не получая рабочих данных или резервных копий.
База хранит хеш токена, товар, статус и срок доступа, время проверки, признак тестовой покупки, хеш заменяющего токена и ревизию для проверки, восстановления и защиты от повторного использования заменённых покупок. ID уведомлений устраняют дубли в окне 30 дней; старые записи удаляются при обработке следующих уведомлений. Исходные токены и ответы Google обрабатываются временно, без записи в базу или журналы приложения. Ограничение по IP временное; DoneAt не хранит IP и их хеши в базе. Google и Cloudflare обрабатывают трафик по своим политикам. Идентификаторы покупок не используются для рекламы или профилирования использования.
Напоминания планируются локально. Проверка личности на устройстве возвращает только результат, без биометрии или PIN. Backdrop (AndroidLiquidGlass) и Shapes рисуют локально, не передавая содержимое и идентификаторы авторам; исходники и лицензии — в разделе О проекте.
Удалить локальные данные можно в приложении, очистив его хранилище или удалив приложение. Экспорты и системные копии удаляются отдельно у их поставщика. Для удаления серверной записи о покупке напишите на [email protected]. Локальное удаление не удаляет эту запись автоматически и не отменяет подписку; управляйте ей в Google Play. Экспорт и удаление доступны без активного Plus.
Экспорт резервных копий
На iPhone и iPad экспорт резервной копии создаётся только когда вы выбираете Экспорт. Полная резервная копия включает ваши записи, синхронизированные настройки, зарплату и историю зарплат, профиль жизни, задачи и сессии фокусировки. Можно экспортировать без профиля жизни; этот вариант всё ещё включает зарплату и историю карьеры. Системный лист обмена позволяет выбрать, куда сохранить или поделиться файлом.
Экспорт — читаемый JSON-файл, а не защищённый паролем архив. Выбирайте место хранения и получателей, подходящие для содержащейся информации. Сохранённые или отправленные файлы — отдельные копии; удаление данных в DoneAt не удаляет эти файлы.
Покупки Plus
На iPhone и iPad Apple обрабатывает подписки Plus и пожизненные покупки через App Store. DoneAt использует StoreKit для проверки статуса покупки и восстановления доступа, и хранит локальную запись подтверждённого права и даты истечения. DoneAt не получает данные вашей платёжной карты и не отправляет статус покупки на сервер учётных записей DoneAt. Apple обрабатывает информацию о покупках по своим политикам.
Истечение подписки не удаляет существующие записи. Экспорт и удаление остаются доступными без активной подписки.
Официальный сайт
doneat.app — статический сайт. Он не собирает ваши смены или зарплату. Открытие корня сайта или короткого пути вроде /privacy или /download следует языку браузера и направляет вас в соответствующий зал или на страницу поддержки на английском или упрощённом китайском. Язык остаётся в URL страницы; этот сайт не устанавливает языковую cookie.
Для размещения страниц Vercel может обрабатывать обычную информацию о соединении, такую как IP-адрес и идентификатор браузера, по своей политике конфиденциальности. Этот проект не хранит эту информацию и не использует её для создания вашего профиля.
Официальный сайт использует бескуки-аналитику Vercel для измерения просмотров страниц и производительности загрузки, и небольшой набор агрегированных счётчиков, чтобы видеть, какие записи используются. События берутся из фиксированного публичного списка — например hall_view, download_view, download_from_web, web_timer_open или app_store_open — и увеличиваются по дням. Запрос несёт только имя события. Он не включает идентификатор пользователя, сессию, язык, расписание или зарплату и не может использоваться для идентификации или отслеживания человека.
Полный список событий в этом репозитории в src/lib/analytics-events.ts.
Аналитика веб-таймера
Веб-таймер на off.rainif.com также использует бескуки-аналитику Vercel для измерения просмотров страниц и производительности загрузки. Он использует отдельный ограниченный набор агрегированных счётчиков для понимания общего использования функций.
События продукта берутся из другого фиксированного публичного списка, такого как share_open или countdown_start, и агрегируются по дням. Они не содержат идентификаторы пользователей, информацию о сессиях, расписания или данные о зарплате и не могут использоваться для идентификации или отслеживания человека.
Полный список событий продукта доступен в репозитории открытого кода продукта. Провайдеры хостинга и аналитики могут обрабатывать стандартную информацию о соединении по своим политикам конфиденциальности. Этот проект не хранит эту информацию отдельно и не использует её для создания профилей пользователей.
Cookies
Веб-таймер использует cookie i18nextLng для хранения кода языка, чтобы последующие посещения открывались на выбранном языке. Она устанавливается при первом посещении из текущего отображаемого языка, обновляется при смене языка, истекает через год и может быть удалена в браузере.
Ни официальный сайт, ни веб-таймер не используют рекламные или межсайтовые tracking cookies. Описанная аналитика не зависит от cookies.
Поделиться обратным отсчётом
URL ссылки для обмена содержит только время начала и окончания. Она не содержит информацию о зарплате. Человек, открывший ссылку, видит только время смены. Изображения обратного отсчёта также не содержат зарплату. Экспорт резервной копии — другое дело: он может содержать зарплату и другие личные данные, перечисленные выше.
Если вы выбираете поделиться через сторонний социальный сервис, применяется его политика конфиденциальности.
Приложения на телефоне и компьютере
Приложения для iPhone, iPad, Mac и Windows не собирают аналитику использования.
Десктопная сборка, установленная с GitHub, проверяет при запуске, есть ли новая версия. Запрос не содержит учётную запись, зарплату или данные использования, и установщик загружается только после подтверждения обновления. Если GitHub недоступен напрямую, можно попробовать через сторонний mirror. Обновления из любого канала проверяются по подписи перед установкой.
Сборка из Microsoft Store не инициирует проверки обновлений. Обновления предоставляет Microsoft Store.
Напоминания планируются и показываются локально операционной системой. Приложения также обращаются к сети при открытии внешней ссылки или при выборе обмена через сторонний сервис.
Виджеты, Live Activity и защита устройства
Виджеты и Live Activity используют информацию, необходимую для показа таймера и прогресса, включая информацию Фокусировки, где применимо. Они не включают зарплату. Локальные уведомления тоже не включают зарплату. Эти поверхности могут быть видны на домашнем экране или экране блокировки; их видимость и разрешения уведомлений можно настроить в приложении и системных настройках.
Когда DoneAt просит аутентификацию для защиты заработка или записей, аутентификация выполняется устройством через Face ID, Touch ID или код доступа. DoneAt получает результат аутентификации, а не ваши биометрические данные или код. Эта защита настраивается отдельно на каждом устройстве.
Сторонние сервисы
DoneAt использует следующие сервисы для размещения страниц, измерения официального сайта и веб-таймера, распространения приложений и открытия выбранных ссылок:
- Vercel — хостинг официального сайта и веб-таймера; измерение просмотров страниц и производительности на обоих
- Upstash — хранение дневных агрегированных счётчиков событий для официального сайта и веб-таймера
- GitHub — исходный код, информация о релизах и проверки обновлений для десктопных сборок с GitHub
- Apple — распространение приложений, платежи Plus и проверка покупок через App Store и StoreKit, и приватная синхронизация iCloud при её включении на iPhone или iPad
- Microsoft — распространение и обновления для записи Microsoft Store, которую вы открываете
- Сторонний mirror загрузки, используемый только при выборе из десктопной сборки с GitHub
- Сторонний социальный сервис, выбранный при обмене обратным отсчётом
Удаление данных
В веб-таймере очистите данные этого сайта в браузере, включая локальное хранилище и языковую cookie. На Mac или Windows удалите приложение и его данные.
На iPhone и iPad удаление приложения удаляет данные, хранящиеся на этом устройстве. Если была включена синхронизация iCloud, приватная копия iCloud остаётся доступной для других устройств. Удалить из iCloud в настройках Записей и данных DoneAt удаляет копию iCloud и очищает связанные синхронизированные записи на устройствах с этой учётной записью Apple при следующей синхронизации. Удаление записей только с этого устройства оставляет копию iCloud доступной для восстановления. Ранее экспортированные файлы резервных копий нужно удалить отдельно из мест, где вы их сохранили или поделились.
DoneAt не может получить доступ к вашей учётной записи Apple или удалить её приватные данные iCloud от вашего имени. DoneAt также не может получить доступ к вашим локальным данным или удалить их с сервера.
Изменения в этой политике
При обновлении этой политики дата последнего обновления вверху страницы также будет пересмотрена. Существенные изменения будут указаны в примечаниях к выпуску, а предыдущие версии доступны в истории коммитов репозитория открытого кода.
Связаться с нами
Вопросы об этой политике или об обработке информации направляйте на [email protected]. Проблемы с продуктом и предложения можно отправить через GitHub Issues.
Если вы обнаружите расхождение между этой политикой и фактическим поведением продукта, напишите на этот адрес или создайте issue.