Конфиденциальность — UmmahSphere

Написана по коду, а не по шаблону

Каждое утверждение ниже взято из файла, который есть в приложении. Там, где приложение чего-то знать не может, это сказано прямо, без обхода.

1. Кто держит приложение и сервер

Приложение и сервер чата держит один и тот же оператор. Это не разные службы и не чужие.

Сервер чата — cloud.atomtech.ro. Это обычный промежуточный сервер: принимает сообщения и передаёт их дальше. Это не децентрализованная сеть, и ни одно сообщение не идёт напрямую с телефона на телефон.

Службы поддержки нет, круглосуточной модерации нет. Запросы приходят на один адрес — тот, что в разделе 9, — и ответ может задержаться.

2. Что остаётся на телефоне

Аккаунта нет. Локальные данные находятся в закрытом пространстве приложения. Выбранные настройки и журналы могут храниться в зашифрованной резервной копии Android вашего аккаунта Google и восстановиться после переустановки; ключи и сеансы чата исключены.

ummah_native_prefs
выбранный город, метод расчёта, ручные поправки в минутах, мазхаб для Асра, правило для высоких широт, тема, язык, звук азана и счётчик тасбиха
ummah_qadha_khatam_prefs
журнал када, то есть молитвы, которые вам предстоит восполнить, и учёт хатмов
ummah_quran_bookmarks
ваши закладки и заметки к аятам, так, как вы их написали
ummah_quran_position
последний аят, на котором вы остановились, чтобы вернуться к нему
ummah_quran_reciter, ummah_quran_audio
выбранный чтец и то, какие чтения вы скачали на телефон
ummah_prayer_tracker
отметки пяти молитв, день за днём
ummah_hifz
что вы заучили, насколько уверены в каждом отрывке и когда следующее повторение
ummah_ramadan_prefs
пост и учёт Рамадана
ummah_consent_prefs
на что вы ответили да и в какой момент. Хранится дата, а не просто да, чтобы можно было сказать, когда вы согласились
ummah_moderation_prefs
список людей, которых вы заблокировали, с теми именами, что были у них тогда
ummah_community_prefs
ключ, который даёт вам личность в чате, отображаемое имя и выбранный цвет. Ключ не входит в резервную копию, чтобы две установки не оказались одним и тем же человеком
ummah_jamat_push, ummah_jamat_notification_dedupe
ваш выбор джамаата, псевдонимные ID и секрет установки, страна, ячейка H3, язык и часовой пояс для маршрутизации, призывы в ожидании подтверждения и ID недавних доставок. Они привязаны к устройству и исключены из резервной копии Android и ручного экспорта
ummah_adhan_reliability
журнал, который говорит, прозвучал ли азан на самом деле, в котором часу и с какой задержкой
ummah_daily_content_prefs, ummah_overpass_cache, ummah_mosque_directory_cache, ummah_metal_prices, ummah_stream_config
временные кэши: материал дня, ответы поиска мест, последняя цена золота и список радиостанций. Если их удалить, они восстановятся сами
adhan_silence_state, ummah_backup_prefs
внутренний учёт самого приложения: профиль звонка и состояние «Не беспокоить» до азана, сохранённые на время тишины, чтобы потом всё вернуть как было, и дата последней резервной копии и последнего восстановления — та же, что вы видите в «Настройки» → «Резервная копия»

Чего нет вовсе

Нет аккаунта, пароля или рекламного идентификатора. Мы не используем рекламу, аналитику или автоматическую отправку отчётов о сбоях. Firebase Messaging и Play Integrity App Check нужны только для необязательной фоновой доставки призывов Джамаат и защиты от злоупотреблений; при включении могут обрабатываться токен устройства и приблизительная ячейка H3, но не точные координаты.

3. Что уходит с телефона

Десять адресатов, и всё. У каждого в приложении есть настоящий вызывающий код; ничего не вписано сюда для подстраховки.

