Разделы документации
Безопасность
Модель безопасности Charo — шифрование учётных данных, разграничение доступа и развёртывание в закрытом контуре.
Принципы
Charo — self-hosted система: все данные (документы, индекс, история чатов, учётные данные) хранятся на вашей инфраструктуре. Наружу трафик уходит только к тем внешним сервисам, которые вы явно подключили: облачным LLM-провайдерам, облачным эмбеддинг-провайдерам и облачным источникам данных. В полностью локальной конфигурации (локальные модели + локальные источники) исходящих запросов с данными нет.
Хранение учётных данных
Учётные данные коннекторов (токены, ключи, сервис-аккаунты) хранятся в
PostgreSQL в зашифрованном виде. Ключ шифрования задаётся переменной
окружения ENCRYPTION_KEY_SECRET при установке — задайте собственное значение
и храните его в менеджере секретов: без ключа расшифровать учётные данные из
резервной копии базы невозможно.
Так же шифруются API-ключи языковых моделей и заголовки авторизации внешних действий.
Аутентификация и доступ
- Вход: почта и пароль либо корпоративный SSO — OIDC или SAML.
- Роли и группы: пользователь / куратор / администратор, видимость источников по группам — см. «Права доступа».
- Наследование прав из источников: для поддерживаемых коннекторов документ находит только тот, кому он доступен в исходной системе.
- Сервисные аккаунты: API-ключи для интеграций создаются отдельно и управляются в админке.
Честное ограничение: права применяются на уровне приложения. Администратор сервера с доступом к базе данных технически может прочитать её содержимое — защищайте сам сервер (доступ по SSH, шифрование дисков, резервные копии).
Контроль использования
- История запросов (с активной лицензией) — администратор видит, какие вопросы задавались и какие документы попадали в ответы.
- Лимиты расходов (с активной лицензией) — ограничение потребления токенов моделей.
- Логи компонентов доступны стандартными средствами Docker
(
docker compose logs).
Развёртывание в закрытом контуре
Рекомендуемая конфигурация для контура без доступа в интернет:
- Модели — локальные: Ollama/vLLM для чата, локальная модель эмбеддингов по умолчанию (см. «Языковые модели»).
- Источники — self-hosted системы контура (вики, Git-серверы, файловые хранилища).
- TLS — поставьте перед инсталляцией ваш обратный прокси с корпоративными сертификатами.
- Исходящий трафик — закройте его межсетевым экраном; Charo для работы лицензии и поиска он не нужен (лицензионный ключ проверяется локально).
- Обновления — образы контейнеров переносите через внутренний registry.
Что уходит наружу при облачных моделях
Если подключён облачный LLM-провайдер, на его API уходят: вопрос пользователя и фрагменты документов, отобранные поиском как контекст ответа. Если подключён облачный эмбеддинг-провайдер — содержимое всех индексируемых документов. Выбирайте провайдера с учётом этого; для чувствительных данных используйте локальные модели.