Security
Key points

Key points

  1. 1Most compromises of small companies begin with a stolen login, so single sign-on and phishing-resistant multi-factor authentication come before any other control.
  2. 2Protected branches, required reviews and automated checks in CI make security part of every pull request instead of a separate phase.
  3. 3Patching known exploited vulnerabilities, tested backups, disk encryption and removing local admin rights close most of the remaining common attack paths.
  4. 4A written incident plan and a light framework such as the NIST SSDF or OWASP SAMM tell a small team what to do next without turning security into a compliance project.

Put one person in charge

Security on a small team fails most often because nobody owns it. CISA recommends that the chief executive choose a "Security Program Manager" who "doesn't need to be a security expert or even an IT professional," and who reports progress and roadblocks at least monthly (CISA). The same page makes a point every engineering lead should hear: culture cannot be delegated. When a founder announces the multi-factor rollout personally and follows up with the people who have not enrolled, it gets finished. When IT sends a reminder email, it stalls.

On a development team, that owner usually doubles as the security champion. OWASP's guidance for running its Software Assurance Maturity Model (SAMM) in agile teams describes the champion as a liaison between developers and information security who answers questions and removes obstacles. It also warns that the role must not turn security into one person's job: the champion helps, but "that should not relieve the team of security concerns." The guidance adds that the champion's ability and mandate to communicate and learn matter more than technical depth (OWASP SAMM Agile Guidance).

A practical setup for the first month:

  • Name the owner in writing and book a 30 minute monthly review with the founders.
  • Make security a standing item in refinement and retrospectives, which the SAMM agile guidance recommends so the team learns which security work it underestimates.
  • Keep the list of controls in one shared document that anyone on the team can read and update.

Lock down identity first

For a software company, identity is the perimeter. The code host, the cloud console, the email domain, the payment dashboard and the password manager are all reachable from anywhere with a username and a second factor. CISA states that phishing is consistently the most cost-effective way for attackers to compromise systems, and that the only widely available phishing-resistant authentication is FIDO authentication (CISA).

Work through identity in this order:

  1. Single sign-on for the core apps. In a Hacker News discussion of startup security checklists, Thomas Ptacek, who wrote one of the most cited lists, wrote "I would hold fast on #1 (Single Sign-On)," while accepting that a team can skip it on tools where the enterprise price is unjustifiable. Another commenter gave the reason in one line: without SSO "you have no idea who has access to services" as employees and contractors come and go (Hacker News).
  2. Multi-factor authentication everywhere, enforced by policy. CISA tells IT leads to mandate MFA "using technical controls, not faith," because staff who joined in the last few weeks and people who changed phones fall through the gaps. It recommends checking for non-compliant accounts regularly (CISA).
  3. Administrators first. The same CISA page notes that in many compromises attackers got a foothold on an administrator's account and from there reached everything the company owned.
  4. A company password manager for every system SSO does not cover. CISA's four essentials page points out that a password manager generates, fills and stores complex passwords, so staff remember only one master password. It also says to change default credentials before any product goes into use (CISA four essentials).

CISA's preferred MFA methods, from strongest to weakest, are a physical security key, an authenticator app with number matching, and an authenticator app with a one-time code (CISA four essentials). Text message codes are better than nothing, but they are not on that list. Start with security keys for the people who hold admin rights to the code host, cloud accounts and domain registrar.

Send every change through the same path

The code path is where a software team differs from any other small business. The goal is simple to state: nothing reaches production without passing through a branch, a review and an automated build.

  • Protect the default branch. Block direct pushes, require at least one approving review and require passing status checks.
  • Run the build, the tests, a dependency scan and a secret scan in CI on every pull request.
  • Deploy only from CI, with deploy credentials that live in the CI system and never on a laptop.
  • Keep infrastructure in code, so a firewall or permission change is reviewed like application code.

Pull requests, protected branches and CI/CD sit second on the startup list discussed in that Hacker News thread, right after SSO (Hacker News). The NIST Secure Software Development Framework (SSDF) groups the same ideas under two of its four practice groups: "Protect the Software," which means protecting all components from tampering and unauthorized access, and "Produce Well-Secured Software" (NIST SSDF). Black Duck's summary of the framework notes that the Produce group carries explicit expectations for code review and static analysis (Black Duck).

Small teams sometimes treat review as a bottleneck. The SAMM agile guidance argues for review that is "incremental and risk-based," focused on changes and their impact, with solid frameworks and components taking care of as much security as possible (OWASP SAMM Agile Guidance). In practice, reviewers spend their attention on authentication, authorization, input handling and anything that touches money or personal data. Tooling handles formatting, known vulnerable packages and leaked keys.

Treat dependencies and secrets as part of the build

Most of the code a small team ships was written by someone else. The SSDF puts weight on secure management of third-party components, including knowing where they came from through a Software Bill of Materials and monitoring them continuously for vulnerabilities (Black Duck). That does not require an expensive platform. It requires a few defaults that run on every build.

AreaMinimum controlHow to check it works
DependenciesLockfiles committed, automated update pull requests, vulnerability scan in CIOpen alerts are reviewed every week
SecretsNo secrets in the repository, a secret manager or the platform's encrypted settings, secret scanning on pushThe scanner blocks a deliberately planted test key
BuildCI builds from a clean checkout, deploy credentials scoped to one environmentA developer laptop cannot deploy to production
InfrastructureDefined in code and reviewedManual console changes are rare and logged

Secrets deserve their own policy. The short version is that a key that has ever been committed to git history is leaked, even if the commit was reverted, and the only fix is to rotate it.

Patch, encrypt and remove local admin

