The minimum TLS version is the lowest protocol version a server, app, or gateway will accept, and in cybersecurity that setting quietly shapes both risk and compatibility. In practice, it decides whether your traffic can fall back to older, weaker handshakes or stays on a modern baseline such as TLS 1.2 or TLS 1.3. This article explains what that floor actually controls, which versions are still acceptable in 2026, and how to raise it without breaking legitimate users.
The practical rule is simple: set TLS 1.2 as the floor and prefer TLS 1.3
- TLS 1.0 and 1.1 should not remain enabled for modern public services.
- TLS 1.2 is the realistic baseline for websites, APIs, and most admin interfaces in 2026.
- TLS 1.3 is the preferred option when your clients and stack support it.
- The version floor is only part of the story; cipher suites, certificates, and fallback settings still matter.
- For UK teams, the safest approach is usually to align with NCSC-style guidance and test legacy dependencies before tightening the policy.
What the TLS floor actually controls
When I review a secure configuration, I treat the TLS floor as a gatekeeper. It tells the server which protocol versions it will accept during negotiation, so a client cannot silently fall back to an older handshake just because it happens to be available. That matters because older versions often come with weaker cryptography, more downgrade opportunities, and a longer list of known implementation mistakes.
This setting does not make a service secure by itself. You can still build a weak posture on top of TLS 1.2 if your certificates are mismanaged, your ciphers are poor, or your application accepts insecure fallback behaviour. But the version floor is the first clean line in the sand, and once that line is too low, the rest of the stack has to work harder to compensate.
For UK organisations, that distinction is especially useful. The practical security baseline is not about chasing the newest protocol for its own sake; it is about keeping the service usable while removing versions that are no longer worth supporting. That brings us to the versions themselves and where they stand now.
Which TLS versions are still acceptable in practice
The short answer is that TLS 1.2 is the minimum I would set for anything public-facing, and TLS 1.3 is what I would prefer whenever the platform allows it. The IETF formally deprecated TLS 1.0 and 1.1 in RFC 8996, and that decision reflects what many security teams had already done in production. The UK NCSC guidance follows the same direction: keep the bar at 1.2 or above, then tighten the rest of the configuration around it.| Version | Status in 2026 | Use as a minimum? | Practical note |
|---|---|---|---|
| TLS 1.0 | Deprecated | No | Too old for modern security policy and a common compliance problem. |
| TLS 1.1 | Deprecated | No | Should be disabled with 1.0 unless you have a very unusual legacy constraint. |
| TLS 1.2 | Supported and widely trusted | Yes | The safest baseline for websites, APIs, and most business services. |
| TLS 1.3 | Current standard | Sometimes | Excellent default, but not always the right sole minimum if you still have older clients. |
I would not usually force TLS 1.3 only unless I control both ends of the connection, such as in a tightly managed internal platform or a very recent app ecosystem. TLS 1.3 is faster, cleaner, and better designed, but the real-world cost of excluding older yet still legitimate clients can be higher than the marginal security gain.
How I choose the right floor for each service
The right floor depends less on theory and more on who connects to the service. A public site with unknown visitors, an internal admin console, a machine-to-machine API, and a legacy mail relay do not deserve identical treatment. If you use the same TLS policy everywhere, you usually end up either too lenient or too brittle.
Public websites and customer portals
For internet-facing sites, I treat TLS 1.2 as the absolute minimum and TLS 1.3 as the preferred path. That gives you a strong security baseline without blocking a large share of modern browsers and mobile clients. It also aligns with the reality that browser support is rarely the limiting factor anymore; the problem is more often an old embedded client, a partner integration, or a stale library somewhere in the chain.
APIs and service-to-service traffic
APIs can often move faster than user-facing systems because the client estate is narrower and easier to audit. If your consumers are under your control, I would seriously consider making TLS 1.3 the default target while keeping 1.2 as the minimum during transition. That gives your engineering team room to modernise without forcing a flag day.
Email and infrastructure traffic
Email is where many organisations quietly leave old settings around. If the service is public or semi-public, keep TLS 1.2 as the minimum and pair it with proper mail security controls. GOV.UK’s own mail guidance reflects the same basic idea: the transport layer has to be modern before the rest of the mail security story can hold together. If you are running relays or gateways, verify that every hop is actually negotiating the version you think it is.Read Also: Ransomware Lateral Movement - Stop the Spread, Save Your Business
Legacy devices and embedded systems
This is the exception bucket, and it deserves blunt handling. If a device truly cannot speak TLS 1.2, the problem is usually not the protocol floor but the age of the device, firmware, or middleware. I would only keep an exception open if the system is isolated, documented, and on a replacement path. Otherwise the exception becomes a permanent back door in policy, and those rarely age well.
Once you have the target per service, the next issue is rollout. That is where most teams either make the change cleanly or create avoidable outages.

