LLM-шлюз на вашей инфраструктуре · работает в изолированной сети

Ничто не уходит без проверки.

SpaceCanon стоит между вашими людьми, IDE и агентами — и каждым провайдером моделей. Он маскирует чувствительные данные на лету, применяет персональные ключи и бюджеты и записывает всё — на вашей инфраструктуре, даже в полностью изолированной сети.

Анимированный пример: промпт разработчика с именем человека, адресом эл. почты, номером карты и ключом AWS проходит проверку шлюза; в версии, отправленной провайдеру, имя и адрес заменены правдоподобными фиктивными значениями, а номер карты и ключ замаскированы.

pseudonymize · обратимо redact · необратимо На обратном пути псевдонимы восстанавливаются в потоке — ваш пользователь видит настоящие имена; провайдер — никогда.

Консоль

Всё это видно — и управляется — из одной консоли.

Ниже не макеты: это админ-консоль SpaceCanon, снятая с работающего шлюза — с реальными обнаружениями в журнале.

Консоль SpaceCanon: список пользовательских DLP-правил
Правила DLP. Свои распознаватели — deny-list из LDAP, regex, бренд. Применяются сразу, без перезапуска.
Консоль SpaceCanon: список разрешённых провайдеров с моделями
Провайдеры. Список разрешённых провайдеров и моделей; всё остальное блокируется.

Точка контроля

Один шлюз на пути запроса — а не панель, прикрученная задним числом.

Каждый контроль ниже выполняется в процессе, внутри одного Go-бинарника, для каждого запроса — прежде чем что-либо уйдёт в сеть.

источник — ваша сеть агенты claude-code / codex IDE и ассистенты внутренние приложения CI-пайплайны
spacecanon-core
один Go-бинарник · конвейер хуков в процессе
  1. license — проверяется на пути запроса; fail-closed
  2. detect — встроенные детекторы + ваши правила
  3. policy — redact / pseudonymize / warn / block
  4. govern — персональные ключи, бюджеты, лимиты частоты
  5. route — только провайдеры из списка разрешённых
выход — по списку разрешённых anthropic openai / azure bedrock / vertex всё остальное — заблокировано

Fail-closed по умолчанию: если зависимость обнаружения недоступна или лицензия недействительна, запросы блокируются — и никогда не отправляются без защиты. В этом и смысл переноса контроля внутрь бинарника.

Контроли

Что контролирует шлюз.

Четыре точки контроля, о которых просит ваша служба безопасности, — каждая привязана к своему разделу консоли администратора.

/rules

Защитные политики

Проблема Одна вставленная в промпт учётная запись или карточка клиента — это незалогированная, невосстановимая утечка в тот момент, когда она достигает провайдера.
Что вы получаете
  • 100+ типов учётных данных с фильтрацией по энтропии — AWS, GitHub, Stripe, приватные ключи, JWT.
  • Обратимая псевдонимизация сохраняет контекст пригодным для модели; оригиналы возвращаются в ответе.
  • Собственные правила — regex, списки запрета, бренд — применяются сразу, без перезапуска.
/users

Доступ и ключи

Проблема Общий ключ провайдера нельзя привязать к человеку, нельзя отозвать, не сломав работу всем, — и он обходит все ваши средства контроля.
Что вы получаете
  • Один отзываемый ключ на человека — выдача в консоли, самостоятельная ротация, отзыв за секунды.
  • Каждый запрос привязан к человеку — у использования и срабатываний есть имя.
  • Никаких внешних сервисов для входа и контроля доступа.
/budgets

Контроль расходов

Проблема Один сорвавшийся агент или утёкший ключ способен сжечь месячный бюджет за ночь — а за воздушным зазором облачных панелей расходов нет.
Что вы получаете
  • Месячный лимит в долларах на пользователя — запросы сверх бюджета отклоняются, а не оплачиваются молча.
  • Ограничения по запросам и токенам останавливают неконтролируемое использование.
  • Прайс-лист поставляется в комплекте — бюджеты работают без связи с внешним миром.
/providers

Провайдеры и исходящий трафик

Проблема Когда каждая команда настраивает провайдеров и ключи сама, вы получаете разрастание учётных данных и никакого контроля над тем, куда на самом деле уходят промпты.
Что вы получаете
  • Одна точка входа для множества моделей — общие форматы API, включая потоковую передачу.
  • Список разрешённых провайдеров и моделей — всё остальное блокируется.
  • Контролируемые исходящие каналы — при необходимости направляйте трафик провайдера через egress-прокси.

Развёртывание

Один бинарник. Один ключ конфигурации. Три топологии.

Роль в конфигурации определяет, что делает ядро, — без переработки архитектуры между пилотом в изолированной сети и развёртыванием на несколько площадок.

# config.bundled.yaml
role: bundled

Полностью на своей площадке

Всё работает у вас и обращается к провайдерам напрямую. Трассы, обнаружения и бюджеты остаются локально.

покидает площадку: только heartbeat лицензии

# config.edge.yaml
role: edge

Проверка на площадке

Маскирование и управление работают рядом с вашими пользователями; проверенный трафик уходит вверх на управляющий контур.

покидает площадку: только проверенный трафик

# config.control.yaml
role: control

Управляющий контур

Агрегирует edge-узлы, выдаёт лицензии и размещает наблюдаемость — в нашем облаке или в вашем.

размещение: у нас или у вас

Под капотом

Больше для предприятия.

Управление парком и агентами

Задайте, что могут делать агенты разработчиков и куда им можно отправлять трафик — на всех рабочих станциях.

Полный журнал аудита

Поисковая запись о том, какие чувствительные данные были перехвачены и как обработаны. Исходные значения никогда не сохраняются.

Офлайн-лицензирование и аварийное отключение

Контроль лицензий, работающий в изолированной сети, с удалённой остановкой при необходимости.

Наблюдаемость на своей инфраструктуре

Данные о стоимости и задержке по каждому запросу, остающиеся в вашей инфраструктуре.

Анонимизация справочника

Автоматически маскирует личность каждого сотрудника — одно управляемое правило на весь каталог.

CLI-прокси

Проводите OAuth- и подписочные аккаунты через шлюз — под тем же контролем.

Начать

Посмотрите, как он проверяет ваш трафик.

Это больше, чем помещается на странице. Свяжитесь с нами, чтобы увидеть полную картину, — или начните с bundled-образа и получите управляемый шлюз на своём железе уже сегодня.