Отпечатки

Разрешения Web Bluetooth, выбор устройства и конфиденциальность

Как активация пользователя, разрешения, доступность и выбор устройства Web Bluetooth формируют безопасный для приватности веб-сценарий.

Документация

Нужна структурированная документация по теме Отпечатки?

Эта статья относится к редакционной библиотеке. Для пошаговой настройки, справки и постоянных обновлений переходите сразу в соответствующий раздел docs.

Web Bluetooth позволяет веб-приложению обмениваться данными с устройством Bluetooth Low Energy после того, как человек выбрал его и разрешил доступ. Это возможность, которой управляет пользователь, а не общий просмотр близлежащего оборудования. Надёжный интерфейс начинается с полезной страницы, запрашивает доступ по явному действию и считает отказ, отмену, недоступность Bluetooth и разрыв соединения обычными исходами. Выбранное устройство не доказывает владение, местоположение или личность пользователя браузера.

Действие пользователя, выбор устройства, граница разрешения и доступный запасной путь Web Bluetooth

Такое ограничение упрощает поддержку: браузер даёт доступ только для задачи, человек может его остановить, а страница остаётся полезной без этой возможности.

Назначение Web Bluetooth

Спецификация Web Bluetooth описывает веб-доступ к службам Bluetooth Low Energy. Браузер посредничает в доступе и показывает только устройства и службы, разрешённые запросом и платформой. API не является каталогом находящихся рядом устройств, поэтому имя, идентификатор или служба не должны использоваться как признак личности.

Справочник Web Bluetooth на MDN описывает открытый интерфейс. Требование продукта следует начинать с видимого результата: настроить разрешённый аксессуар, прочитать запрошенное значение или изменить настройку выбранного устройства. Основная страница и равноценный путь без Bluetooth должны оставаться доступными.

Активация пользователя, выбор и разрешение

Доступ предназначен для явного жеста, например нажатия кнопки подключения. Запрос должен выполняться в безопасном контексте и может требовать кратковременной активации пользователя; вызов при загрузке, из несвязанного таймера или после истечения активации может завершиться ошибкой. В окне выбора человек указывает устройство, а разрешение определяет доступ этого источника. Отмена или отказ являются решением человека, а не аномалией личности устройства.

До нажатия кнопки объясните назначение соединения. Не маскируйте запрос под навигацию, не открывайте окно выбора повторно после отмены и не просите ослабить настройку приватности. При отказе браузера сохраните введённые данные и покажите обычную страницу; повтор предлагайте только при понятной пользе. Руководство Chrome Web Bluetooth описывает конкретный браузер и не делает API универсальным.

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

Доступность как ветка совместимости

Поддержка Web Bluetooth зависит от браузера, операционной системы, безопасного контекста, стека Bluetooth, административной политики и возможностей устройства. navigator.bluetooth может отсутствовать, запрос может быть отклонён, а последующее соединение может не состояться. API не обещает одинаковые окна выбора, разрешения, службы или события. Проверяйте возможность и описывайте проверенную среду, не обещая поддержку семейства браузеров.

Доступность может измениться во время визита: адаптер потерян, устройство стало недоступно или администратор отключил функцию. Размещайте элементы управления и состояния в обычном HTML, чтобы задача оставалась понятной. Руководство по приватности разрешений браузера объясняет, почему разрешение не является стабильным признаком личности.

Не используйте доступность Bluetooth для блокировки входа, оплаты, восстановления аккаунта или обязательного содержания. Если аксессуар необязателен, предложите локальную форму, ручной ввод, импорт файла или другое представление. Подключение должно быть явным, а повторы ограниченными; отсутствие API не должно создавать цикл запросов.

Минимизация данных устройства и сервиса

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

Такая связь не доказывает владение, местоположение, здоровье или личность. Не объединяйте сведения Bluetooth с данными аккаунта, сети, шрифтов, хранилища или времени для создания профиля. Если диагностическое значение действительно требуется, объясните цель, ограничьте доступ, установите короткий срок хранения и удалите его после закрытия случая. Проверьте SDK, отчёты ошибок, фоновый компонент и кэш, чтобы локальное значение не ушло в удалённое событие.

Отделяйте локальный обмен от необязательной загрузки или синхронизации. Чтение значения не даёт разрешения отправлять его сервису. Сообщите, что покинет браузер, запросите отдельный выбор и сохраните локальную задачу при отказе. Для эксплуатации обычно достаточно исхода connected, denied или fallback, а не постоянного инвентаря устройства.

Создание и проверка запасного пути

Проверьте отсутствие API, запрос вне активации, отмену выбора, отказ, недоступность Bluetooth, разрыв, отсутствие обязательной службы и повторное подключение. Каждый случай должен приводить к известному состоянию с сообщением, следующим действием и сохранёнными данными. Не привязывайте тест к конкретному идентификатору, имени, радио или расстоянию.

Кнопки подключения, отключения, повтора и забытия должны быть доступны с клавиатуры и иметь ясные названия. Сообщайте состояния текстом, сохраняйте фокус и отдавайте те же основные данные без Bluetooth. Статическое значение, ручной ввод или скачиваемая конфигурация могут быть равноценным запасным вариантом. Учитывайте настройку уменьшения движения и не скрывайте отказ анимацией.

Ограниченный повтор допустим только при вероятной временной ошибке. После отмены не показывайте окно выбора без нового действия и не запускайте цикл после отказа. Записывайте выбранный результат и этап ошибки, а не инвентарь устройства. Перед изменением заявления о совместимости или разрешениях сверяйтесь со спецификацией W3C Web Bluetooth и актуальной документацией браузера.

См. также основы приватности браузера для общих решений по минимизации.

До подключения объясните задачу, а при разрыве сохраните введённые данные. Техническое разрешение не даёт согласия на аналитику, аккаунт или удалённое хранение. Перед передачей сообщите, что покинет браузер, и запросите отдельный выбор. Проверяйте тип, единицы, свежесть и диапазон каждого значения. Дайте возможность изменить, отключить и забыть сохранённое предпочтение. Сообщение должно предлагать действие без полного идентификатора. Уважайте административные политики и предлагайте другой путь. Успешное соединение не доказывает местоположение; радиус и система влияют на результат. Сохраняйте фокус при открытии выбора и сообщайте состояния текстом. Основной сценарий должен работать для человека без радиоустройства. Используйте контролируемые тесты и проверяйте видимый результат и сохранённые данные. После изменений проверяйте SDK, отчёты, кэш и сериализацию. Локальное чтение и загрузка различны; удалённая ошибка не должна повторять запрос разрешения.

Заявления о совместимости должны быть уже имеющихся доказательств: разрешение может быть отозвано, политика платформы может отключить Bluetooth, а будущая версия может изменить доступность. Документируйте проверенную среду и сохраняйте рабочую альтернативу.

Разрешение не означает согласие на анализ или загрузку данных.

Значения устройства требуют проверки приложением.

Пользователь должен иметь возможность забыть сохранённую связь.

Сообщение состояния должно указывать следующий шаг.

Административные политики нужно уважать.

Соединение не доказывает местоположение.

Фокус следует сохранять до и после окна выбора.

Основной сценарий должен работать без Bluetooth.

Тесты должны использовать контролируемые устройства.

После каждого изменения проверяйте поток данных.

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

Источники

#Web Bluetooth#Разрешения#Конфиденциальность Устройства#Проверка Возможностей

Переведите BotBrowser из исследований в продакшн

Используйте эти руководства, чтобы понять модель, а затем перейти к кроссплатформенной валидации, изолированным контекстам и масштабируемому браузерному развертыванию.