If you’ve been monitoring your server logs or reviewing analytics dashboards lately, you may have noticed something odd. Starting in 2023, a growing number of devices began showing up with User-Agent strings like this:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Mobile Safari/537.36
At first glance, it looks like a real device identifier — “Android 10 K.” But in reality, this string is a placeholder introduced as part of Chromium’s User-Agent Reduction project.
The result:
- Websites are reporting large numbers of “phantom” devices.
- Login security warnings sometimes label devices as simply “Android 10 K.”
- Analytics tools are grouping unrelated users under the same misleading device.
So what exactly is going on?
![]() |
![]() |
What is “Linux; Android 10; K”?
“Linux Android 10 K” is not a real device. It’s the reduced User-Agent string returned by modern Chromium-based browsers (Chrome, Edge, Opera, Samsung Internet, etc.).
This rollout began in May 2022 and was completed by May 2023, as part of Google’s plan to minimize the amount of identifying information exposed in the User-Agent string which we talked about in Preparing for Chrome 110 and User-Agent Client Hints. The goal is to improve user privacy by reducing “entropy” (unique signals that can be used for fingerprinting).
Instead of showing the actual device model (e.g., Oppo Reno2 F), Chromium now inserts the placeholder “K” when reporting Android devices.
👉 Why “K”? Google hasn’t provided an official explanation. The choice is puzzling because at least two real devices (the Willfon K and Fluo K) share that identifier — leading to potential misinterpretations in raw log data.
Common Examples of “Mozilla/5.0 (Linux; Android 10; K)”
As of summer 2025, you’ll see many variations of this placeholder string, depending on the browser:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36 Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) SamsungBrowser/28.0 Chrome/130.0.0.0 Mobile Safari/537.36 Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36 (compatible; Google-Read-Aloud; +https://support.google.com/webmasters/answer/1061943) Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Safari/537.36 Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36 OPR/90.0.0.0 Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Mobile Safari/537.36 EdgA/138.0.0.0
It’s not only end-user browsers adopting the reduced UA format — many bots and crawlers follow the same pattern.
A Changing Landscape
Until recently, the User-Agent (UA) header was the primary way to identify browsers, devices, and operating systems. That’s no longer the case. With Chromium’s User-Agent Reduction project, UA strings now return simplified placeholders such as “Android 10 K” instead of detailed device information.
This shift means:
- Analytics tools may report large groups of users as coming from the same “phantom” device.
- Security systems may generate confusing login alerts (“Unknown device: Android 10 K”).
- Device detection libraries relying only on UA parsing will lose accuracy.
In short: the User-Agent header is no longer a reliable single source of truth.
Why It’s More Complex
To recover detailed device and browser information, developers now need to request Client Hints, which are delivered via extra HTTP headers. This means updating your web stack to ask browsers for more detail.
-
Server configuration – You must instruct browsers to send Client Hints by adding an Accept-CH header. For example, in NGINX:
add_header Accept-CH "Sec-CH-UA-Platform-Version, Sec-CH-UA-Model, Sec-CH-UA-Full-Version-List";
- Handling multiple requests – Client Hints may not all be sent in the very first HTTP request. Full details (like exact model numbers) often arrive only after the browser has seen your `Accept-CH` request.
- Storing additional headers – If you rely on server logs for analytics or security auditing, you’ll need to make sure these extra headers are captured and logged.
👉 See our User-Agent Client Hints guide for step-by-step instructions on how to configure Apache, NGINX, and other environments.
User-Agent vs. Client Hints vs. DeviceAtlas
Method | Example Output (simplified) | Level of Detail |
---|---|---|
User-Agent only | Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 Chrome/139.0.0.0 Mobile Safari/537.36 |
Very generic — shows “Android 10 K” with no real device details. |
UA + default Client Hints | sec-ch-ua-platform: "Android" |
Slightly better — confirms Android + Chrome version, but still lacks device/OS detail. |
UA + full Client Hints | sec-ch-ua-model: "CPH1989" |
Better — gives exact device model, OS version, and full browser version but no other device specific details. |
DeviceAtlas detection | Device Vendor: Oppo Device Model: CPH1989 Marketing Name: Reno2 F Year Released: 2019 … ~220 device properties across 110,000 devices (30-40 new devices added every day). |
Full picture — standardized device profile with technical and marketing data. |
Why DeviceAtlas Matters
By combining Client Hints with the DeviceAtlas detection library, you get much more than just raw identifiers:
- Vendor and model mapped to standardized names
- Marketing name (e.g., Oppo Reno2 F)
- Screen information (Screen dimensions, display PPI, colour depth)
- Core hardware information (CPU, GPU)
- Device Hardware Classification
- Connectivity capabilities (Highest cellular generation, network protocols)
- Bot traffic detection (as much as 40% of internet traffic is from non-human sources!)
- …and many more! Check our available device properties from our Property List.
For example, the placeholder string:
Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/139.0.0.0 Mobile Safari/537.36
…combined with Client Hints, this resolves to:
- Device Vendor: Oppo
- Device Model: CPH1989
- Marketing Name: Reno2 F
- Hardware Classification: Mid Tier
And that’s just the beginning. DeviceAtlas enriches this with dozens of additional attributes — from screen dimensions and hardware specs to supported network technologies.
Explore the full Oppo Reno2 F device profile for a complete picture.
Key Takeaways
- “Android 10 K” is not a real device — it’s a Chromium placeholder.
- Relying on the User-Agent string alone will increasingly produce misleading analytics and security signals.
- Client Hints provide the missing detail, but require extra configuration and logging.
- DeviceAtlas bridges the gap by normalizing Client Hints into reliable, actionable device intelligence.
👉 For developers: if you’re seeing “Android 10 K” in your logs, it’s time to update your stack for Client Hints and consider a detection solution like DeviceAtlas to restore accurate device insights.