01
Область действия
Политика относится к приложению Audiophiles Player для Android, устанавливаемому из Google Play, и к его сборкам, распространяемым с сайта разработчика. Она не относится к сторонним программам: серверам Audiophiles, которые пользователь запускает сам, медиасерверам в домашней сети, веб-сайтам радиостанций и службе Google Cast. К ним применяются их собственные условия и политики.
02
Что приложение не запрашивает и не собирает
Приложение не запрашивает имя, адрес электронной почты, номер телефона, контакты, календарь, список установленных приложений, геолокацию и идентификаторы устройства (Android ID, IMEI, GAID). Не ведётся статистика прослушивания на стороне разработчика, не формируются профили и не выполняется реклама. Код не содержит обращений к серверам разработчика: их не существует.
03
Данные, которые обрабатываются локально
Для работы плееру нужны данные о самой фонотеке и о настройках. Всё это хранится в приватном хранилище приложения на устройстве и не покидает его: пути и идентификаторы выбранных источников (локальные папки и SAF, SMB-шары, DLNA-серверы, сервер Audiophiles), очередь воспроизведения, избранное, позиции треков, настройки аудио тракта, DSP, темы и язык интерфейса, кэш обложек и тегов, параметры сна и виджет рабочего стола.
Содержимое аудиофайлов приложением не анализируется и не передаётся: метаданные читаются локально для отображения карточки альбома и текстов, если пользователь их добавил.
04
Учётные данные для доступа к серверам пользователя
Если пользователь подключает SMB-шар или сервер Audiophiles, требующие входа, он указывает хост, имя пользователя и пароль. Эти значения сохраняются только в приватном хранилище приложения на устройстве и отправляются исключительно на сервер, который указал сам пользователь, обычно в пределах его домашней сети. Разработчик не получает их, не может восстановить и не хранит их копии. Удаление источника в настройках приложения удаляет и сохранённые для него учётные данные.
05
Сетевые обращения приложения
Приложение работает в сети только в четырёх ситуациях. Каждая из них включается действием пользователя и видна ему в интерфейсе.
Домашняя сеть: источники и серверы
Обращение к локальным адресам: ваш сервер Audiophiles, SMB- и DLNA-устройства. Протокол DLNA/UPnP работает по HTTP без шифрования, поэтому трафик читается внутри той же локальной сети и не уходит наружу; не используйте DLNA в общественных Wi-Fi сетях. В запросах участвуют только имя устройства, путь к файлу и учётные данные, которые указал пользователь.
Каталог интернет-радио Radio Browser
Список станций загружается из открытого волонтёрского каталога Radio Browser по HTTPS (домен all.api.radio-browser.info и его зеркала). Запрос содержит поисковый текст и идентификаторы станции; оператор каталога видит IP-адрес устройства, стандартно для любого HTTPS-запроса. Это сторонний сервис, он не управляется разработчиком и руководствуется собственной политикой. Пользователь может не открывать раздел радио - тогда обращений не происходит.
Поток выбранной радиостанции
При выборе станции приложение начинает воспроизведение с её сервера. Вещатель получает IP-адрес устройства, User-Agent Android и заголовок Range при перемотке буфера - это обычное поведение любого интернет-радио, включая браузерное.
Google Cast
Для трансляции на Chromecast используется библиотека play-services-cast-framework компании Google. Она обнаруживает устройства в локальной сети и может обращаться к сервисам Google для инициализации приёмника. Обработка данных в этом случае регулируется политикой конфиденциальности Google: https://policies.google.com/privacy. Пользователь, который не пользуется Cast, может не открывать это окно.
06
Разрешения Android и их назначение
Каждое разрешение нужно для конкретной функции, и ни одно не запрашивается «про запас». Начиная с Android 11 доступ к файлам реализуется через системный выбор папок (SAF) - специальные разрешения на хранилище не требуются.
| Разрешение |
Зачем |
READ_EXTERNAL_STORAGE WRITE_EXTERNAL_STORAGE | Чтение файлов фонотеки на Android 9 и ниже. Оба ограничены maxSdkVersion 29: на более новых версиях используется SAF, и разрешения не запрашиваются. |
| INTERNET | Загрузка каталога интернет-радио и потока выбранной станции. Приложение умеет играть музыку и без сети - из локальных папок и из домашней сети. |
CHANGE_WIFI_MULTICAST_STATE ACCESS_WIFI_STATE | Обнаружение DLNA-серверов по SSDP (групповой адрес 239.255.255.250). Без multicast-лока Wi-Fi чип отбрасывает ответы устройств в режиме экономии энергии. |
| ACCESS_NETWORK_STATE | Определение активного интерфейса (Wi-Fi или Ethernet) и его адреса: нужно для поиска устройств в сети и для HTTP-прокси при трансляции на Chromecast. |
FOREGROUND_SERVICE FOREGROUND_SERVICE_MEDIA_PLAYBACK WAKE_LOCK | Продолжение воспроизведения в фоне: сервис типа mediaPlayback, корректная пауза при остановке и сохранение тактовой частоты CPU во время вывода на USB DAC. |
| POST_NOTIFICATIONS | Уведомление с кнопками управления воспроизведением - обязательная часть фонового медиаплеера в Android 13 и новее. |
android.hardware.usb.host (feature, не permission) | Прямой вывод на внешний USB ЦАП в обход системного микшера. Доступ запрашивает системный диалог Android, пользователь даёт его для конкретного устройства; свойство не обязательное, приложение ставится и без USB-host. |
| ACTION_USB_DEVICE_ATTACHED | Открытие приложения при подключении ЦАПа. Функция отключаема в настройках («Запускать при подключении ЦАП»), отключение убирает и это намерение из системы. |
| appwidget | Виджет управления воспроизведением на рабочем столе. Добавляет и удаляет его сам пользователь долгим нажатием. |
07
Диагностика: отчёты создаются только по действию пользователя
Для разбора проблем с воспроизведением приложение умеет собирать локальный диагностический журнал: маршрут вывода, модель и VID/PID подключённого ЦАПа, формат файла, частоту дискретизации, состояние буфера. Он формируется в приватном хранилище, никуда не отправляется автоматически и не уходит при обновлении приложения. Пользователь сам создаёт отчёт, сохраняет его в папку «Загрузки» и решает, показывать ли его разработчику; перед отправкой он может открыть файл и удалить лишние строки.
08
Резервное копирование Android
Резервное копирование выполняет не приложение, а система Android, если пользователь включил его в своих настройках. Из резервной копии и из переноса данных на новое устройство исключены только системные предпочтения приложения; остальной его каталог данных система может резервировать в обычном для Android порядке. Поэтому список источников и сохранённые для них учётные данные могут попасть в резерв Google-аккаунта пользователя или на его второй телефон. Разработчик к этой копии доступа не имеет: она принадлежит аккаунту и устройствам самого пользователя. Отключить её можно в системных настройках Android в разделе резервного копирования. Пользовательские медиафайлы, папки и их копии вне приложения этим резервом не затрагиваются - ими распоряжается только сам пользователь.
09
Сроки хранения и удаление
Разработчик не хранит данные пользователя, поэтому удаление выполняется на устройстве - полностью и без обращения к нам.
Кэш обложек, метаданных и временные фрагменты буфера: удаляются кнопкой очистки кэша в настройках, системой при нехватке места и вместе с приложением.
Источники, учётные данные, плейлисты, избранное и настройки: удаляются удалением источника или командой «Очистить данные» для приложения в системных настройках Android.
Удаление приложения стирает весь его каталог данных. Файлы самой фонотеки, разумеется, остаются на диске пользователя - приложение их не трогает и не удаляет.
10
Дети
Приложение не адресовано детям, не собирает данные о детях и не содержит персонализированной рекламы. Оно рассчитано на владельца аудиофонотеки и домашнего аудиооборудования.
11
Права пользователя
Поскольку данные не покидают устройство, доступ к ним, исправление, перенос и удаление пользователь выполняет локально, без запросов к разработчику: все сохранённые значения видны и редактируются в настройках приложения. Профилирование, принятие решений в автоматическом режиме и трансграничные передачи отсутствуют, возражений и отзыв согласия не требуются - достаточно выключить или удалить соответствующую функцию.
12
Безопасность и раздел «Безопасность данных» в Google Play
Меры защиты приложения следуют из его архитектуры: у приложения нет серверной части, поэтому нет и базы данных пользователя у разработчика. Учётные данные хранятся в приватном каталоге приложения, доступном только ему (кроме рутованных устройств, где защита ОС не действует). Каталог радио и потоки, для которых станция поддерживает TLS, идут по HTTPS; открытый HTTP допускается намеренно только для устройств локальной сети, где шифрование не предусмотрено протоколом. Декларация в разделе «Безопасность данных» Google Play Console соответствует этому документу: данные не собираются и не передаются разработчику.
13
Изменения этой политики
Актуальная редакция публикуется на этой странице и всегда доступна без регистрации. Дата в шапке меняется при каждом изменении текста. Если в новой версии приложения появится сбор данных, который здесь не описан, политика будет дополнена до выхода этой версии.
14
Контакты по вопросам конфиденциальности
Вопросы об обработке данных, о новых функциях и о том, что здесь упущено, можно задавать открыто - в нашем канале, или письмом на audiophiles.player@gmail.com. Поскольку приложение не хранит данные пользователя на своей стороне, запрос об удалении или уточнении выполняется на устройстве; письмо нужно, если что-то в этом тексте осталось непонятным.