Build a compliance operating system with NIST CSF 2.0
A practical guide for engineering leaders. We’ll follow one fictional startup from a customer’s security questionnaire to a working set of controls, evidence and decisions.
A hospital network wants to store its imaging archive on Pied Piper. Before anyone signs, the hospital’s security team sends Richard Hendricks a questionnaire: how do you secure the software we’re about to depend on?
Richard needs an answer. His engineers need something more useful than “go implement a compliance framework.” They need to know what applies, what work is necessary, who owns it, and how to keep it working as the company changes.
That is the job of a compliance operating system: the people, practices and evidence that make your commitments part of everyday work.
On the Autom8 YouTube channel, we introduced a four-stage approach to building one: understand, establish, adapt and rethink. Here we put those stages to work against a real framework, the US National Institute of Standards and Technology’s Cybersecurity Framework, version 2.0.1 That’s a mouthful, so from here on we’ll call it NIST CSF, or just CSF. By the end, you’ll have a workbook tailored to your organization that holds the whole thing together.
Why NIST CSF?
NIST publishes CSF 2.0 for free, and it describes cybersecurity without prescribing a technology or a vendor. That makes it a good translator between what your customers expect and the work your engineers actually do.
A CSF outcome is not automatically a legal or contractual requirement. Laws, contracts and assurance commitments decide what your business must do; those are your . CSF helps you organize the work around them and around your risks. If a customer needs a SOC 2 report, a CSF workbook won’t replace it.
You can read the whole framework as a PDF from NIST, or browse it with the tools on NIST’s Cybersecurity Framework site. We link back to the source every time we lean on it.
Meet Pied Piper
Our example company is borrowed, affectionately, from HBO’s Silicon Valley. In this story Pied Piper is a small B2B platform: customers upload files through an API, and Pied Piper compresses and stores them in a public cloud. Two engineering teams ship changes through a deployment pipeline. Everything about its security setup is invented for this article.
We’ll follow one slice of their work: software delivery and vulnerability management. That isn’t a complete security baseline. Identity, data protection, suppliers, detection, incident response and recovery all need their own look. A focused start makes the rest of the work visible.
Understand the obligations
What needs to be true for this business, and why?
Before anyone picks a tool or adds a ticket to the roadmap, Richard pulls Jared, Dinesh and Gilfoyle into a room. They work through three questions:
- 01What assurance are customers actually asking for?The hospital wants its questionnaire answered now, and may ask for a SOC 2 report next year.
- 02What applies through law or regulation?Health data could bring privacy and sector rules into play. Jared books time with counsel.
- 03What has Pied Piper already promised in contracts?Jared pulls every signed agreement with a security clause in it.
The framework has an outcome for exactly this work. asks you to understand and manage the legal, regulatory and contractual requirements that apply to you. Notice what it leaves out: picking a framework doesn’t answer Richard’s three questions. Jared still has to find the commitments, and the people qualified to interpret them.
Learn how the framework thinks
It’s tempting to treat CSF as a checklist: find the rows, tick the boxes, move on. Resist that. The framework carries a way of thinking about security, and once your team shares it, every interpretation you make later gets easier to explain and defend. Three ideas do most of the work:
- It describes results, not implementations. CSF says what should be true and leaves the how to you. That’s why Pied Piper can meet it with the tools it already has.
- Its six run at the same time. They aren’t phases you finish one after another. Govern sets direction for the other five, continuously.
- Its outcomes nest. Each Function holds , and each Category holds the specific outcomes you’ll work with. The outcome codes tell you exactly where each one sits.
Every code works this way, so you can tell where an outcome sits without memorizing anything. NIST’s formal name for an outcome is a Subcategory.
Those six Functions belong to NIST. Our four stages sit alongside them, not inside them: the Functions describe what good security covers, and the stages describe how you work with a framework over time. Pied Piper’s slice lives mostly in Govern, Identify and Protect.
Draw the boundary
Next, the team decides what exactly they’re assessing. They start with the thing the hospital is buying and work outward. Scroll to follow along.
Start with what customers buy
Hospital staff upload imaging files through Pied Piper’s API. That API is the centre of the map.
Follow the customer’s data
Files land in object storage. Account details go to a managed Postgres database. A compression worker picks up jobs. Support tickets, sometimes with attachments, go to a third-party help desk. Wherever the data goes, the scope follows.
Add everything that can change it
Code reaches production from both teams’ repositories through the CI pipeline. The cloud console and single sign-on give admins direct access to the data. Then Gilfoyle mentions the old build server in the closet, which can still deploy straight to the worker.
Draw the line
The dashed line is Pied Piper’s . A narrow application boundary is no excuse to leave out a shared identity system or a deployment path that can change the service. That includes the build server.
Leave things out on purpose
The marketing site runs on a separate host with no route to production or customer data. The sales CRM holds prospects’ contact details, not customer files. Both stay outside this assessment, with the reason written down, so nobody mistakes “out of scope” for “forgotten.”
Dinesh pushes back. The build server only compiles our code. No hospital file ever touches it.
True, but it decides what code runs where the hospital’s files live. It holds credentials that can deploy to production, so anyone who can change a build job on it can ship code to the API without a review. Attackers know this. In the 2020 SolarWinds compromise, malicious code was added during the build and reached customers inside legitimately signed updates.7
Scope isn’t only the systems customer data flows through. It’s anything that can change the service or reach its data.
While they draw, Richard asks a second question: when we launch the next product, how much of this will we have to do again? The team keeps this boundary tight, but notes the pieces, like the pipeline and single sign-on, that could serve more than one product later.
Translate one outcome
With the boundary drawn, Dinesh picks one outcome and turns it into something his team can act on: , the framework’s outcome for secure software development. You can look up any outcome in NIST’s free CSF 2.0 Reference Tool2 or in Appendix A of the CSF 2.0 PDF.1 Step through Dinesh’s record with him.
Find it, and link to it
Dinesh searches for PR.PS-06 in NIST’s free online CSF 2.0 Reference Tool. Appendix A of the PDF has the same table. He records the code, its Function and Category, and a link, so anyone can check his source in one click.
Find the simplest faithful reading
That blank target state is the most important field on the record, and the step teams skip most often. Dinesh and Gilfoyle each draft what PR.PS-06 should mean in practice. Richard asks Monica to pressure-test both. She runs every draft through the same three tests.
- We follow secure coding best practices.
Dinesh’s draft is too vague to test. Gilfoyle’s is faithful but so heavy that two small teams would start routing around it within a month. Monica’s version is mostly what they already do, applied to every path and checked regularly.
She adds a caveat: compare context before you copy anyone’s answer, hers included. Customer data, architecture, contracts and risk vary between companies. Where the team still disagrees, they take the question to someone qualified to settle it: security, legal, privacy or an assurance specialist.
Aim for the simplest interpretation that stays faithful to the source and to your actual commitments. Simple enough that your team will run it every week; faithful enough to defend to a customer or an auditor.
From Current Profile to Target Profile
Monica’s version gives Dinesh what his record was missing: a target he can describe in practices, not adjectives. NIST has names for both ends. Your describes where you stand today against the outcomes you’ve chosen. Your describes where you intend to be. The work you and your team do to set up your compliance operating system is the bridge from one to the other. For PR.PS-06, Pied Piper’s bridge looks like this:
Dinesh copies the right-hand column into his record’s target state, and each row becomes work with an owner. If you want NIST’s own format, it publishes guidance and a template for Organizational Profiles.3 The workbook at the end of this article adds the working records around it: controls, evidence, actions and decisions.
Establish the operating system
What repeatable work makes those expectations true?
Pied Piper now knows what needs to be true. Stage two is about making it true, every week, without anyone having to remember. That’s the job of a : a safeguard or repeatable activity that gets you to an outcome. Dinesh writes the first one in his own words.
C-01 · CONTROLLED SOFTWARE DELIVERYPIED PIPERChanges affecting the production service are assessed for risk, reviewed, tested, and deployed through an authorized path. Emergency changes use a defined exception route and subsequent review.
Those words are Pied Piper’s design choice, not a quote from NIST. Next Dinesh has to show which outcomes C-01 helps with, and be honest about how much. Linking the two is called . Pick an outcome below to see where C-01’s help runs out.
Every link is partial, and that’s fine. One control can support several outcomes, and one outcome may need several controls. Writing down the limits is what makes the map useful: when a new framework arrives, these shared practices give you something to map against, but a similar-sounding label still isn’t proof of the same coverage.
Adobe shows how far this idea scales. To build its Common Controls Framework, it analysed the certifications its cloud business needed and rationalized more than 4,300 requirements, across more than 20 standards, into a few hundred controls of its own.5 It has since mapped those controls to NIST CSF too.6
Pied Piper won’t need hundreds of controls. The principle is the same at any size: write each control once, map it honestly, and reuse it.
Make the control operate
A control statement on its own does nothing. Four pieces make C-01 run. Follow one of Dinesh’s changes, a faster upload endpoint, as you scroll.
The four pieces relate more than they stack. One policy can govern several controls, and one evidence source can serve several checks.
Add a second control
Gilfoyle takes the vulnerabilities. His control reads:
C-02 · VULNERABILITY IDENTIFICATION AND RESPONSEPIED PIPERVulnerabilities in the service’s inventoried software and dependencies are identified, validated, and prioritized by risk. Remediation or a time-limited authorized exception is tracked to an owner, and the resulting change is verified.
C-02 supports three of the framework’s outcomes, each in part:
- finding, confirming and recording vulnerabilities
- keeping software maintained
- tracking exceptions when a fix has to wait
CSF won’t hand Gilfoyle a remediation deadline, so he has to propose response targets and who can approve an exception. A scanner alone won’t catch vulnerability reports from outside, either; that intake needs its own process. And a single fix now ties both controls together: C-02 finds and tracks the problem, and C-01 governs the change that solves it.
Collect evidence as the work happens
A month in, Richard wants to know whether C-01 is actually working. Gilfoyle goes looking.
The lesson isn’t about how many records to check. Before you check any, make sure you know the full : every relevant change in scope for the period. A only tells you something once the population is complete. However tidy, 48 records can’t prove that an unknown path is covered.
So Pied Piper changes its routine:
- Every month, reconcile pipeline records against the cloud activity log.
- Investigate every difference, and keep what you find.
- Automate collection where you can, then check that the automation still runs. A broken integration can quietly stop producing evidence you thought you had.
If an external audit comes later, the auditor decides what evidence and sampling that engagement needs. A clean routine makes that conversation much shorter.
Make gaps useful
The build server’s two hotfixes are a gap, and Richard is glad to know about them. A dashboard should help you act, so Pied Piper keeps four states apart:
A green cell isn’t proof, and a discovered gap is useful information. Aaron Verones has led engineering at several startups through their compliance work. When I interviewed him for our YouTube channel,8 he described finding missing historical communications at one of them. His team fixed the process and explained the gap. They couldn’t recreate work that had never happened.
At Pied Piper’s size, named people and a reliable manual routine are a sensible start. As you grow, GRC (governance, risk and compliance) software can connect mappings, owners, evidence and follow-ups for you. Someone still needs to understand how the pieces relate.
Adapt the controls
What changes when the business introduces a new architecture or product?
Gilfoyle moves the compression worker into containers. Pied Piper’s vulnerability procedure still describes patching virtual machines. Copy it across and you miss part of the job: building a patched image isn’t the same as replacing the vulnerable one in production.
The expectation in C-02 stays exactly the same. The procedure beneath it changes. Switch between workload types to compare:
- 01Update the dependencyIn the image definition.
- 02Rebuild and validate the imageTests and scan pass on the new image.
- 03Publish the imagePublished is not the same as running.
- 04Deploy itThrough C-01, not from the build server.
- 05Verify the running versionConfirm what production actually runs. This is the step that proves the fix.
“Managed” isn’t a complete answer to who does what, either. Gilfoyle writes down who handles each layer:
- application dependencies and container images
- worker-node updates and cluster versions
- components the cloud provider operates
Before claiming the new worker is covered, he records its inventory, owner, procedure and evidence source. Generic control wording makes reuse possible, but it doesn’t prove a new service is covered, and it doesn’t stretch a SOC 2 report or a certification to include it.
The same reuse helps when the business takes on a new standard rather than a new architecture. Adobe maps each new standard to the controls it already runs and builds only what’s missing.6 When the hospital asks for a SOC 2 report next year, Pied Piper will start by mapping it to C-01 and C-02.
Separate the release condition from the roadmap
On an enterprise modernization project I describe on our YouTube channel, we faced eight months of estimated compliance work with three months to reach a releasable state. Some of it addressed real gaps. Some came from controls built around the architecture we were leaving behind. We grouped the work, brought in outside help, and reached a releasable state with real tradeoffs on the longer-term roadmap.
The lesson: separate meeting an obligation from meeting it at maximum maturity. Here’s how that plays out for the new worker:
Engineering and InfoSec need both: a straightforward path for new technology, and a credible place for security improvements on the roadmap. Without the second, engineering promises improvements that never get prioritized, and InfoSec has every reason to demand everything at the production gate. That burden discourages exactly the modernization the business needs. Give improvements owners, capacity and dates, then follow through.
Choose assurance partners who understand the systems they evaluate. Aaron’s advice from the same interview is to interview potential auditors for technical and business understanding. Their judgment stays independent, and the conversation gets better.
Rethink the process
Do the assumptions behind the safeguard still hold?
Pied Piper starts using AI to write code. Dinesh’s pull requests now arrive faster than anyone can review them, and he suggests replacing the reviewer with another agent. Before agreeing, Richard asks what the approval was supposed to establish in the first place.
Compliance people talk about the letter and the spirit of a requirement. The letter is the exact wording, such as “every change is reviewed by someone other than its author.” The spirit is the reason behind it: someone independent confirmed the change was correct, safe and intended. When an old method stops scaling, the spirit tells you what a replacement has to achieve.
So Richard breaks the reviewer’s job into its parts. A new tool may help with some without covering all of them. Try assigning each one:
The spirit helps you choose a workable method. It never cancels the letter: if a contract says a human reviews every change, a human still does, and the AI helps them do it well.
Evaluate before you change the gate
Instead of declaring the new process compliant, Richard asks Dinesh to write it up as a proposal:
- ASSUMPTION
- Human review supplies the scrutiny and authorization production changes need.
- PROPOSAL
- AI assists with analysis and testing. A named human keeps production authorization.
- EVALUATION
- Run the new checks alongside existing review for a bounded set of changes, including security-sensitive ones like customer-data access. Look for missed issues, disagreements, overrides and false confidence.
- DECISION
- Set acceptance criteria before judging results. Record what the checks establish, what they don’t, who is accountable, and what triggers a rollback.
Gilfoyle adds a question of his own: what can the agents reach? Customer data, credentials, review settings and deployment permissions all need checking. An agent that can change the checks used to approve its own work needs particular scrutiny. NIST’s Secure Software Development Framework4 offers more practices for secure development, but neither it nor CSF shows that a particular AI reviewer is effective. Where assurance is involved, bring the proposal and its evidence to your auditors early.
Use AI to do more of the security work
Rethinking should open doors too. Here’s Gilfoyle using an AI assistant on a real piece of compliance work: the container version of C-02’s procedure from the Adapt stage.
Ask, with the sources attached
Gilfoyle gives the assistant the C-02 control, two of the CSF outcomes it supports and Pied Piper’s cluster notes. He asks for a draft procedure that cites a source for every step.
Get a draft in minutes
Five steps come back, each with a citation. It reads well, which is exactly why the next step matters.
Check every claim against its source
Gilfoyle opens each cited source. Four steps hold up. The fourth invents a seven-day patch deadline, and PR.PS-02 sets no deadline at all. He replaces it with Pied Piper’s own target, marked to be agreed.
Run it, and keep the evidence
A convincing procedure isn’t the same as an operating one. Gilfoyle runs it on the next real finding, confirms the running image is the fixed one, and saves the record as evidence.
The same pattern works elsewhere. AI can prepare dependency updates, suggest interpretations with links to the source, or build evidence collection. In every case people still verify the sources, tests, coverage and behaviour. Faster delivery helps when the company can still explain why a change is safe enough, and stand behind it.
Put the four stages to work
Start with one service, like Pied Piper did.
- 01UnderstandFind the sources and make their meaning explicit.
- 02EstablishConnect them to repeatable work and evidence.
- 03AdaptRevisit coverage when the architecture or business changes.
- 04RethinkChallenge the method when its assumptions change.
Then go back to understanding. New products, customers, threats and technologies keep changing the questions you need to answer.
Build your own version
Everything Pied Piper built in this article, organized by stage. The Profile sheet lists all 106 outcomes in NIST CSF 2.0, grouped by Function and Category, so you can pick the ones that matter to you.
- START HEREYour setupOrganization, scope, what’s deliberately out, and who owns what.
- 1 UNDERSTANDProfile · ObligationsAll 106 CSF outcomes with NIST’s exact wording, plus the laws and contracts that bind you.
- 2 ESTABLISHControls · EvidenceYour controls, their owners and procedures, and checks against the full population.
- 3 ADAPTActionsGaps you must close now, kept apart from roadmap improvements.
- 4 RETHINKDecisionsProposals to change how a control runs, and how you’ll evaluate them.
Ready to fill in. Your organization’s name goes on the cover.
The same workbook, filled in with everything from this article. Keep it open beside yours.
You have customers to protect, and something new to build. A good compliance operating system makes room for both.
Need a technical rubber duck? Bring me the messy version.
If the hard part is scope, control design, or the tradeoffs on your roadmap, think it through out loud with us before it becomes another release bottleneck. No polished brief. No obligation to turn it into a project.
References
Pied Piper and its people are borrowed from HBO’s Silicon Valley. The example and all figures about it are invented. Greg’s and Aaron’s cases are reported experience.
- [1]Framework · 2024The NIST Cybersecurity Framework (CSF) 2.0National Institute of Standards and Technology, February 26, 2024. NIST Cybersecurity White Paper 29. PDF
- [2]Reference toolCSF 2.0 Reference ToolNational Institute of Standards and Technology. Cybersecurity and Privacy Reference Tool (CPRT).
- [3]
- [4]Framework · 2022Secure Software Development Framework (SSDF) Version 1.1Souppaya, M., Scarfone, K., & Dodson, D. NIST SP 800-218.
- [5]
- [6]Company blog · 2020Common Controls Framework (CCF) by Adobe v4.0 now availableAdobe, November 19, 2020. Adobe Blog.
- [7]Government advisory · 2020Advanced persistent threat compromise of government agencies, critical infrastructure, and private sector organizationsCybersecurity and Infrastructure Security Agency, December 17, 2020. Alert AA20-352A.
- [8]
