iOS UA reports a screen matching no real iPhone/iPad geometry (full device set)

br.ios_screen_offmanifold  ·  convicts

browserlayer
coherencecategory

What it catches

The FULL B4 (radar X5) — the tightest of the iOS-screen manifold checks. br.ios_screen_oversized (max>1400) + br.ios_screen_desktop_res (known desktop geometries) catch a desktop faking iOS; br.ios_dpr_incoherent catches a wrong backing scale. This closes the last gap: a spoofer who dodges all three — a sub-1400, non-desktop screen with DPR 2 or 3 — but picks a geometry NO real iPhone/iPad ships (e.g. 400x800). The check keys on the SET of real iOS logical resolutions (portrait CSS px) from the Apple device corpus (iosref.com/res + ios-resolution.com: 137 iPhones + 52 iPads + iPods); screen.width/height on iOS is device-FIXED (orientation-independent), so normalising to portrait (min x max) covers both orientations with one set. An iOS UA whose normalised screen is not in the set is off the device manifold. EXPERIMENTAL (w0.4, corroborating): a brand-new iPhone/iPad model ships a resolution not yet in the maintained set → FP until the set is updated from the corpus (unlike the oversized/desktop-res slices, which are FP-safe by hardware bound). So it convicts only corroborated, and the set needs periodic refresh. GROUNDED LIVE: an iPhone UA + a plausible-but-non-real 400x800 screen (DPR 3, dodging oversized + desktop-res) fires ios_screen_offmanifold while those two stay silent; a real iPhone 15 screen (393x852) is silent.

Signals it reads

browser.ios_screen_offmanifold

How it fires

present

Bypassed by 10

Frontier evaders that reach the detector uncaught (scored only suspicious, defeating every convicting tell) — this check is not one that stops them. The red-team frontier this detection still has to convict.

← all detections