In the next few weeks, one of the biggest changes to the underlying workings of the web in some time will begin to roll out. I am referring to Google's User-Agent Client Hints initiative, part of their broader Privacy Sandbox plans. This little-noticed change could have far-reaching implications across the web ecosystem. Google's plan involves removing important information from the User-Agent header which has been sent by every browser since the dawn of the web in 1989, information that is used by almost every top-tier website to tailor user experiences. You can get some insight into this by reading some of the issues on the Web Incubator Community Group issues list for the proposal, including some issues raised by DeviceAtlas.
The final (and most impactful) phase of this change is scheduled to begin rolling out in February 2023 with the release of Chrome 110 (see the Chrome Platform Status site for details). As this change rolls out web servers will begin to see a diminishing level of browser and device details from devices running Chrome. The imminent change relates to the behaviour of Chome on mobile devices in particular and the most impactful change is the supression of details of the device underlying the browser. However, with some fairly simple configuration steps you can mitigate this change to some extent.
Websites wishing to avail of detailed browser and device information as traditionally sent by devices will need to alter their web server configuration to request that the missing information is sent by browsers. This is done by configuring your web server to send an Accept-CH response header with each response sent to browsers. This header lists the UA-CH headers requested by a server in order to tailor its responses to that browser. Subsequent requests from the browser should then include the requested UA-CH headers up until the end of a session, which in practice means a browser restart. The additional headers from the browser follow the format Sec-CH-UA-* and substitute for the information removed from the the traditional User-Agent string.
The change is quite straightfoward to make. You can read the full instructions here: Configuring NGINX and Apache to support User-Agent Client-Hints.
DeviceAtlas fully supports User-Agent Client Hints with v3 of our SDK.