ХостЧто уходитКогдаМожно отключить
cloud.atomtech.ro (чат, WebSocket)Отображаемое имя, которое вы себе выбираете, текст сообщений, псевдонимная личность и канал, в который вы входите.Только если вы включили чат. Пока он отключён, приложение не открывает соединение.Да. «Настройки» → «Чат общины».
cloud.atomtech.ro (streams.json)Ничего о вас, кроме IP-адреса.Раз в день, когда вы открываете «Радио и эфиры».Нет, но в запросе нет ничего личного.
muslim.atomtech.ro (мечети)Код страны, ячейка H3 уровня 7 — площадь около 5 км², а не ваша точка — и сколько результатов запрошено. Плюс название и версия приложения. Радиус поиска остаётся здесь: отбор по расстоянию идёт на телефоне. Точные координаты тоже не уходят, но ячейка выдаёт примерный район.Когда вы нажимаете кнопку поиска в Радаре. Окна согласия нет: с телефона не уходит ничего похожего на местоположение, о чём стоило бы вас спрашивать.Да — просто не ищите. Уже скачанный список остаётся на телефоне, и его можно читать и без интернета.
muslim.atomtech.ro (Jamat push)При включении: токен FCM, псевдонимный открытый ключ, ID и секрет установки, страна, ячейка H3 разрешения 6, язык и часовой пояс. При призыве: молитва, ячейка или мечеть, время и срок действия, а также ID от дубликатов. Точные координаты не отправляются.Только после явного включения пуша джамаата; маршрутизация обновляется при смене района или токена, а призыв уходит только после вашего подтверждения.Да — выключите пуш джамаата. Приложение запрашивает отзыв регистрации, останавливает Firebase и удаляет локальный токен. Если отзыв не достиг сервера, данные на нём хранятся по документированному сроку.
Google Firebase Messaging / Play Integrity App CheckFirebase обрабатывает токен FCM и технические данные для доставки. Play Integrity обрабатывает технические сигналы приложения и устройства, чтобы выдать аттестацию App Check. Пуш содержит ID призыва, молитву, запланированное время и срок действия, необязательный ID мечети и deep link. Текст уведомления создаётся локально на языке интерфейса; в пуше нет ячейки H3 или точных координат.После явной активации: при выдаче или смене токена, получении аттестации App Check и доставке призыва джамаата.Да — выключите пуш джамаата. Приложение отключает автозапуск и запрашивает удаление токена; Google может хранить данные по собственой политике и законным обязанностям.
overpass-api.deДля халяльных мест и мясных лавок: точка, округлённая до клетки примерно в 1,1 км, и запрошенный радиус. Плюс название и версия приложения, которых требуют правила сервера. В странах, которые каталог мечетей пока не охватывает, мечети OSM из того же ответа показываются как запасной вариант — без единого лишнего запроса.Только когда вы нажимаете кнопку поиска, и только после вашего согласия.Да. «Настройки» → «Поиск мест».
everyayah.comКакую суру, какой аят и какого чтеца вы слушаете или скачиваете.При воспроизведении или скачивании чтения.Да — не слушайте и не скачивайте аудио.
qurango.net, cdn-globecast.akamaized.netЧто вы слушаете эту станцию и сколько времени держите её включённой.Пока идёт радиостанция или видеотрансляция.Да — не включайте станцию.
api.gold-api.comНичего, кроме IP-адреса. Ни одна сумма и ни один расчёт с телефона не уходят.Когда вы открываете калькулятор закята.Да — не открывайте калькулятор.
api.frankfurter.devТолько код валюты: той, что вы выбрали, или RON при первом открытии, когда вы ещё не выбрали.Тоже в калькуляторе закята, и только если валюта в калькуляторе не USD.Не полностью. Калькулятор стартует с RON и запрашивает курс при первом открытии, прежде чем вы успеете выбрать валюту. Пока валюта — USD, к этому узлу больше ничего не уходит. Совсем ничего не уходит, только если не открывать калькулятор.

IP-адрес видит каждый

Любой узел из таблицы видит ваш IP-адрес. Так устроено соединение, и иначе быть не может. По IP виден примерно город.

Почему таблица может отстать

Список радиостанций отдаёт наш сервер, и в нём могут оказаться другие узлы, кроме перечисленных выше. Что в списке сегодня, то и в таблице. В день, когда список изменится, таблица станет неполной — поэтому это написано здесь, на виду, а не в сноске.

4. Местоположение

Время молитв, направление Киблы и календарь рассчитываются на телефоне. Ради них ваше положение никуда не уходит — сервера времён молитв просто нет.

