Разделы документации
Платформа

Безопасность

Модель безопасности Charo — шифрование учётных данных, разграничение доступа и развёртывание в закрытом контуре.

Принципы

Charo — self-hosted система: все данные (документы, индекс, история чатов, учётные данные) хранятся на вашей инфраструктуре. Наружу трафик уходит только к тем внешним сервисам, которые вы явно подключили: облачным LLM-провайдерам, облачным эмбеддинг-провайдерам и облачным источникам данных. В полностью локальной конфигурации (локальные модели + локальные источники) исходящих запросов с данными нет.

Хранение учётных данных

Учётные данные коннекторов (токены, ключи, сервис-аккаунты) хранятся в PostgreSQL в зашифрованном виде. Ключ шифрования задаётся переменной окружения ENCRYPTION_KEY_SECRET при установке — задайте собственное значение и храните его в менеджере секретов: без ключа расшифровать учётные данные из резервной копии базы невозможно.

Так же шифруются API-ключи языковых моделей и заголовки авторизации внешних действий.

Аутентификация и доступ

  • Вход: почта и пароль либо корпоративный SSO — OIDC или SAML.
  • Роли и группы: пользователь / куратор / администратор, видимость источников по группам — см. «Права доступа».
  • Наследование прав из источников: для поддерживаемых коннекторов документ находит только тот, кому он доступен в исходной системе.
  • Сервисные аккаунты: API-ключи для интеграций создаются отдельно и управляются в админке.

Честное ограничение: права применяются на уровне приложения. Администратор сервера с доступом к базе данных технически может прочитать её содержимое — защищайте сам сервер (доступ по SSH, шифрование дисков, резервные копии).

Контроль использования

  • История запросов (с активной лицензией) — администратор видит, какие вопросы задавались и какие документы попадали в ответы.
  • Лимиты расходов (с активной лицензией) — ограничение потребления токенов моделей.
  • Логи компонентов доступны стандартными средствами Docker (docker compose logs).

Развёртывание в закрытом контуре

Рекомендуемая конфигурация для контура без доступа в интернет:

  1. Модели — локальные: Ollama/vLLM для чата, локальная модель эмбеддингов по умолчанию (см. «Языковые модели»).
  2. Источники — self-hosted системы контура (вики, Git-серверы, файловые хранилища).
  3. TLS — поставьте перед инсталляцией ваш обратный прокси с корпоративными сертификатами.
  4. Исходящий трафик — закройте его межсетевым экраном; Charo для работы лицензии и поиска он не нужен (лицензионный ключ проверяется локально).
  5. Обновления — образы контейнеров переносите через внутренний registry.

Что уходит наружу при облачных моделях

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