“Assume compromise” is easy to say and surprisingly hard to design around. Taken seriously, it means building as if an attacker is already inside the perimeter. Not as a worst case to imagine, but as the baseline you plan for.
That one assumption changes the questions you ask.
From “keep them out” to “notice them fast”
If you assume the perimeter holds, you put almost everything into the wall. If you assume it doesn't, you invest in seeing clearly once someone is past it. The goal moves away from perfect prevention, which nobody achieves, and toward shortening the time between when something goes wrong and when a person understands it.
What the assumption forces you to build
- Visibility that survives failure. Your defenses have to keep working even when individual pieces are degraded, misconfigured, or under active attack.
- Evidence, not just alerts. An alert tells you something happened. Evidence lets a responder reconstruct what happened and decide what to do, and that's the part that actually matters here.
- Adaptation over static rules. Attackers change their behavior, so a defense pinned to yesterday's idea of normal ages badly. The system has to keep learning what healthy looks like.
Perfect prevention is a goal you never reach. Fast, well-evidenced detection is a goal you can actually meet.
Why we build this way
We would rather design for the moment things go wrong and be pleasantly surprised than design for the moment things go right and get caught flat. Assuming compromise isn't pessimism. It's what lets you stay calm when the assumption turns out to be true.