VARUX AXIS Deterministic PostgreSQL Write-Path Control
v0.6 · Pilot Readiness
AXIS Documentation / Security / mTLS & Network

mTLS & Network

mTLS implementedNegative matrix 18/18Ports 6543 / 5432 / 3000

Client-to-AXIS and AXIS-to-backend TLS/mTLS are implemented on the shared write-path transport (native pgwire forwarder, CancelRequest path, and API DbPool). The negative mTLS matrix passes 18/18 — plaintext and certificate-verification-bypass mutations fail closed. Cleartext traffic is a lab-only configuration, not a supported production mode.

Topology

Application HTTP :6543 (POST /query) mTLS client cert AXIS Gate LISTEN_ADDR :6543 pgwire :6544 (TLS/mTLS) TLS/mTLS PostgreSQL :5432 · axis_executor protected target TLS/mTLS Control Plane :3000 (Next.js) server-side proxy /api/axis/* Operator browser https / localhost http never holds backend URL or token Direct DB client :5432 (bypass) must be closed by deployment Protection boundary: AXIS controls the HTTP write path and (lab) the wire path. It cannot control credentials or networks that bypass it.
Transport posture: TLS/mTLS on client-to-AXIS and AXIS-to-backend paths; direct :5432 access is the documented bypass to close.

Ports and listeners

PortOwnerPurpose
6543AXISHTTP API (LISTEN_ADDR, default 0.0.0.0:6543)
6544AXIS pgwire labNative wire listener, disabled by default (AXIS_PGWIRE_ENABLED=false)
5432PostgreSQLProtected database (DB_HOST/DB_PORT)
3000Control PlaneOperator UI; proxies /api/axis/*
6545AXIS (prod-like)Production-like instance in the extended demo stack
65430 / 54320Reviewer stackAXIS + PostgreSQL for the reviewer/demo environment

TLS / mTLS variables (hardened core)

VariableNotes
AXIS_TLS_REQUIRE_CLIENT_CERTRequire and validate a client certificate (mTLS); production profile rejects false
AXIS_TLS_CLIENT_CA_BUNDLE_PATH / AXIS_TLS_SERVER_CERT_PATH / AXIS_TLS_SERVER_KEY_PATHClient-to-AXIS TLS termination material
AXIS_TLS_UPSTREAM_CLIENT_CERT_PATH / AXIS_TLS_UPSTREAM_CLIENT_KEY_PATH / AXIS_TLS_UPSTREAM_CA_BUNDLE_PATHAXIS-to-PostgreSQL mTLS material (upstream)
AXIS_PG_HBA_PROXY_CIDR / AXIS_ENFORCE_PG_HBA_BASELINE / AXIS_PG_HBA_CHECK_INTERVAL_MINUTESpg_hba proxy-only hostssl/cert baseline enforcement; drift → signed AXIS_PG_HBA_DRIFT_DETECTED audit event
AXIS_TLS_MIN_VERSIONMinimum TLS version (e.g. 1.2)

mTLS status (2026-08)

ItemStatusDetail
Client-to-AXIS TLS/mTLSImplementedShared write-path transport; AXIS_TLS_REQUIRE_CLIENT_CERT enforced
AXIS-to-backend mTLSImplementedUpstream client cert + CA bundle on the native pgwire forwarder and API DbPool
CancelRequest pathImplementedRuns over the same mTLS transport (RFC-032 status update 2026-08)
Negative mTLS matrix18/18 passedPlaintext and certificate-verification-bypass mutations (invalid CA, hostname-only bypass, disabled verification) all fail closed
Cleartext trafficLab-onlyNot a supported production mode; pg_hba baseline blocks proxy-only hostssl/cert elsewhere
Control Plane HTTPSImplementedProduction mode uses HTTPS; pilot runs HTTP on localhost
Production postureRequiredCertificate rotation, expiry monitoring and key management (KMS/OIDC) remain enterprise requirements

Control Plane proxy details

mTLS is implemented and the negative matrix passes (18/18), but cleartext remains lab-only. Production deployments must enforce AXIS_TLS_REQUIRE_CLIENT_CERT=true, keep PostgreSQL host-only (pg_hba baseline), and complete certificate lifecycle management.

Related: Security Model · Deployment · Security Review