Перейти к содержанию

Что нельзя класть в браузерный код

Защитите runtime-токены, приватные значения и внутренние настройки от попадания в публичный frontend.

Браузерный код виден пользователю. Поэтому в него нельзя помещать runtime-токены, приватные ключи, внутренние настройки и значения, которые дают доступ к проекту.

Разделяйте три случая:

Что нужно приложениюГде использовать
Публичный адрес API или название приложенияВ браузере, если значение предназначено для всех пользователей.
Серверный runtime-токен или ключ интеграцииТолько на backend, в worker, автоматизации или доверенном локальном скрипте.
Вход пользователя приложенияЧерез App Auth или ваш backend с проверкой сессии и прав. Серверный runtime-токен пользователю не передаётся.

Когда использовать

  • Вы пишете Web-приложение.
  • Вы подключаете SDK или интеграцию.
  • Вы решаете, где хранить приватные переменные.

Нельзя добавлять в браузерный код

  • Runtime-токены и другие серверные credentials.
  • Значения API-ключей и приватных переменных.
  • Приватные значения интеграций.
  • Приватные настройки окружения.
  • Служебные файлы и внутренние конфигурации проекта.

Как сделать безопасно

  1. Оставляйте приватные значения на backend или в защищенных настройках runtime.
  2. Вызывайте Runtime SDK из backend, worker, автоматизации или доверенного локального скрипта.
  3. Для действий пользователя в браузере используйте App Auth или свой backend API.
  4. Не печатайте приватные значения в логах и не добавляйте их в скриншоты.
  5. Если приватное значение попало в публичный код, сразу замените его в источнике и обновите приложение.

Что дальше

Безопасная граница защищает проект: frontend получает только публичные настройки, а приватные действия выполняются на стороне backend или runtime.

Частые проблемы

ПроблемаЧто сделать
Web-код требует приватное значениеПеренесите действие в backend API.
Ключ уже попал в кодОтзовите или замените ключ и перепубликуйте приложение.
Непонятно, публичная ли переменнаяСчитайте ее приватной, пока администратор проекта не подтвердит обратное.