Each control adds a way for mail to fail that did not exist before. Two of them can stop inbound delivery entirely, and both do it quietly enough that you will hear from a sender rather than from a monitor.
What each one adds
| Control | New failure | How it presents |
|---|---|---|
| MTA-STS | Enforcing senders refuse a host the cached policy does not list | Deferrals then bounces from Google and Microsoft only. Other senders unaffected, so it looks like a problem with them. |
| MTA-STS | Policy host certificate expires | Nothing visible. Protection silently stops for senders without a cached copy. |
| DANE | DNSSEC chain breaks, or a TLSA record no longer matches the served certificate | Validating senders stop delivering. Hard failure, not degradation. |
| DANE | Certificate renewed with a new key and no TLSA update | Same. The renewal that was routine for years becomes an outage. |
| BIMI | VMC expires, or the DMARC policy slips | The logo disappears. Mail is unaffected and nobody notices for months. |
| Bulk-sender requirements | Complaint rate crosses the threshold | Gradual filtering, then sharp. Visible in engagement long before anyone connects it. |
The two that stop mail
MTA-STS: a host in the MX set but absent from the policy.
Cause: someone changed MX without changing the policy,
or changed both and did not wait out max_age.
Scope: senders that enforce. Which is most of your volume.
DANE: a TLSA digest that does not match the presented key.
Cause: certificate renewal with a fresh key pair.
Scope: senders that validate. Fails closed by design.Both share a shape: a routine change elsewhere — an MX addition, a certificate renewal — breaks a record nobody remembers is coupled to it. The coupling is the risk, and the remedy is a checklist rather than a monitor, because the monitor tells you afterwards.
Certificate automation is where DANE fails
An ACME client that generates a new key pair on every renewal will break a 3 1 1 TLSA record every sixty days. Configure it to reuse the key, or add a deploy hook that publishes the new digest and waits. The default behaviour of most clients is the one that breaks it.