One of the loudly touted benefits of the new Client Hints approach is the ability to cleanly identify which web browser is being used by visitors to your website. Normally, for a website to determine which web browser a visitor is using, it would have to decode their User Agent Header, but the addition of Client Hints in modern web browsers starts to render that approach obsolete.
The problem with using User Agents to identify browsers is that over the years, user agents have become more and more convoluted and confusing to understand. Of course, they can still be used for this purpose, in fact over the last 12 years we've developed a user agent parser which does a great job of decoding even the most confusing user agents (also available via our Browser Detection API). But not every website wants to use this approach.
The argument against using User Agent headers for this is that user agent strings are an out-dated and essentially "un-fixable" approach to identifying web browsers, and instead of trying to bring some kind of standardisation to them, user agents should be replaced with an all-round neater approach to identifying browsers and platforms.
Client Hints promises to deliver a series of headers which individually identify the Browser Name, Version, Operating System/Platform (as well as other bits of information and capabilities). It's still very early days for Client Hints but this might provide a neater approach than parsing user agents.
The more unique bits of information that advertisers and social networks can gather about you, the easier you are to identify and target. User Agents certainly aren't unique enough to identify an individual, however combined with a number of other data points (screen size, IP address, browser plugins, fonts, canvas fingerprints etc) user agents can start to quickly help identify you online.
It's been argued that removing user agents in favor of Client Hints can help decrease your "uniqueness" (and thus your trackable-ness) online. We think that there's some truth to this, certainly if we're talking about user agents that include the exact make and model of your phone (like a lot of Android based phones do). Removing rarer data points like this will help reduce your system's "uniqueness", however Client Hints are still going to reveal your Browser, Version and probably Operating System/Platform, so this doesn't completely get rid of the threat.
It's actually very beneficial for web sites to have a general idea of their visitors browser and platform information so that they can customise content, identify bugs and personalise their websites better. And of course, anything which actually makes users safer online is welcomed.
It's still very early days for Client Hints and they're not ready to replace user agents for a while. The big hold-up is that there are still a lot of websites which rely on receiving valid a valid User Agent header, so web browsers can't just stop sending user agents. However the proposed approach is to eventually settle on a standardised user agent, so that future versions of the web browser continue to just send the old user agent. That way, old websites will still handle the legacy user agent, and websites which correctly handle Web Browser Client Hints will be able to harness the new approach.
User agents are still going to be around for a long time. Chrome is the only browser that's started making real movement towards using Client Hints. It seems very unlikely that all web browsers, bots and devices are suddenly going to adopt a brand new standard for identifying themselves. The process will probably be a gradual shift over a couple of years.
Eventually, if the Client Hints standard proves to be a good one then other browsers will start to adopt it. Eventually bots may start to send them instead of/as well as traditional user agents.
In preparation for the dawn of Client Hints, we've already built a Client Hints Detection page to show you what's being sent by your browser. If you're curious, check it out.