The remaining common attack paths run through laptops and servers. CISA's task list for a small company's IT lead is short (CISA):

  • Patch. Prioritize anything in CISA's Known Exploited Vulnerabilities catalog, which lists vulnerabilities attackers are using in real attacks, and turn on automatic updates wherever possible.
  • Back up, then test restores. CISA observes that many ransomware victims had no backups or incomplete and damaged ones, and that scheduling backups is not enough without regular partial and full restore tests.
  • Remove administrator rights from user laptops. A user without admin rights cannot install the malware an attacker tricks them into running.
  • Turn on disk encryption. CISA notes that phones and Chromebooks encrypt storage by default, while Windows and Mac laptops must be configured to do it.

CISA's Cyber Essentials guide adds an inventory step: maintain lists of hardware and software assets so you know what is in play and at risk, use automatic updates for operating systems and third-party software, and apply security configurations to every asset (CISA Cyber Essentials). For a software team, the inventory includes cloud accounts, domains and every SaaS tool with access to the code or customer data.

CISA also suggests a larger move for teams willing to reshape their setup: retire mail and file servers that run in the office and use cloud services instead, because few small businesses have the time to patch and monitor them (CISA). Most software startups already work this way, which removes a large share of the attack surface before any security work begins.

Write the incident plan before you need it

An incident response plan is the team's action plan for before, during and after a security incident. CISA recommends that leadership approve it in "peace time," that it include an address book usable when the network is down, and that it be reviewed quarterly and after every incident or near miss. It also advises invoking the plan even when an alert looks like a false alarm, because near misses are how the plan improves (CISA).

For a small software team, one page covers it:

  1. Who leads during an incident, and who backs them up.
  2. How the team reaches each other if email or chat is compromised.
  3. The first three actions for the likely cases: a leaked key, a taken-over account, ransomware on a laptop, and exposed production data.
  4. Who speaks to customers, and who decides whether regulators, insurers or law enforcement must be told.

Then practice it. CISA recommends quarterly tabletop exercises, which are role-play sessions where one person presents a scenario, such as an employee finding their laptop locked by ransomware, and the team talks through each step of its response (CISA).

Use a framework to choose what comes next

When the basics run on their own, a framework helps pick the next investment without guessing. Two are free and fit small teams.

The NIST SSDF is a set of secure development practices drawn from established sources such as BSA, OWASP and SAFECode. It has four groups: Prepare the Organization, Protect the Software, Produce Well-Secured Software, and Respond to Vulnerabilities. NIST says the intention "is not to create a checklist to follow," and names cost, feasibility, applicability and automatability as factors in deciding which practices to adopt (NIST SSDF). Because the practices are outcome-based, a team can mark what it already does and list the gaps.

OWASP SAMM is a maturity model. It helps an organization evaluate its existing software security practices, build a program in well-defined iterations and demonstrate concrete improvement. OWASP describes it as technology and process agnostic and risk-driven, because "there is no single recipe that works for all organizations" (OWASP SAMM).

NIST SSDFOWASP SAMM
ShapeList of practices and tasksMaturity model with levels per practice
Best forGap analysis against a widely referenced standard, customer security questionnairesMeasuring progress over time and planning in iterations
How to startRead the practice table and mark what you already doRun the self-assessment spreadsheet

One caution from the Hacker News thread applies to both. A line from a startup security guide quoted there says that a SOC 2 audit "is about documentation, not reality" (Hacker News). A framework or an audit helps you choose and document work. It does not prove the controls work. Test them: try to push to main, plant a fake key, restore a backup, and log in as a departed employee.

FAQ

FAQ

What is the single most important security control for a small software team?

Multi-factor authentication on every account, enforced by policy rather than by request. CISA calls ensuring that all staff use MFA on key systems, especially email, the most important step an organization can take. Start with administrators and anyone with access to production, the code host and the domain registrar.

Do we need SOC 2 or ISO 27001 before we have real security?

No. Those audits document controls for customers, and they matter when enterprise buyers ask for them. The controls in this article come first because they stop the attacks that actually happen. When an audit arrives, these controls form most of what it will ask you to show.

How much time should a small team spend on security?

Enough to keep the basics running and reviewed monthly. Most of the work in this article is a one-time setup: SSO, MFA, branch protection, CI scans, disk encryption and backups. After that, the recurring work is patching, reviewing alerts, a quarterly tabletop exercise and onboarding and offboarding people correctly.

Should developers have admin rights on their laptops?

Many developers need elevated rights for tooling, so this is a judgment call. CISA's advice is to remove administrator privileges from user laptops because it stops users from installing malware an attacker tricks them into running. A reasonable compromise is admin rights only for engineers who need them, combined with disk encryption, automatic updates and no production credentials stored locally.

What should we do first if an API key leaks?

Revoke or rotate the key immediately, then look at the provider's logs for any use you do not recognize. Removing the key from the repository is not enough, because it stays in git history and in every clone. Afterwards, add secret scanning to the push path so the same mistake is blocked next time.

Sources

Sources

  1. https://www.cisa.gov/cyber-guidance-small-businesses
  2. https://owaspsamm.org/docs/guides/agile/
  3. https://news.ycombinator.com/item?id=32662385
  4. https://www.cisa.gov/resources-tools/resources/four-cybersecurity-essentials-businesses
  5. https://csrc.nist.gov/projects/ssdf
  6. https://www.blackduck.com/blog/nist-ssdf-secure-software-development.html
  7. https://www.cisa.gov/resources-tools/resources/cyber-essentials
  8. https://owasp.org/projects/samm
About the author

About the author

Antonio Evans
Antonio Evans

Antonio Evans is the founder of Quanta Intelligence and a fractional CTO who builds HIPAA-ready AI systems for health and life-science companies. Before that he was technical co-founder of FriendsEAT for twenty years, CEO of Socialdraft, and a data engineer at IBM. Antonio lives with his dog Santino in Lisbon, Portugal.

All articles