Forget STRIDE for Every Feature. Do This Instead
Forget STRIDE for Every Feature. Do This Instead
STRIDE is solid. It's also the fastest way to watch engineers slowly check out of a meeting.
The problem isn't the framework itself. It's that teams try to apply it to everything. Every new feature, every new data model, every new integration gets its own full session. It takes too long, it feels repetitive, and by the time you're halfway through, nobody is paying attention anymore. Nothing useful comes out of a threat modelling session where people are just waiting for it to finish.
Here's what actually works.
Use STRIDE where it belongs. Architecture reviews for new systems. Compliance requirements that need documented threat modelling. That's it. That's what it was built for.
But most of your work is not that. Most of your work is a new endpoint, a new data model, a new third-party integration. For that you need something that fits in 20 minutes and still catches what matters.
The 4 Questions. For every new feature, ask:
- What if this component is compromised? Supply chain, third-party libraries, dependencies you don't control. Did you actually vet what you're pulling in?
- What if this data is intercepted? Is everything encrypted in transit? Is sensitive data sitting somewhere it shouldn't be?
- What if this input is malicious? Did you think about what happens when users send you garbage or worse? Is input validation actually in place, or just assumed?
- What if the caller has no right to be here? Auth, access control, who is actually allowed to hit this and are you checking it properly?
This is not a replacement for STRIDE. It's how you keep your existing threat model alive. If you did a proper session at the architecture stage, your job with every new feature is making sure it doesn't quietly break the assumptions you built on. These 4 questions do that fast.
A threat model that only lives in a doc from day one is already out of date. Make it a habit, not a one-time event.