A tunnel for AI agents.
Claude Code, Cursor or any MCP agent reads your internal Jira, GitLab and SQL — only what you allow. With masking, audit and a kill-switch.
Don't give agents passwords.
Handing an agent a Jira token and a DB password is easy — but then nobody knows who read what. The gateway gives each agent one personal token.
- 1Secrets stay in the office
- 2Every call is logged
- ✕Passwords live in the agent
- ✕No log
- ✕No way to stop it
- Only allowed tools
- Every call audited
- Stops with one button
One gateway — full control.
The agent only talks to the gateway. The gateway checks, masks, logs and forwards the request through a tunnel to the office connector.
- 1MCP Streamable HTTP
- 2The connector listens on 127.0.0.1 only
127.0.0.1
Three steps — one command.
An admin creates the agent, you get a token and run one command. Claude Code, Cursor or any MCP client.
- 1The token is shown exactly once
- 2A JSON config for Cursor, too
A token — once, and personal.
Every agent gets its own ag_<name>_… token. The server stores only its sha256 — the plain token is kept nowhere.
- 120 failures / 10 min — the IP is blocked
- 2Rotate at any time
New agent
sha256 · 4f9a1c0e…d27be20d
One question — three systems.
A developer asks Claude. The agent reads Jira, GitLab and the stage DB on its own and answers with evidence.
- 1Every step shows up in the admin panel
- 2Data arrives already masked
Every packet — six checks.
On tools/call the token, allowlist and rate are checked, and the connector's answer comes back masked and logged.
- 1Denied calls are logged too
- 2The result says how many fields were masked
No permission — no tool in sight.
The admin gives each agent a glob list: *, acme-jira_*, acme-sql_query. Tools outside the list are hidden from tools/list and refused on call.
- 1Calls-per-minute limit, default 30
- 2Pause a single agent
acme-jira_*acme-gitlab_mr*acme-sql_querytools/call → acme-sql_schema
✕ denied · not allowed
Personal data — never reaches the agent.
Every result is checked before it leaves: PINFL, passport, phone, email, card, tokens are hidden. Each call shows how many fields were masked.
- 1Tax ID (INN) — optional
- 2Toggle each type in the panel
DELETE? No.
The guard lets through a single SELECT or WITH only. INTO, EXEC, sp_/xp_, OPENROWSET, WAITFOR, “;” — the query stops before it reaches the database.
- 1Refused queries stay in the audit log
- 2Enforced in the connector
DELETEUPDATEINSERTINTOEXECsp_ / xp_OPENROWSETWAITFOR;Writes are impossible — by design.
Even a query the guard accepts runs in a READ UNCOMMITTED transaction and is always rolled back. On prod — a read-only login at the DB level.
- 130-second timeout
- 2At most 200 rows
Who, what, when — all on record.
Agent, tool, masked arguments, status, ms, bytes and mask count. JSONL kept for 30 days, streamed live to the panel over SSE.
- 1Filter by agent and day
- 2Arguments are masked too
Every call — right in front of you.
Flow from agents to the core and from the core to connectors. A red burst is a denied call, a purple one is masked data.
- 13D flow + feed + stats
- 2One page, nothing to type
One button — everything stops.
If something looks wrong, the admin hits the kill-switch: no agent call gets through. You can also pause one agent or disable one connector.
- 1Turning it back on is one button too
- 2The reason is logged
Passwords — never leave the office.
DB passwords and Jira/GitLab tokens live only in a tiny office connector. It listens on 127.0.0.1 and is published to the gateway through tunnel.dtwin.uz.
- 1The gateway calls the connector with a bearer secret
- 2tunnel.dtwin.uz is a sister product
gateway.dtwin.uz
connector
127.0.0.1:8095 · Bearer
Nine tools — all read-only.
Jira, GitLab and SQL — what developers ask about every day. No npm dependencies, one small container.
- 1Tool names carry the connector name: acme-…
- 2New connector — new tools
Risky step — with a human OK.
When an agent wants to post a Jira comment, the request goes to the panel or Telegram. Nothing is written until an admin approves.
- 1Write tools only with approval
- 2Who approved is audited
PAY-142: fixed in !318, verified on stage.
What's next — already planned.
The gateway keeps growing: write tools, finer policies and new connectors. Marked with a chip.
Connect your agent today.
Get a token from your admin and run one command — then ask the agent about any task.