Reach private services.
No inbound ports.
An outbound-only tunnel from your VPC to Connic. Agents call internal Postgres, S3, and HTTP APIs. No firewall holes, no public IPs, no compromise.
Read the bridge docsBridges
docker run -d --name connic-bridge \
-e BRIDGE_TOKEN=••••••••••••••••
-e ALLOWED_HOSTS=postgres:5432,kafka:9092 \
connicorg/bridge:latestEvery connection starts outbound
The bridge agent runs inside your private network and opens an outbound WebSocket connection (WSS) to the Connic relay. Your private services need no inbound ports, firewall changes, or public IPs.
From zero to first call
Create a bridge in Project Settings, run a Docker container in your network, and reach private services from any connector, custom LLM provider, tool, or middleware.
docker run -d --name connic-bridge \
-e BRIDGE_TOKEN=cbr_your_token_here \
-e ALLOWED_HOSTS=kafka:9092,postgres:5432 \
connicorg/bridge:latest<target>.cnc-bridge-<bridge_id>import psycopg
BRIDGE_ID = "abc123" # copy from Project Settings > Bridge
def lookup_order(order_id: str):
with psycopg.connect(
host=f"postgres-primary.cnc-bridge-{BRIDGE_ID}",
port=5432, dbname="orders", user="reader", password="...",
) as conn:
return conn.execute(
"SELECT data FROM orders WHERE id = %s", (order_id,)
).fetchone()If a protocol discovers new endpoints at runtime, such as Redis Sentinel returning its current master, add exact or safe regex destination routes under Project Settings › Bridge. If ALLOWED_HOSTS is configured, it must include every possible host:port; unset or empty leaves destinations unrestricted.
What your security team will ask about
Bridges are designed to pass a security review on the first pass. The properties below are the ones reviewers ask about first.
The bridge initiates the connection. Connic never connects in. No inbound ports need to be opened on your network.
Each bridge has its own token tied to a single Connic project. Rotate tokens any time from the dashboard, and run multiple bridges in different networks for the same project.
Set ALLOWED_HOSTS to restrict the bridge to exact host:port values. Unset or empty leaves targets unrestricted. Automatic routes never bypass a configured allowlist.
All traffic between the bridge and the Connic relay is encrypted via WSS (WebSocket over TLS).