Services
All Services Application Development Web Applications Website Development CRM Development ERP Development FinTech Applications
Specialisms
🧠 AI Engineering 🔒 Cyber Security 🛡 Defence & Government
Company
About Us Data Center Careers Book a Briefing →
monday.com Certified Partner Cyber Essentials+ NCSC Aligned ISO 27001 Aligned G-Cloud Ready UK GDPR Compliant
Enterprise December 2024 9 min read bitConcat Editorial

The average cost of fixing a security vulnerability found in production is 30 times higher than fixing the same vulnerability during development. Despite this, security is still routinely treated as something you add to software after it is built — a testing phase, a penetration test before launch, a compliance checkbox.

For SaaS products, the stakes are higher. A vulnerability in your product is a vulnerability in every one of your customers' environments simultaneously. The reputational and commercial consequences of a breach in a multi-tenant SaaS platform are severe in a way that a single-instance deployment rarely is.

The OWASP Top 10: Still Relevant, Still Violated

The OWASP Top 10 — the Open Worldwide Application Security Project's list of the most critical web application security risks — has existed since 2003. The top items on the list have barely changed. Injection attacks, broken authentication, insecure direct object references, security misconfigurations — these are not novel, exotic vulnerabilities. They are basics that are still being missed in production software every day.

Injection (SQL, NoSQL, Command)

Parameterised queries have been the correct approach to SQL injection prevention since the 1990s. They are still not universally applied. Any user input that reaches a database, operating system command, or LDAP query without proper sanitisation and parameterisation is a potential injection vector.

Broken Authentication

Weak password policies, session tokens that don't expire, missing MFA on administrative interfaces, insecure password reset flows — authentication vulnerabilities remain among the most exploited in the wild. For SaaS products, a single compromised account can be the pivot point for accessing other tenants' data.

Insecure Direct Object References

An API endpoint that returns data based on a user-supplied ID — without verifying that the authenticated user is authorised to access that specific record — is an IDOR vulnerability. In a multi-tenant SaaS context, this can mean one customer can access another customer's data by simply incrementing an ID parameter. This is more common than it should be.

Security by Design: What It Actually Means

Security by design is not a methodology or a framework. It is a mindset — the habit of asking "how could this be abused?" at every stage of design and development, before the code is written.

Threat modelling

Before building a feature, map the threats against it. Who are the potential attackers? What are their motivations? What can they do if they compromise this component? Threat modelling does not need to be formal or time-consuming — a 20-minute whiteboard session per feature captures most of the relevant threats.

Principle of least privilege

Every component of your system — services, database accounts, API keys, user roles — should have the minimum permissions required to perform its function. Nothing more. This limits the blast radius when a component is compromised.

Defence in depth

No single security control is reliable. Layer defences: input validation at the API boundary, parameterised queries at the data layer, output encoding in the presentation layer, network segmentation at the infrastructure layer. An attacker who bypasses one layer should encounter another.

DevSecOps: Security in the Pipeline

Manual security review does not scale with development velocity. DevSecOps integrates security tooling directly into the development and deployment pipeline:

These controls do not replace human review and penetration testing — but they catch the majority of common vulnerabilities automatically, at the point in the process where they are cheapest to fix.

"The best security teams don't find vulnerabilities after the fact. They build processes that make it difficult to introduce them in the first place."

Multi-Tenancy Security: The SaaS-Specific Challenge

Multi-tenant architecture introduces security requirements that single-instance applications don't face. Tenant isolation must be enforced at every layer — database, application, storage, and network. A bug in your tenant isolation logic is not a single-customer problem; it is a breach affecting your entire customer base simultaneously.

Test tenant isolation explicitly and regularly. Include tenant isolation boundary tests in your automated test suite. Red team exercises that attempt to cross tenant boundaries are worth the investment for any SaaS product with meaningful customer data.

Secure CodingSaaS DevelopmentOWASPApplication SecurityDevSecOpsSoftware Engineering

Ready to Apply This?

Talk to a senior bitConcat engineer about how this applies to your business.

Book a Free Discovery Call →