Туннель для AI-агентов.
Claude Code, Cursor или любой MCP-агент читает внутренние Jira, GitLab и SQL — только то, что разрешено. С маскированием, аудитом и kill-switch.
Не отдавайте агенту пароли.
Дать агенту токен Jira и пароль БД легко, но потом не узнать, кто и что прочитал. Шлюз выдаёт агенту один личный токен.
- 1Секреты остаются в офисе
- 2Каждый вызов попадает в журнал
- ✕Пароли у агента
- ✕Журнала нет
- ✕Остановить нельзя
- Только разрешённые инструменты
- Каждый вызов в аудите
- Останавливается одной кнопкой
Один шлюз — полный контроль.
Агент общается только со шлюзом. Шлюз проверяет, маскирует, записывает и передаёт запрос через туннель офисному коннектору.
- 1MCP Streamable HTTP
- 2Коннектор слушает только 127.0.0.1
127.0.0.1
Три шага — одна команда.
Админ создаёт агента, вы получаете токен и запускаете одну команду. Claude Code, Cursor или любой MCP-клиент.
- 1Токен показывается один раз
- 2Для Cursor есть JSON-конфиг
Токен — один раз и лично.
У каждого агента свой токен ag_<имя>_…. На сервере хранится только sha256 — открытого токена нигде не остаётся.
- 120 ошибок / 10 минут — IP блокируется
- 2Перевыпуск в любой момент (rotate)
Новый агент
sha256 · 4f9a1c0e…d27be20d
Один вопрос — три системы.
Разработчик спрашивает Claude. Агент сам читает Jira, GitLab и БД stage и отвечает с доказательствами.
- 1Каждый шаг виден в админ-панели
- 2Данные приходят уже замаскированными
Каждый пакет — через шесть проверок.
После tools/call проверяются токен, права и лимит, а ответ коннектора возвращается замаскированным и записанным в журнал.
- 1Отклонённый вызов тоже пишется
- 2В результате видно, сколько полей скрыто
Нет права — не виден и инструмент.
Админ задаёт агенту список с glob: *, acme-jira_*, acme-sql_query. Инструмента вне списка нет в tools/list, а вызов отклоняется.
- 1Лимит в минуту, по умолчанию 30
- 2Можно поставить на паузу одного агента
acme-jira_*acme-gitlab_mr*acme-sql_querytools/call → acme-sql_schema
✕ отказ · нет права
Персональные данные — не доходят до агента.
Каждый результат проверяется до отправки агенту: ПИНФЛ, паспорт, телефон, email, карта, токены скрываются. Число скрытых полей видно в каждом вызове.
- 1ИНН — по желанию
- 2Типы включаются в панели
DELETE? Нет.
Guard пропускает только один SELECT или WITH. INTO, EXEC, sp_/xp_, OPENROWSET, WAITFOR, «;» — запрос останавливается, не дойдя до базы.
- 1Отклонённый запрос остаётся в аудите
- 2Проверка на стороне коннектора
DELETEUPDATEINSERTINTOEXECsp_ / xp_OPENROWSETWAITFOR;Записать нельзя — по устройству.
Даже пропущенный guard'ом запрос идёт в транзакции READ UNCOMMITTED и всегда откатывается. На prod — read-only логин на уровне БД.
- 1Таймаут 30 секунд
- 2Не больше 200 строк
Кто, что, когда — всё записано.
Агент, инструмент, замаскированные аргументы, статус, мс, байты и число масок. JSONL хранится 30 дней и в реальном времени идёт в панель через SSE.
- 1Фильтр по агенту и дню
- 2Аргументы тоже маскируются
Каждый вызов — перед глазами.
Поток от агентов к ядру и от ядра к коннекторам. Красная вспышка — отказ, фиолетовая — замаскированные данные.
- 13D-поток + лента + статистика
- 2Одна страница, ничего не нужно вводить
Одна кнопка — всё остановлено.
При подозрении админ нажимает kill-switch: ни один вызов агента не проходит. Можно также поставить на паузу одного агента или отключить один коннектор.
- 1Включить обратно — тоже одна кнопка
- 2Причина пишется в журнал
Пароли — не покидают офис.
Пароли БД, токены Jira и GitLab лежат только в маленьком офисном коннекторе. Он слушает 127.0.0.1 и публикуется для шлюза через tunnel.dtwin.uz.
- 1Шлюз обращается к коннектору с bearer secret
- 2tunnel.dtwin.uz — родственный продукт
gateway.dtwin.uz
коннектор
127.0.0.1:8095 · Bearer
Девять инструментов — все только для чтения.
Jira, GitLab и SQL — то, что разработчик спрашивает каждый день. Без npm-зависимостей, один маленький контейнер.
- 1Имя инструмента с именем коннектора: acme-…
- 2Новый коннектор — новые инструменты
Рискованный шаг — с подтверждением.
Если агент хочет написать комментарий в Jira, запрос приходит в панель или Telegram. Пока админ не подтвердит, ничего не записывается.
- 1Пишущие инструменты — только с подтверждением
- 2Кто подтвердил — в аудите
PAY-142: исправлено в !318, проверено на stage.
Следующие шаги — план готов.
Шлюз растёт: пишущие инструменты, тонкие политики и новые коннекторы. Отмечены значком.
Подключите агента сегодня.
Получите токен у админа и запустите одну команду — а потом спросите агента о любой задаче.