- Deploy
- Bridges
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:latestOutbound only. Always.
The bridge agent runs inside your private network and opens an outbound WebSocket connection (WSS) to the Connic relay. No inbound ports. No firewall changes. No public IPs for your private services.
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># tools/lookup_order.py
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()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.
The bridge's ALLOWED_HOSTS env var enumerates exactly which host:port targets it may connect to. Anything else is rejected at the bridge.
All traffic between the bridge and the Connic relay is encrypted via WSS (WebSocket over TLS).