Why Secure Authentication Matters for Every Business
Login security is more than just a password
Every application begins with a login, and it is usually the part given the least thought. It is treated as plumbing: something to get working early and not revisit.
That is the wrong way round. Authentication is the one component that every other control depends on. Permissions, audit trails, data segregation and compliance all rest on the system knowing reliably who is making a request. If that foundation is weak, everything built on top of it is decorative.
Good software starts with a secure front door.
What a login is actually responsible for
Asking for a password is the smallest part of it. A login is answering several questions at once, and each one is a place where systems go wrong.
Who is this? Establishing identity, ideally with more than one factor.
Is this still them? A session that was legitimate an hour ago may not be now. The account may have been suspended, the password changed, the device lost.
What are they allowed to do? Identity without authorisation is only half the job. The system needs to know which organisation this person belongs to and what their role permits, on every request rather than once at sign-in.
What did they do? If you cannot attribute an action to a person, you cannot investigate an incident or answer a regulator.
A login that only answers the first question is the one most applications ship with.
Where authentication commonly goes wrong
Passwords as the only factor
A password is a single secret that can be guessed, reused across sites, phished or found in someone else’s breach. Credential stuffing, replaying addresses and passwords leaked elsewhere, remains one of the most common ways accounts are taken over, precisely because password reuse is so widespread. A second factor breaks that attack, and very little else does.
Sessions that never really end
Signing out ought to end a session everywhere it exists, on the server rather than only in the browser. A surprising number of systems simply discard the token locally and leave it valid until it expires. Anybody holding a copy still has access, and the person who pressed “sign out” believes they do not.
No way to see where you are signed in
If a user cannot see their own active sessions, they cannot tell that something is wrong, and they have no way to act if they suspect it. Visibility is a security control, not a convenience feature.
Access that is revoked slowly
When somebody leaves, or an account is suspended, the change should take effect now. If revocation only applies the next time a token expires, there is a window, sometimes hours, in which a removed user still has a working session.
Roles bolted on afterwards
Authorisation designed after launch tends to become a set of checks scattered through the code, each slightly different. The gaps are the ones nobody thought to write, and they are invisible until somebody finds one.
What good looks like
The controls worth insisting on, whoever builds your software:
A real second factor. An authenticator app generating time-based codes, backed by single-use recovery codes for the day somebody changes phone. Codes by SMS are better than nothing and meaningfully weaker than an app.
Sign-in through accounts people already have. Letting users sign in with an existing Google or Microsoft account, linked to their record, removes a password from the world and inherits whatever protections that provider already enforces.
Sessions the user can see and end. A list of where the account is currently signed in, what was last seen from each, and a single control to end all of them.
Revocation that takes effect immediately. Suspending an account should close its open sessions, not wait for them to lapse.
Separation between applications. Where a business runs several applications, a token issued for one should not be accepted by another. Each application verifying its own credentials means a problem in one does not become a problem in all of them.
Authorisation checked on every request. Not established once at sign-in and trusted thereafter.
An audit trail worth having. Who signed in, from where, and when. Enough to answer a question months later.
How we build it
Kynecto applications use our own identity service rather than delegating the whole problem to a third party. That decision is deliberate: authentication is where the awkward, business-specific rules live: which organisation a user belongs to, what a role means in your context, who is allowed to act on whose behalf. Those rules are much easier to get right when identity and authorisation are designed together.
In practice that means every account can carry a password and an authenticator app, and can link a Microsoft or Google account as an alternative way in. Users can see every session their account currently has open, with the address and browser each was last used from, and end all of them at once. Suspending an account takes effect immediately rather than at the next token expiry. Each application verifies credentials issued for itself and not for its neighbours. Everything runs on Microsoft Azure, and sign-in is protected against automated attempts before a password is ever checked.
None of this is exotic. It is what authentication should do. The reason it is worth stating is that a great many business applications do not do it, and the gap is not visible from the outside until it matters.
Why it has to come first
Retrofitting authentication is one of the more expensive pieces of remedial work in software. Permissions have to be threaded back through code that assumed everyone could see everything. Data has to be segregated after it has already been stored together. Sessions have to be re-modelled while people are using the system.
Building it first costs very little, because the structure it imposes, every request attributable and every permission explicit, makes the rest of the application simpler rather than harder.
That is the same argument as building software around your actual process: the cheapest time to get the shape right is before anything has been built on top of it.
Questions worth asking a supplier
If somebody is building software for you, these are fair and answerable:
- Can users enable two-factor authentication, and what happens when they lose the device?
- What exactly happens when a user signs out? Is the session ended on the server?
- Can a user see their active sessions and end them?
- When an account is suspended, how long until existing sessions stop working?
- Where are permissions enforced: on every request, or only in the interface?
- What is recorded about sign-ins, and how long is it kept?
Vague answers to any of these are informative in themselves.