demo · v139
Upgrade Nudge
Server-side, what should your site do when a visitor's Chrome is stuck on macOS 11? This demo reads Sec-CH-UA-Platform-Version via User-Agent Client Hints, classifies the OS, and shows the in-page banner you'd render in each branch.
Pick a value or click "Detect" to read your own Client Hints.
Rendered banner (what your visitor would see):
platform
—
version
—
raw HTTP headers
Chrome only sends these high-entropy hints if you opt in. Send Accept-CH: Sec-CH-UA-Platform-Version back in your first response, and subsequent navigations include the version.
the server-side decision
// Express middleware sketch
app.use((req, res, next) => {
res.setHeader("Accept-CH", "Sec-CH-UA-Platform-Version");
res.setHeader("Critical-CH", "Sec-CH-UA-Platform-Version");
const platform = req.get("sec-ch-ua-platform")?.replace(/"/g, "");
const ver = req.get("sec-ch-ua-platform-version")?.replace(/"/g, "");
if (platform === "macOS" && parseInt(ver, 10) <= 11) {
res.locals.osWarning = "chrome-frozen-on-bigsur";
}
next();
});