How to build a mid-market security program using the NIST CSF

by
Dawid Winiarski
Last update:
July 17, 2026

At some point, ad hoc security stops scaling. The spreadsheet of controls grows too long to maintain, the list of tools outpaces the team's ability to monitor them, and the next audit finds gaps that everyone suspected but nobody had mapped. The organization has security effort. It does not have a security program.

This guide is for IT leads, security managers, and operations owners who need to build or reorganize that program in the mid-market context: limited dedicated security staff, no CISO, real compliance pressure, and a leadership team that wants straightforward answers. The NIST Cybersecurity Framework gives a practical organizing structure. It is free, well-documented, and maps to every major compliance framework you are likely to face. Used well, it turns a vague mandate into a prioritized, fundable plan.

  • Ad hoc security creates invisible gaps. A structured program makes them visible and manageable.
  • The NIST CSF gives a vendor-agnostic organizing structure that maps to SOC 2, ISO 27001, NIS2, and DORA. You do not need a separate framework for each.
  • A gap assessment across people, process, and technology is the starting point. Most organizations already have more controls in place than they realize.
  • Risk-based prioritization means addressing the combination of lowest maturity and highest impact first, not the loudest problem or the most recent audit finding.
  • A multi-year roadmap that shows options, not ultimatums, is more likely to get funded than a single-line request.
  • Identity and access is the correct foundation for mid-market security programs. It underpins every other function.

why ad hoc security stops scaling

Every organization starts with ad hoc security. Someone sets up a firewall. IT adds MFA after a close call. A compliance requirement triggers a policy document. These are good decisions. The problem is that they accumulate without connection.

The resulting environment typically has real controls in some areas and significant gaps in others, with no visibility into which is which. When someone finally maps the actual state against a framework, the mix of coverage and exposure is almost always surprising in both directions: more strength than expected in some areas, more exposure than expected in others.

The second problem is communication. Security decisions made on an ad hoc basis are hard to explain to leadership, board members, or auditors. There is no story, no prioritization logic, and no evidence that investing in tool X was considered against the alternative of investing in process Y. A structured program gives you a map of where you are, a framework for deciding where to go next, and a language for communicating decisions to people who do not live in the security domain.

the NIST CSF functions in plain language

The NIST CSF (version 2.0, published 2024) organizes security activity into six functions: Govern, Identify, Protect, Detect, Respond, and Recover.

Govern is the policy and accountability layer: which risks the organization accepts, who is responsible for what, and what the risk appetite is. In a mid-market company this function is often informal or absent. Govern is where you formally assign accountability and set the terms by which everything else is evaluated.

Identify is the visibility function. Before you can protect anything, you need to know what exists: which assets, data, systems, users, and third-party relationships. The typical gap is an incomplete asset inventory. IT knows the managed devices and core infrastructure; the SaaS stack, API integrations, contractor accounts, and shadow tools are partially or entirely unmapped. You cannot prioritize what you cannot see.

Protect is where most organizations have invested the most: firewalls, endpoint protection, MFA, access controls, encryption, patch management, and training. Mid-market environments usually have Protect controls in place, but they are often uneven: strong in some areas, absent in others.

Detect covers the capability to notice when something goes wrong: log collection, event monitoring, alert configuration. Most companies have some logging; few have a structured approach to monitoring or alert triage.

Respond covers what happens when an incident occurs: an incident response plan, defined roles, tested procedures, communication paths. The most common gap is not the absence of a plan but the absence of a tested plan.

Recover covers the ability to restore normal operations: backup coverage, recovery procedures, restoration testing. Backup existence is common; backup testing is less common; recovery time objectives agreed with the business are rare.

The practical question is not how to implement every sub-category in full, but how to build a credible baseline across all six functions and then improve systematically.

how to do a current-state gap assessment

A gap assessment is a structured comparison between what your program currently does and what it should do. Organizing it across people, process, and technology gives you a picture that translates directly into a business case and a roadmap.

People questions cover ownership, accountability, and capacity. Who is responsible for each function? Do they have the skills and bandwidth? Which functions have no named owner? List every security activity and record who does it, how many hours per week it requires, and whether that ownership is formal or informal. Most teams discover security work is concentrated in one or two people, with several functions unowned.

