Public surfaces are intentionally limited; internal services remain loopback-bound and unreachable from the internet by binding.
Exposure is explicit, not accidental: binding defines reachability.
| Public edge | 80/443 via nginx; mail and DNS ports as required |
| Application upstream | 127.0.0.1:8000 (loopback) |
| Data layer | 127.0.0.1:3306/5432/6379 (loopback) |
| Policy verification | Policy Drift Detector validates bindings and key policy signals |
Internet → nginx edge → app (loopback) → data services (loopback)