When the same security finding keeps turning up across teams, I want to look at what we are asking people to remember.

Reminders have a place. Training helps people understand why a control matters. But a program that depends on everyone remembering every requirement, every time, creates work that grows with the number of teams and applications.

Find the repeated decision

Look for choices that teams keep making independently: how to handle a secret, configure access, record a security-relevant event, or start a new service. When those choices are familiar and repeatable, we have an opportunity to provide a maintained default.

That might be a service template, a shared library, a pipeline control, or a clear implementation example. The form matters less than whether it fits how people already build and deploy.

Own the default after launch

A template can spread a weakness as effectively as it spreads a good practice. Someone needs to maintain it, make its assumptions clear, and give teams a practical way to adopt improvements.

Security and engineering should agree on that responsibility. Publishing guidance without owning its usefulness leaves developers to discover which parts still apply.

Make exceptions informative

Teams will encounter situations the default does not cover. Give them a route to explain the difference and get help. If many teams need the same exception, that is evidence that the standard pattern needs attention.

A good security default turns an important requirement into an ordinary part of delivery.

I would measure progress by adoption, maintenance, and the reduction in repeated weaknesses. The number of documents we publish is a poor substitute for knowing whether the next application starts from a better position.

References & further reading

Primary guidance for the concepts and controls discussed here.