Process questions cover whether documented, repeatable procedures exist. If the primary person responsible were unavailable, could someone else execute the function? The highest-priority process gaps are usually in Respond and Recover, because those functions have to work under pressure without time to improvise.

Technology questions cover whether the right tools exist and are used as intended. The most common finding is not missing tools but underused tools: logging configured but nobody reviews it, a scanner that runs but does not feed remediation, endpoint protection on managed devices but not contractor machines. Map each tool to the NIST CSF function it supports.

Scoring. For each function, assess maturity on a five-point scale: 1 no formal capability, 2 partial or informal, 3 documented and defined, 4 measured and managed, 5 optimized. Most organizations starting a first assessment score between 1 and 3, usually not uniformly: Protect often a 2 or 3, Govern often a 1, Detect and Respond often a 1 or 2. The goal of the initial build is a credible 3 across all six, then improvement from there.

how to prioritize by risk

A gap assessment tells you where you are. Risk prioritization tells you what to address first: a combination of the current maturity of each function and the potential impact if it fails. Plot each function on those two axes. The areas with lowest maturity and highest potential impact are where the first investment should go.

Impact should be evaluated in concrete terms: the most likely consequence if the function fails, not the worst-case scenario. For a mid-market company, the most common impacts are operational disruption, data exposure affecting customer or partner relationships, and regulatory findings. A simple way to assign impact scores is to ask business owners, not security staff. What would a one-week outage of a core system cost? Which regulatory framework creates the hardest consequences? These are business questions.

A common mid-market prioritization: Govern scored 1 and high impact (without ownership, nothing works properly), Identify scored 1 or 2 and high impact (you cannot protect what you cannot see), and Respond scored 1 and high impact (a real incident exposes the gap in hours). This pattern tends to produce a first-year focus on Govern and Identify, with Respond close behind.

Avoiding the Protect trap. Most mid-market investment has historically gone into Protect. Organizations that invest exclusively in Protect while leaving the other functions at maturity 1 are building a wall around a space they have not mapped, with no way to know if the wall is working. Prioritization across all six functions is what makes a program structurally sound.

building a realistic multi-year roadmap

A roadmap translates the prioritized gap assessment into a time-phased plan. The operative word is realistic. A roadmap that requires hiring five people in year one is a wish list that will not be funded.

Year one: foundation. Focus on the highest-priority gaps. Reach a documented baseline in Govern and Identify, close the most critical Protect gaps, and establish a tested incident response capability. Typical deliverables: a written risk register with named owners, a complete asset and identity inventory including SaaS and third-party access, an incident response plan walked through as a tabletop exercise, an access review cycle for privileged and sensitive accounts, and backup restoration tested against documented recovery time objectives.

Year two: depth. Build depth in the areas established in year one and address the next tier. Detect capabilities typically get structured here, alongside process improvement in Protect: consistent patch management, formal vulnerability management, training with measured outcomes.

Year three: measurement and maturity. Focus on demonstrating the program works, tracking metrics, and presenting effectiveness to leadership and auditors. This is when compliance alignment becomes demonstrable rather than asserted.

Each year's plan should include what is being done, why it is prioritized above alternatives, the expected outcome, and what success looks like. A roadmap is not a static document: what is learned from year one informs the year two plan.

making the business case without jargon

Security investment requests fail for two main reasons. The first is jargon: a request in technical language without business translation cannot be evaluated by a non-technical executive. The second is presenting only one option, which removes choice and makes leadership uncomfortable.

Translate to cost and risk. Every control addresses a specific risk with a realistic cost if it materializes. A request framed as "we need a SIEM" lands differently than "without structured log monitoring, we will not identify and contain a breach until after the fact. Here is what a three-month undetected compromise would cost us operationally." The second makes the cost of inaction concrete.

Give options, not ultimatums. Present two or three investment tiers for major initiatives: a minimum option, a recommended option, and an enhanced option, each with the residual risk that remains if chosen over a more complete one. This respects that leadership needs to make a choice based on risk appetite and budget, and it documents the residual risk if leadership chooses the minimum.

