Web Application Security Fundamentals Most Small Teams Skip

by Erez Michael, Founder / Full-Stack Developer

Authentication and access control, not just a login form

A login screen isn't the same thing as proper access control. The gap I see most often in internal tools is authorization: every request needs to check not just "is this user logged in" but "is this specific user allowed to see or change this specific record." That check needs to happen on the server, every time — never assume the frontend hiding a button is enough.

Treat every form field as hostile input

Every field a user can fill in — including ones your own admin panel exposes — should be validated and sanitized on the server, not just the client. This is the difference between a form that looks safe and one that's actually safe against SQL injection, XSS, or a malformed upload. CMS platforms like Directus and KeystoneJS handle a lot of this for you, but any custom endpoint you write on top still needs the same discipline.

Keep dependencies and CMS versions current

A large share of real-world breaches trace back to a known, already-patched vulnerability in an outdated package or CMS version. Scheduling regular dependency updates — and actually testing them — is unglamorous but consistently one of the highest-leverage security habits a small team can build.

Debugging is a security skill too

A lot of security issues surface first as weird bugs: an endpoint returning more data than expected, a permission check that's subtly inverted, a session that doesn't expire. Debugging carefully, and asking "could this behavior be abused" as part of fixing it, catches problems long before they become incidents.

More articles

Design Systems Aren't Just for Customer-Facing Products

Internal tools are usually the least consistent part of a company's software — and that inconsistency has a real cost. A practical case for design systems inside the business, not just outside it.

Read more

Building Dashboards People Actually Use to Make Decisions

Most internal dashboards get built once and ignored. Here's what tends to separate the ones a team actually opens every day from the ones that quietly die.

Read more

Tell us about your project

Our offices

  • Montréal
    South West Montréal
    Québec, Canada