// In depth
The architecture: public edge, private core #
Our network designs follow one principle: the internet sees exactly one thing — a hardened entry point. Everything else lives on private networks with no public address at all. A request flows from the user through the CDN/WAF, to the load balancer, and only then into the private network where your services and data live.
| Zone | Contains | Reachable from |
|---|---|---|
| Public edge | CDN, WAF, load balancers | The internet (that is its job) |
| Application network | Services, workers, internal APIs | Only the edge and each other |
| Data network | Databases, caches, queues | Only the application network |
| Management plane | Bastion-less admin access, CI runners | Only via zero-trust proxy (SSO + MFA) |
The unglamorous payoff: a database that has no public IP cannot be in the next credential-stuffing headline. "Unreachable" beats "unbreached" — it removes the entire category of attack instead of defending against it.
Segmentation & blast radius #
Zones limit what an attacker who gets in can reach next. Production, staging, and corporate environments are separate networks — separate accounts where the platform allows — with explicit, minimal, documented connections between them:
- A compromised staging environment cannot route to production data. Ever. This is enforced by network topology, not by policy documents.
- Service-to-service traffic is allow-listed: the invoice service can reach the database and the email queue, and nothing else.
- Third-party integrations enter through dedicated egress/ingress points with their own monitoring, so a partner compromise has a known, bounded surface.
- Backups live in a separate account entirely — outside the blast radius of even a full production compromise (see Backups & Disaster Recovery).
How humans get in: zero-trust access #
The shared VPN with a config file from 2019 is the most common finding in our security audits — one credential, full network access, no per-person trail. We replace it with identity-aware access:
- Engineers authenticate through your SSO with MFA (passkey-first on systems we manage) — access dies automatically when the person leaves the org.
- Authorization is per-service, per-person, per-role: a frontend developer can reach staging logs, not the production database.
- High-privilege access is time-boxed: production database sessions are requested, approved, and expire in hours.
- Every session is logged — who, what, when, from where — feeding the audit trail reviewed quarterly.
NoteAccess reviews run quarterly on managed systems: every grant is re-justified or revoked. The review itself is automated; the decisions are human.
Service-to-service authentication #
Private networks limit who can connect; service identity limits what a connection can do. Services authenticate to each other with short-lived credentials issued by the platform (workload identity / mTLS where supported), never with long-lived API keys pasted into environment variables. A leaked credential that expires in an hour is an incident; one that lives for three years is a breach.
Hardening the one public door #
| Layer | What it stops |
|---|---|
| DDoS protection | Volumetric attacks absorbed at the edge before they reach your infrastructure |
| WAF | Injection, XSS, and known exploit patterns; custom rules per application |
| Rate limiting | Brute force, scraping, and API abuse — tuned per endpoint sensitivity |
| TLS policy | Modern protocols only (TLS 1.2+), HSTS, automated certificate rotation |
| Bot management | Credential stuffing and inventory-hoarding bots on commerce platforms |
Egress control — the overlooked half #
Most teams firewall inbound traffic and let anything leave. But exfiltration is an outbound act: malware phones home, a compromised dependency ships your data out. On sensitive platforms we control egress too — services may only reach the external endpoints they are documented to need, and unexpected outbound destinations raise alerts. This is the control that turns a supply-chain compromise from a quiet leak into a loud alarm.
What we usually find (and fix) in audits #
| Finding | Frequency | Fix |
|---|---|---|
| Database or admin panel on a public IP | Very common | Move to private network; zero-trust proxy for admin access |
| One shared VPN credential for all staff | Very common | SSO + MFA identity-aware access, per-person |
| Flat network — every service reaches every other | Common | Zone segmentation with allow-listed flows |
| Security-group rules open to 0.0.0.0/0 "temporarily" | Common | IaC-managed rules with drift detection (temporary becomes permanent otherwise) |
| Staging with production data and weaker controls | Common | Anonymized seeding (see Preview Environments) + same network discipline |
NoteA network audit is included in every takeover engagement and available standalone — findings ranked by exploitability, not by report length.