All posts
Security3 min readWatchFor Team

What is mTLS (Mutual TLS)?

Normal HTTPS proves the server's identity to you. mTLS goes both ways — the client proves itself too. Here's what mutual TLS is, where it's used, and why it's a Zero Trust building block.

What is mTLS (Mutual TLS)?

When you visit an https:// site, TLS proves the server is who it claims to be — that's the padlock. But the server usually has no cryptographic proof of who you are; it trusts a password or token instead. mTLS closes that gap by making both sides present certificates. Here's what that means and why it matters.

Regular TLS vs mTLS

The difference is one word: mutual.

Regular TLSmTLS (mutual TLS)
Server proves identity✅ Yes (certificate)✅ Yes
Client proves identity❌ No (uses password/token)✅ Yes (certificate)
TrustOne-directionalBoth directions

In regular TLS, only the server has a certificate. In mTLS, the client also presents a certificate, and the server verifies it — so each side cryptographically proves who it is before any data flows.

How it works

It's the standard TLS handshake, with an extra step:

  1. The client connects; the server presents its certificate (as usual).
  2. The server also requests the client's certificate.
  3. The client presents its certificate.
  4. Both sides verify each other's certificates against trusted authorities.
  5. Only if both check out does the encrypted connection proceed.

No valid client certificate, no connection — even before any password or token is considered.

Where mTLS is used

mTLS shines where machines talk to machines and you want strong, mutual identity:

Use caseWhy mTLS fits
Service-to-service (microservices)Services verify each other, not just trust the network
APIs with high security needsBank/partner APIs requiring client certs
IoT devicesEach device authenticates with its own cert
Zero Trust networksIdentity verified on every connection

The biggest modern use is microservices: instead of assuming any service inside the network is trustworthy, each service authenticates to the others with a certificate. A service mesh often handles this automatically.

Why it matters: Zero Trust

mTLS is a cornerstone of Zero Trust. The old model trusted anything "inside the network." mTLS removes that assumption between services:

With mTLS, a service won't talk to another just because they share a network — it demands proof of identity first. So a breached component can't freely impersonate or call other services; it lacks the certificates. That's "assume breach, verify everything" made concrete.

The trade-offs

mTLS is powerful but not free:

  • Certificate management overhead. Now every client needs a certificate, and they all need issuing, distributing, and rotating. (A service mesh or automated PKI helps a lot.)
  • More to monitor. Client certs expire too — and an expired client cert silently breaks the connection, just like an expired server cert.

This is why mTLS is common for internal/service-to-service traffic (where you control both ends and can automate certs) but rare for public websites (you can't issue a cert to every random visitor).

The bottom line

In one line
WhatTLS where both client and server present certificates.
vs TLSRegular TLS verifies the server; mTLS verifies both.
Used forService-to-service, secure APIs, IoT, Zero Trust.
CostManaging and rotating certs on every client.

mTLS turns "trust me, here's a password" into "prove it with a certificate, both ways." It's how modern systems stop trusting the network and start verifying identity on every connection — the heart of Zero Trust between services.

Related: How HTTPS works, Zero Trust, SSL certificate expiry.

Share this article