Disclaimer: Opinions expressed are solely my own and do not express the views or opinions of my employer.
Cheyenne River crossing view on the Native American National Scenic Byway. (Photo from Travel South Dakota)
"We need paved paths!" has become the rallying cry in security engineering lately, joining the ranks of "shift left" and "DevSecOps" in our ever-growing collection of buzzwords. Rolling eyes at yet another trendy term? But here's the thing – behind these buzzwords lies a profound shift in how we approach security at scale.
The concept of paved paths evolved from the idea of opinionated defaults, coined by Netflix and widely adopted by Spotify, Google to improve developer productivity and scalability. By treating infrastructure, deployment, and security as products, they created easy, standardized approaches that developers naturally adopted
The Problem With "Choose Your Own Adventure"
Let me paint you a familiar picture. Your engineering organization is growing rapidly. Teams are shipping features faster than ever. Each team is selecting their own tech stack, deployment patterns, and security controls.
Fast forward six months, and the security team is overwhelmed with architecture reviews. Each application now requires a custom security assessment because they have all been implemented differently. The team is also juggling various security controls and risks, maintaining them in a risk register (often just a spreadsheet). This reactive and fragmented approach is clearly unsustainable. These reviews would potentially reveal consistent gaps and areas of concern in these categories -
Authentication and authorization
Secret management
Security logging
CSP headers
Rate limiting
Input validation
Deployment strategies
Suddenly you're facing:
5 different authentication implementations (half missing MFA or token mismanagement)
Inconsistent security logging (good luck with incident investigation)
Various API security patterns (some missing critical controls)
Multiple secret management solutions (with text editor as preferred method)
The Evolution from Standards to Paths
Traditionally, security teams responded to this chaos with standards documents. They go through an incident, do a retro and note down the lessons learned and come up with — We need a POLICY for this. We'd then write lengthy PDFs detailing security requirements, authentication patterns, and deployment guidelines. They'd sit in some Confluence or Notion gathering, what I call, digital dust, while developers continued building things their way, completely unaware of its existence or the scenarios when to use them, and security teams live believing that “Our Data is encrypted, because we have a policy”.
This is where paved paths come in – moving from these set of guidelines and documented policies to actually productizing them in a way that would essentially become easier to adopt and implemented by default (wherever possible)
The Product Mindset Shift
I am huge fan of security reviews and learn about each and every product that is being shipped out. While doing these reviews, we often ask about “how are you doing authentication?”, “How are you applying rate limiting to the apis?” etc. Now when you do these reviews very frequently, you will start seeing a pattern of similar questions and answers. Thats when you get a signal which tells you that its time to implement secure-defaults essentially called as “Paved Roads”. Once you do that, now you start asking questions to which the answers are mostly boolean.
“Are you using the x-logger package for logging?”
“Are you using WAF with load balancer configurations?”
“Are using <paved road> to <prevent-something>”
With this strategy you pretty much eliminate the entire classes of vulnerabilities during security reviews.
From Theory to Practice
Netflix uses it, so it should work great for you, right? Not so fast. The Concept Paved Road is not for everyone. Questions to answer before you make a decision —
Is there a certain degree of pattern understanding and a pain point to solve at scale?
Is there a dedicated team that is in contact with all the teams so it can build the solution that best fits everyone and maintain them.
Is there a buy-in from other engineering teams? Do you have internal pilot customers willing to adopt this new way of development?
If you are a startup, focused on MVP, speed might be more critical than setting up these paved roads which might sound counterproductive. At growth stage as the startup begins to grow and more developers join the team, the need for consistency and efficiency becomes more apparent. This is an ideal time to formalize the paved road approach. At enterprise level, having a paved road approach is almost essential. The complexity of managing large teams and extensive codebases demands a clear, efficient path. The focus now becomes how to improve it continuously.
For practical implementation, here's how I've seen this work in practice. Start small:
Identify Common Patterns: Look for security controls that every application needs. Authentication, logging, TLS configuration – these are your low-hanging fruit.
Build the Foundation: Create reusable components that implement these patterns. Make them modular. Make them maintainable.
Make it Attractive: Your paved path needs to be more appealing than going off-road. This means:
Excellent developer experience
Clear documentation
Quick start templates
Automated security validations
Built-in compliance controls
FAQs
Measure and Iterate: Track adoption metrics. Get feedback. Improve continuously.
The Platform Engineering Connection
Here's where it gets interesting — Paved paths naturally evolve into platform engineering initiatives. Why? Because once you've productized security patterns, you start seeing opportunities to productize everything else.
Your authentication module becomes an identity platform. Your deployment scripts become a CI/CD pipelines. Your security controls become policy-as-code. Before you know it, you're building a comprehensive internal developer platform.
Looking Forward
The future of paved paths isn't just about security – it's about elevating the entire development experience. When done right, security becomes invisible infrastructure, just like the actual paved roads we drive on every day. Just start building.
Don't wait for perfection
Start with one critical security pattern
Make it easy to adopt
Gather feedback consistently
Build allies in development teams
Measure everything
Think of this as a product for your and your dev teams as customers. When you treat secure development as a product and your developers as customers, you create something they actually want to use.
The next time someone dismisses paved paths as just another buzzword, ask them this: Would you rather build roads one car at a time, or create highways that enable thousands to move faster, safer, and more efficiently?
The choice, like your first paved path, should be obvious.