← Ctrl+AI

Architecture

How this box is actually laid out. IPs, hostnames, and allowlist entries are redacted here on purpose — same rule the live tools follow.

INTERNET
Public traffic, including this page you're reading right now.
HYPERVISOR FIREWALL
First gate. Restricts the control-plane IP to a short allowlist; leaves the web IP open on the ports it needs to serve sites.
HOST FIREWALL
Second gate, running on the VM itself. Separate firewall zones for the two IPs — the control-plane zone stays source-restricted, the web zone stays open to the world.
CONTROL-PLANE IP
Dedicated IP, one job: MCP over HTTPS. App-level allowlist plus OAuth/bearer auth. Nothing else is ever allowed to bind a port here.
WEB IP
Dedicated IP, one job: nginx serving every public site. Per-site Linux users, per-site docroots, SELinux-isolated.
These two IPs never share a listening port — the control plane and public sites are physically separated, not just logically.
Why split like this?