Secure bespoke web apps: what SMEs should expect by default
If you’re commissioning a bespoke web app, these security basics should be standard — not optional extras or add-ons.
secure web apps bespoke software security SME web development secure by design application security role based access authentication data protection OWASP SME cyber security software best practices
When an SME commissions a bespoke web application, security is often assumed rather than discussed. The focus tends to be on features, screens and workflows, with the belief that “security comes as part of the package”.
Sometimes that assumption is correct. Sometimes it isn’t.
This guide explains what secure by default should look like for bespoke web applications built for SMEs – in plain English, without enterprise jargon or scare tactics.
Why security matters more in bespoke systems
Off-the-shelf software is used by thousands of businesses, which usually means security flaws are found and patched quickly. Bespoke systems are different.
A custom web app is unique. If it has weaknesses, there is usually no mass alert, no automatic update and no vendor security team watching it 24/7.
That doesn’t mean bespoke software is risky – quite the opposite. Done properly, it can be far more secure than generic tools – but only if security is treated as part of the build, not an afterthought.
Secure by design (not bolted on)
Good application security starts before any code is written. Secure systems are designed with risk in mind, not patched later when something goes wrong.
This includes asking basic but important questions:
- Who should be able to access this system?
- What data is truly sensitive?
- What happens if an account is compromised?
- How would we detect unusual behaviour?
If these questions aren’t being discussed early on, security is already on the back foot.
Strong authentication should be standard
Every bespoke web app should include modern authentication as a baseline. At a minimum, that means:
- Secure password storage (never plain text).
- Protection against brute-force login attempts.
- Multi-factor authentication for admins and sensitive roles.
Where possible, integrating with trusted identity providers (such as Microsoft or Google business accounts) can reduce risk even further by relying on well-maintained security infrastructure.
Role-based access: less is more
One of the most common mistakes in SME systems is giving everyone too much access. Over time, this leads to accidental data leaks and makes breaches far more damaging.
Secure systems use role-based access control:
- Users see only the pages and actions they need.
- Admin access is tightly restricted.
- Permissions are reviewed periodically.
This is not about mistrust – it’s about limiting blast radius if something goes wrong.
Data protection at rest and in transit
Sensitive business data should never be left exposed, even if it lives behind a login screen.
By default, secure web apps should include:
- HTTPS everywhere (no exceptions).
- Encryption for sensitive data stored in the database.
- Secure handling of uploaded files and documents.
This reduces risk from both external attackers and internal mistakes.
Input validation and common attack protection
Many application attacks rely on tricking systems into accepting unexpected input. These aren’t theoretical problems – they show up regularly in real SME projects.
Secure applications automatically protect against:
- SQL injection and data manipulation.
- Cross-site scripting (XSS).
- Cross-site request forgery (CSRF).
Frameworks can help with this, but only if developers understand how to use them correctly.
Audit logs: knowing who did what
If something unusual happens, you need evidence. Audit logs aren’t just for compliance – they’re for diagnosis and peace of mind.
A well-built bespoke app should log:
- Logins and failed login attempts.
- Key data changes.
- Administrative actions.
This makes it much easier to investigate issues and spot misuse early.
Error handling without information leaks
Overly technical error messages are a gift to attackers. They can reveal database structures, file paths or internal logic.
Secure systems:
- Show friendly, generic error messages to users.
- Log technical details securely for developers.
- Avoid exposing stack traces or system internals.
It’s a small detail that makes a big difference.
Keeping dependencies up to date
Most modern web apps rely on third-party libraries and frameworks. These dependencies save time but must be maintained.
Secure development includes:
- Regular updates of frameworks and libraries.
- Removing unused or outdated packages.
- Monitoring for known vulnerabilities.
Ignoring updates is one of the fastest ways for a system to become risky.
Secure integrations and APIs
Many bespoke systems don’t live in isolation. They talk to payment providers, accounting platforms, CRM tools or supplier systems.
Secure integrations should:
- Use authenticated and rate-limited APIs.
- Never expose secret keys in client-side code.
- Fail safely if third-party services go offline.
APIs are powerful, but they need just as much care as the main application.
Backups and recovery planning
No system is immune from failure. Secure apps plan for recovery as well as prevention.
- Regular, automated backups.
- Secure storage separate from the live system.
- Occasional restore tests to prove backups work.
Backups are especially critical when dealing with ransomware or data errors.
What SMEs should ask before signing off a build
You don’t need to be technical to assess whether security has been taken seriously. Simple questions can reveal a lot:
- How is user access controlled?
- Is MFA available for sensitive roles?
- How are backups handled?
- What happens if a password is compromised?
Clear answers are a good sign. Vague reassurances are not.
Security as ongoing responsibility
Launching a bespoke web app isn’t the end of the security journey. Systems evolve, businesses change, and threats move on.
Secure SMEs treat applications as living systems:
- They review access as teams change.
- They update and patch regularly.
- They revisit assumptions as workflows evolve.
Security doesn’t need to be dramatic or expensive – it just needs to be intentional.
Final thought
Bespoke web applications should empower SMEs, not expose them. Secure-by-default development isn’t about adding complexity – it’s about building systems that can be trusted to grow with the business.
If security isn’t being discussed during the build of a custom system, it’s worth asking why.
Ransomware: what really happens to SMEs (and how to survive it)
Ransomware doesn’t just lock files — it stops businesses. Here’s what actually happens to SMEs and how to prepare sensibly.