Безопасность данных
Клиентам важно заранее знать ответы на вопросы, связанные с безопасностью приложений, которые открываются в браузере и не подвергаются проверкам магазина. В данном разделе мы отвечаем на эти вопросы, а также показываем, как проверить приложение самостоятельно, не полагаясь исключительно на наши тезисы о безопасности.
Магазин проверяет приложение один раз, а браузер — постоянно
Проверка в магазине приложений — это автоматическое сканирование установочного файла при публикации и выборочная ручная модерация. Она полезна, но отражает состояние приложения на момент публикации, а не весь срок его работы на вашем телефоне. Приложения с вредоносным кодом регулярно проходят такую проверку и попадают в магазины: сообщения об их удалении периодически появляются в новостях.
Главное различие — в правах доступа. Установленное приложение, получив разрешения, сохраняет доступ к файлам, контактам и камере и может работать в фоновом режиме. Пользователю не видно, что оно делает после установки. Приложение, открытое в браузере, работает в изолированной среде: ему доступно только то, что вы разрешили сами, а доступ к камере и файлам действует только пока приложение открыто.
Проверить приложение на вирусы: что проверяет магазин — статья в блоге с пошаговой инструкцией.
Ограничения, которые браузер применяет к нашим приложениям
Эти правила сервер передаёт в служебных заголовках вместе с каждой страницей приложения. Их соблюдение обеспечивает браузер, поэтому оно не зависит от нашей добросовестности. Проверить правила может любой пользователь в инструментах разработчика. Они одинаковы у всех наших бесплатных приложений — у сканера документов и у заполнения документов.
-
connect-src 'none'Отправка данных из приложения заблокирована
Браузер блокирует любые запросы, которые код страницы пытается отправить: на наш сервер, в рекламные сети, в счётчики посещаемости и на любые другие адреса. Это правило установлено заголовком сервера и выполняется самим браузером, поэтому код приложения не может его отключить.
-
script-src 'self'Код загружается только с нашего адреса
Браузер выполняет только скрипты, загруженные с адреса приложения. Сторонний скрипт — один из распространённых способов, которыми в приложение попадает посторонний код: разработчик подключает библиотеку со стороннего сервера, а её владелец изменяет код.
-
camera=(self), microphone=(), geolocation=()Микрофон и геолокация отключены полностью
Камера доступна только самому приложению и только после вашего разрешения. Микрофон и определение местоположения запрещены заголовком сервера: даже если бы код попытался их запросить, браузер отклонит запрос.
-
frame-ancestors 'none'Встраивание в чужие страницы запрещено
Ни один сайт не может открыть приложение внутри своей страницы. Это защищает от подмены интерфейса — распространённого приёма мошенников: приложение открывают в невидимом окне поверх подставной страницы, и пользователь, нажимая на видимые элементы, на самом деле нажимает кнопки приложения.
-
Strict-Transport-SecurityДоступ только по защищённому соединению
После первого посещения браузер запоминает, что к этому адресу можно обращаться только по защищённому протоколу HTTPS. Если в ссылке по ошибке указан незащищённый адрес, браузер всё равно откроет приложение по HTTPS.
-
X-Content-Type-Options: nosniffТип файла определяется по заголовку сервера
Браузер определяет тип файла по заголовку, который передаёт сервер, и не пытается угадать его по содержимому. Угадывание типа — известная уязвимость: через неё файл, загруженный как изображение, мог быть выполнен как программный код.
Как проверить приложение самостоятельно
- Отчёт по приложению «Сканер документов» →
- Отчёт по приложению «Заполнить документ по шаблону» →
- Безопасный просмотр Google →
Сервисы зарубежные, поэтому из некоторых сетей они могут быть недоступны.
-
01
Проверка через режим полёта
Откройте приложение при подключённом интернете, затем включите режим полёта и продолжите работу: отсканируйте документ, соберите PDF, заполните бланк. Все функции продолжат работать, потому что файл обрабатывается на устройстве и никуда не передаётся. Сервис, который обрабатывает данные на своём сервере, без интернета работать перестанет. Разница видна сразу, и специальных знаний для такой проверки не требуется, а сама она займёт у вас менее одной минуты.
-
02
Инструменты разработчика для более подробной проверки
Нажмите F12 (на компьютерах Mac — Cmd+Option+I) и откройте вкладку «Сеть» (Network). Выполните несколько действий в приложении и убедитесь, что при работе не отправляется ни одного запроса. Там же, в заголовках ответа сервера, видны все правила из карточек выше. Эти заголовки браузер получает непосредственно от нашего сервера, и страница не может их скрыть или изменить.
-
03
Независимая оценка стороннего сервиса
Сервис securityheaders.com самостоятельно проверяет заголовки безопасности сайта и выставляет оценку. Сканер документов получил высшую оценку A+: все шесть проверяемых заголовков настроены (проверка от 15.09.2026). Проверку можно повторить: введите адрес приложения в строку на сайте сервиса, и оценка будет рассчитана заново. Повлиять на результат мы не можем, и именно в этом ценность такой проверки.
Принципы обработки данных
- Счётчиков посещаемости внутри приложений нет: счётчик — это тоже передача данных. Сколько раз открывали приложение, мы видим по журналу своего сервера, как любой сайт видит визиты. Что вы делали в приложении, мы не видим.
- Мы не храним документы пользователей. Файлы сохраняются непосредственно на устройстве пользователя на период работы с ними и передаются только в те места хранения или информационные системы, которые определяет сам пользователь.
- Мы не используем рекламные сети. Работа рекламных сетей предполагает обработку данных о пользователях. Приложение не осуществляет передачу таких данных рекламным сетям в соответствии с установленным принципом отсутствия передачи пользовательских данных.
- Единственный предусмотренный обмен данными с сервером осуществляется при первом запуске приложения. В рамках процедуры распознавания текста приложение загружает языковые данные объёмом около 12 МБ с собственного сервера. Передача осуществляется исключительно в направлении от сервера к приложению: пользовательские файлы и документы на сервер не передаются и не загружаются.
Указанные положения относятся к приложениям, в которых пользовательские файлы сохраняются непосредственно на устройстве пользователя. В корпоративной информационной системе данные хранятся на сервере заказчика. Условия, определяющие место хранения данных и права на исходный код, устанавливаются договором, включая положения о передаче исходного кода и порядке выполнения работ.
Частые вопросы
-
01
В Google Play и App Store приложения проверяют. Кто проверяет ваши?
Приложения проходят автоматизированную проверку при публикации и могут подвергаться выборочному анализу кода. Однако такая проверка не является постоянным контролем работы приложения после установки. Веб-приложение работает в рамках ограничений браузера: доступ к данным и ресурсам устройства регулируется его механизмами безопасности.
-
02
Установленное приложение и открытое в браузере — в чём разница в правах?
Установленное приложение при наличии соответствующих разрешений может получать доступ к файлам, контактам, камере и выполнять отдельные операции в фоновом режиме. Веб-приложение работает в изолированной среде браузера. Доступ предоставляется только к разрешённым пользователем ресурсам и в пределах возможностей браузера.
-
03
Я установил веб-приложение на экран. Сохраняются ли ограничения браузера?
Да. Установка на экран не изменяет принцип работы приложения. Оно продолжает использовать тот же браузерный движок: на Android — Chrome или Яндекс Браузер, на iPhone — WebKit, на компьютере — тот браузер, из которого вы его установили. Адресная строка и вкладки при этом не отображаются, однако ограничения сохраняются: запрет передачи данных, отключённые микрофон и геолокация, доступ к камере только по запросу. Работу ограничений можно проверить, например, в режиме полёта.
-
04
Разрешения мобильному приложению также можно отозвать. В чём заключается различие?
Разрешения действительно можно предоставлять и отзывать в настройках Android и iOS. Однако до момента отзыва приложение может использовать предоставленные разрешения, в том числе в фоновом режиме. Кроме того, передача данных является штатной возможностью мобильного приложения. Веб-приложение действует в рамках ограничений браузера: политика
connect-srcопределяет допустимые направления передачи данных. В наших приложениях эта политика запрещает любую отправку данных. -
05
Что произойдёт, если код будет изменён и начнётся сбор данных?
Заголовки безопасности передаются сервером и доступны для просмотра в браузере. Изменение политики
connect-srcможно обнаружить через вкладку «Сеть» в инструментах разработчика. Поэтому безопасность основана на проверяемых технических ограничениях, а не только на заявлениях разработчика. -
06
Приложение обновляется автоматически. Что препятствует внесению нежелательных изменений в обновление?
Новая версия приложения продолжает работать в рамках тех же политик безопасности, которые также доступны для проверки. Кроме того, обновление передаётся с нашего сервера по защищённому соединению, что предотвращает его подмену в процессе передачи.
-
07
Мы являемся организацией, на которую распространяется 152-ФЗ. Решает ли это вопросы обработки персональных данных?
Только частично. Если документ не покидает устройство сотрудника, передача персональных данных третьему лицу не осуществляется, однако обязанности оператора этим не ограничиваются. Необходимо учитывать требования к политике обработки данных, уведомлению и срокам хранения. Конкретные требования рекомендуется определить совместно с юристом.
-
08
Обнаружена уязвимость — куда направить сообщение?
Сообщения об уязвимостях направляйте на info@businessaxis.ru, указав в теме письма «уязвимость». Контакт также указан в файле /.well-known/security.txt в соответствии со стандартом RFC 9116. Все обращения поступают в общую очередь и рассматриваются в установленном порядке.
Остались вопросы по безопасности или требуется система с аналогичными принципами защиты?