Use operating versus capital framing. Identify which elements can be capitalized. Capital expenditure is budgeted differently from operating expenditure, and software that can be capitalized may be approved from a budget the operating request could not access.

Keep policies short. A 200-page security policy will not be read, enforced, or help during an audit. Short, specific policies on individual topics are more practical and easier to demonstrate compliance against.

where identity, access, SaaS, and AI visibility fit

Identity is the correct foundation for a mid-market security program. The reason is structural: virtually every other control depends on knowing who has access to what. Identify cannot be completed without an identity inventory. Protect cannot protect access it has not mapped. Detect cannot identify anomalous access patterns without a baseline. Respond cannot revoke access in an incident without knowing which accounts exist.

The typical mid-market identity environment has grown faster than its governance. Each application has its own user list. Some are connected to the identity provider and managed centrally; others are not. Contractors, service accounts, and API credentials accumulate outside the review process.

SaaS visibility. A SaaS inventory is a prerequisite for any meaningful Identify function. Most organizations know the applications they formally procure but have much less visibility into independently adopted applications, applications connected through OAuth permissions, and applications that retain active accounts after the business need ended.

AI tool visibility. AI adoption is growing faster than governance. The security question is primarily a data flow question: what data reaches which tool, and under what terms? The governance gap is that most organizations have no systematic picture of which tools are in use and whether that data movement is consistent with their obligations.

Access as the foundation. The practical starting point is visibility: a complete picture of every account, permission, and access pathway. Without it, the gap assessment is incomplete and the Protect, Detect, and Respond functions operate without full context.

how this maps to SOC 2, ISO 27001, NIS2, and DORA

One practical advantage of the NIST CSF is that it aligns well with the major compliance frameworks. Using it does not mean choosing it over these frameworks; it means having a primary structure that maps to all of them.

SOC 2. The required security domain maps closely to the Protect function and to elements of Detect and Respond. A program organized around the NIST CSF produces the controls and evidence a SOC 2 audit looks for.

ISO 27001. The Govern and Identify functions correspond to ISO's risk assessment and risk treatment requirements; the remaining functions map to specific Annex A control domains. Organizations building toward certification can use the NIST CSF as their organizing structure and map controls to Annex A as a parallel step.

NIS2. NIS2 requires risk management measures across ten areas, including access control, incident handling, business continuity, supply chain, and awareness. The NIST CSF functions cover all ten without building a separate compliance structure.

DORA. DORA's requirements for ICT risk management, incident reporting, resilience testing, and third-party risk map closely to the functions. Its testing requirements specifically demand that Detect and Respond capabilities be tested, not just documented.

Compliance with any of these is a byproduct of a well-organized program, not a separate project.

common failure modes

Tool-first thinking. Purchasing tools before defining the program. Tools that sit underused are a cost, not a protection. The correct sequence is assess the gap, prioritize by risk, identify the controls needed, then identify tools.

Single-option asks. Asking leadership to fund one specific investment framed as a requirement produces resistance. Options with explicit residual risk at each level give a real choice.

Jargon in the business case. Every term a CFO would need to look up is a reason to delay. The translation work is the primary job of the person presenting.

Protect concentration. Investing almost entirely in Protect while leaving the other functions at very low maturity creates a structurally weak program: you cannot see gaps in Protect coverage, detect when controls fail, or respond effectively.

Governance in name only. A committee or charter without accountability does not affect the program. Govern requires named risk owners, defined risk appetite, and a review process.

Testing nothing. Incident response plans never exercised will not work under real conditions. Backups never restored in testing are not a known recovery capability. Programs that score highly on documentation but have tested nothing are overestimating their maturity.

Subscribe to unshadowed.

Subscribe to receive the latest blog posts to your inbox and stay up to date with

By subscribing you agree to with our Privacy Policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

let's start with a conversation

Most first conversations start with not quite knowing what you have or where to begin. That's normal, and it's exactly where we're useful.

Tell us what prompted this. An upcoming audit, an incident, a client's security questionnaire, or just a sense that things have gotten messy.

We'll take it from there

Julian Machowski
Head of Technical Sales
+48 783 762 997
julian@unshadowit.com
Let's connect on LinkedIn
Message received. We'll be in touch soon.
Something failed. Try again or call us directly.