Threat Modeling
Threat modeling is a proactive design-time exercise where a team systematically identifies potential attackers, attack vectors, and valuable assets in a system, then designs defenses before writing code — shifting security thinking upstream, before vulnerabilities are ever built in, rather than finding them afterward.
Common frameworks (STRIDE — Spoofing, Tampering, Repudiation, Information disclosure, Denial of service, Elevation of privilege) give a team a structured checklist of attacker goals to systematically consider against each part of a system's architecture, rather than relying purely on ad hoc intuition about what might go wrong.
Because it happens at design time, threat modeling is one of the cheapest security investments available — a design flaw caught on a whiteboard costs a conversation to fix; the same flaw caught by a penetration test after the system is built costs a real remediation effort, and if caught even later, in production, potentially a real incident.