How to raise the floor without breaking clients
The safest rollout is staged, not dramatic. Start by measuring what is actually connecting today, then tighten the policy in a way that lets you see the breakage before users do. A hard cutover can work in tightly controlled environments, but in mixed public estates it often turns into a support problem disguised as a security win.
- Inventory every endpoint that terminates TLS, including load balancers, reverse proxies, mail relays, and API gateways.
- Log negotiated protocol versions for a short period so you can see whether any clients still rely on old handshakes.
- Test the likely edge cases, especially mobile apps, partner integrations, printers, scanners, VPN clients, and embedded devices.
- Change one layer at a time if you have multiple TLS termination points, because a missed proxy can hide the real result.
- Watch for handshake failures after the change and separate genuine legacy breaks from unrelated certificate or DNS issues.
When a rollout goes wrong, the failure is often not the protocol floor itself but the absence of visibility. If a team cannot tell which version was negotiated before the change, they are guessing about the impact instead of managing it. I prefer to treat the first adjustment as a controlled experiment: reduce the floor, watch the traffic, then close the gap only after the long tail is understood.
Common mistakes that weaken the policy
The most common mistake is leaving old versions enabled “just in case.” That phrase sounds harmless, but it usually creates a permanent exception with no expiry date. Another frequent error is assuming that because a browser works, every other client will too. Browsers are often the easiest part of the estate to modernise; it is the forgotten integrations that cause trouble.
- Confusing TLS version with overall security and ignoring certificates, ciphers, and authentication.
- Leaving TLS 1.0 or 1.1 enabled on one system because another vendor depends on it.
- Forgetting non-web services such as SMTP, IMAP, VPN, or admin panels.
- Running inconsistent settings across proxies, origin servers, and upstream gateways.
- Blocking TLS 1.3 accidentally by relying on old libraries that do not negotiate it cleanly.
There is also a deeper mistake I see often: teams tighten the version floor but leave weak cipher suites or fallback behaviour untouched. That is like putting a better lock on a door and leaving the window open. If you want the policy to mean something, the version choice has to be part of a broader TLS profile, not a standalone checkbox.
A sensible baseline for UK teams in 2026
If I had to set a practical default for a UK organisation today, I would make TLS 1.2 the minimum acceptable version for public web properties, APIs, and most internal business systems, then enable TLS 1.3 wherever the platform and client base support it. That is the cleanest balance between security, interoperability, and operational reality.
For higher-risk environments, I would go one step further: keep a short exception register, review it on a schedule, and treat any demand for TLS 1.0 or 1.1 as a migration issue, not a policy choice. That framing matters. It stops old transport settings from becoming a permanent excuse for weak architecture.
If you need one rule to carry forward, use this one: prefer TLS 1.3, accept TLS 1.2, and retire everything older unless there is a documented, temporary reason not to. That gives you a modern baseline without pretending legacy systems will disappear on command, and it is usually the most defensible position for security teams in 2026.