Admin authentication
The Admin plane requires a JWT (HS256) signed withSERVER_SECRET_KEY:
SERVER_SECRET_KEY secret and rotate it like any signing key — anyone who can sign a
token with it can administer every gateway. Mint short-lived tokens (see the
Quickstart).
The Proxy plane validates consumer credentials (API-key hash, OAuth2/IDP JWT, or mTLS),
and the MCP plane runs a full OAuth2 server — see MCP.
Security headers
A middleware sets hardened response headers on every plane:Client TLS to upstreams
A gateway’sclient_tls configures TLS per upstream
hostname (keyed by host), so you can pin certificates or constrain protocols for specific
providers:
| Field | Purpose |
|---|---|
ca_cert | Custom CA to trust. |
client_certs.{certificate, private_key} | Mutual TLS to the upstream. |
min_version / max_version | TLS version bounds. |
cipher_suites / curve_preferences | Allowed cipher suites / curves. |
disable_system_ca_pool | Trust only your ca_cert. |
allow_insecure_connections | Skip verification (testing only). |
mTLS clients
For consumer authentication by client certificate, use anmtls auth
credential. When TrustGate runs behind a TLS-terminating proxy, set TRUST_XFCC_FROM to the
trusted sources allowed to present the forwarded client-certificate (XFCC) header.