В Radar поиск халяльных мест отправляет Overpass координату, округлённую примерно до 1,1 км, и выбранный радиус. Поиск мечетей отправляет серверу ATOM страну и примерную ячейку H3; точные координаты остаются на телефоне. Оба запроса раскрывают примерную область и не делают вас анонимным.

В доступе к местоположению можно отказать, и приложение продолжит работать с городом, выбранным вручную из списка. Ничего в нём не блокируется из-за того, что вы сказали нет.

5. Чат общины

Он отключён, пока вы его не включите, и перед этим мы показываем, что уходит с телефона. Пока он отключён, приложение не открывает соединение чата и ничего о вас на промежуточный сервер не отправляет. Единственный запрос, который всё же доходит до cloud.atomtech.ro, — список радиостанций, если вы откроете «Радио»: это строка streams.json в таблице из раздела 3.

Вы под псевдонимом: отображаемое имя выбираете сами, а личность выводится из ключа, созданного на телефоне. Промежуточный сервер не ведёт реестра пользователей — у него нет ни аккаунтов, ни паролей, ни вашей электронной почты.

Промежуточный сервер хранит последние 100 сообщений каждого канала, чтобы вошедший сейчас увидел разговор. Жалобы хранятся 90 дней, потом удаляются.

Ваш список заблокированных лежит на телефоне. Промежуточный сервер получает его при каждом подключении и забывает, когда соединение закрывается, чтобы на сервере не собиралась карта того, кто кого избегает.

Сообщения не защищены сквозным шифрованием

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

6. Дети

Чтобы включить чат, вы заявляете, что вам не менее 16 лет. Хранится это заявление и его дата, и только.

Ничто в приложении не проверяет возраст, и нигде мы не утверждаем, что проверили его. Мы не просим документ, не просим карту и не угадываем возраст по другим данным. Остаётся то, что вы заявили сами.

Остальное приложение — время молитв, Коран, Кибла, када — о возрасте не спрашивает, потому что ничего о вас никуда не отправляет.

7. Ваши права и как ими воспользоваться

Удаление данных с телефона

При удалении приложения стираются локальные файлы из его закрытого пространства. Зашифрованная резервная копия Android может остаться в аккаунте Google и восстановить выбранные данные после переустановки; ею можно управлять или удалить в настройках Google/Android. Ручной экспорт остаётся там, где вы его сохранили.

Удаление сообщений с промежуточного сервера

Напишите на адрес из раздела 9 и укажите в письме личность, показанную ниже. Без неё искать нечего: промежуточный сервер не знает, кто вы, у него нет ни вашего имени, ни вашей почты. Личность — единственное, что связывает сообщения с вами.

Согласия отзываются в настройках одним нажатием — так же просто, как были даны. Отзыв согласия на чат закрывает соединение сразу; после отзыва согласия на поиск мест при следующем поиске вас спросят снова.

Ваша личность в чате

Это всё, что промежуточный сервер знает о вас. Скопируйте её и вставьте в запрос на удаление.

Ваша личность на каждом телефоне своя, поэтому веб-страница не может её знать. Вы найдёте её в приложении: Меню → Приложение → Конфиденциальность, с кнопкой «Скопировать личность». На том же экране указано, в каком из двух мест, описанных ниже, хранится ключ на вашем телефоне, — или что телефон не смог его создать; в этом случае на промежуточный сервер ничего не ушло и просить об удалении нечего.

Где хранится ключ

  • В AndroidKeyStore. Закрытый ключ оттуда не выходит — даже приложение не может прочитать его как байты, оно лишь запрашивает подписи.
  • В личном файле приложения — тогда, когда AndroidKeyStore не смог подписать. На телефоне с root-доступом такой файл читается из-под root. Это слабее варианта выше, и незачем делать вид, что это не так.

8. Изменения

Когда меняется текст, меняется и дата вверху страницы. Версия, опубликованная в вебе, генерируется из текста приложения, через tools/build-privacy-html.js — чтобы опубликованная политика не могла описывать не то приложение, которое установлено.

Если условия чата изменятся, старое согласие перестаёт действовать и мы спросим вас снова. Версия, на которую вы согласились, хранится рядом с датой — как раз затем, чтобы старое да не сошло за новое.

9. Контакты

По любому вопросу, запросу на удаление или жалобе на сообщение пишите на contact@atomtech.ro.