What Should Happen When Detection Fails
Detection systems are usually evaluated on accuracy for known clients. The more consequential behaviour is what happens for the ones they cannot classify, which is a permanent share of traffic.
Unknown clients are always present
New browser versions, new devices, uncommon builds, privacy tools, embedded browsers and non-browser clients all produce strings that a dataset may not describe.
The proportion is small but never zero, and it spikes whenever a major product changes what it sends. Treating it as an edge case guarantees a bad experience at exactly those moments.
A well-designed system therefore defines the unknown path before defining any of the recognised ones.
Falling back to the weakest experience is backwards
A common default routes unknown clients to a minimal page built for old browsers. Unknown usually means newer than the dataset, not older.
The result is that the most current clients receive the most degraded experience, which is precisely inverted from the intent.
Defaulting to the full experience and degrading only on a positive signal of limitation reverses the error into a safer direction.
Capability tests beat identity guesses
Where the underlying question is whether something works, the runtime can answer directly. That answer is correct for clients no dataset has seen.
This removes most unknown-client handling entirely, because the decision no longer depends on recognising the client at all.
The cases that remain are those requiring a decision before script runs, and they should be as few and as coarse as possible.
Unknowns must be visible
A system that silently maps unrecognised clients to a plausible default hides its own coverage gaps. Nothing in the reporting shows the classification was a guess.
Recording unknowns explicitly makes the gap measurable and gives an early signal when a vendor changes its string format.
A sudden rise in unclassified traffic is one of the most useful alerts a detection system can produce, and it is only possible if unknown is a real outcome.
Designing the fallback first
Writing the unknown path first forces it to be genuinely usable rather than a leftover branch. Everything else becomes an enhancement on a working baseline.
It also constrains how much the system is allowed to depend on classification, which tends to reduce the number of places detection is used at all.
Systems built this way age well, because the arrival of unfamiliar clients changes what they optimise rather than whether they work.