Table of Contents
The iOS 16 beta 3 introduced a new privacy feature: Lockdown Mode. The idea is to disable some features in iOS to reduce the possibility of privacy-related attacks.
Apple provides a rough list of features disabled in Lockdown, including one that stands out immediately:
Web browsing: Certain complex web technologies, like just-in-time (JIT) JavaScript compilation, are disabled unless the user excludes a trusted site from Lockdown Mode.
Disabling JIT compilation in JavaScriptCore implies a significant performance drop given how JavaScript-heavy the modern web is. This article measures how large that impact really is, and catalogs what else gets disabled.
Disabled features
Through manual testing and Modernizr feature detection, the following features are disabled in Lockdown Mode:
- WebAssembly
- MP3 Playback
- MathML
- Gamepad API
- Web Audio API
- WebGL
- JPEG 2000
- Speech Recognition API
- MediaDevices.getUserMedia()
- RTCDataChannel
- PDF Viewer
- SVG Fonts
Most of these are disabled to reduce passive user tracking vectors.
WebAssembly
WASM, while incredibly powerful, can be used to rapidly fingerprint clients through canvas rendering discrepancies or local port scanning, and makes it harder for ad blockers to detect trackers. This will break Blazor apps and other WASM-dependent frameworks that lack a JavaScript fallback.
MP3 Playback
MP3 support is an outlier here. Since most browsers support it, disabling it could identify the device as running in Lockdown Mode. One rationale: avoiding crafted MP3 decoding exploits. Sites relying on MP3 without AAC or OGG fallbacks will break.
MathML
MathML rendering varies slightly per device, which can enable tracking through the DOMRect object of a rendered MathML expression.
Gamepad API
Without fingerprinting mitigation, the Gamepad API can track users through the id and buttons properties after user interaction with the page. In-browser games and game streaming platforms relying on controller input will break.
Web Audio API
The Web Audio API enables fingerprinting of Safari users through the webkitOfflineAudioContext interface and signal variations between hardware implementations.
WebGL
WebGL fingerprinting is one of the oldest tracking techniques, exploiting rendering discrepancies between individual devices even running identical hardware. The WebGLRenderingContext also exposes hardware capabilities and supported WebGL versions.
JPEG 2000
JPEG 2000 support is today a reliable Safari identifier — it is the only mainstream browser that supports it.
Speech Recognition API
While the Web Speech API runs on-device on macOS and iOS, it can be accessed by a webpage to record users without obvious indication. This is separate from iOS dictation and Siri, which remain fully functional.
MediaDevices.getUserMedia()
The MediaDeviceInfo interface exposes a persistent deviceId property for cameras, microphones, and speakers, enabling cross-session tracking on a single origin. Sites requiring microphone or camera access will not function.
RTCDataChannel
The WebRTC API can leak both public and local IP addresses — even behind a VPN — when communicating with a STUN server.
PDF Viewer
The WebKit PDF viewer is disabled. Clicking a PDF link triggers a download instead. Documents can still be opened via the Files app after download.
SVG Fonts
SVG fonts are disabled, likely for the same reason as JPEG 2000: they are a Safari-only feature that can be used as a fingerprinting signal.
Note: These changes apply to all iOS and iPadOS browsers since they are all required to use WebKit. Chrome, Firefox, and Brave on iOS are equally affected.
Performance impact
Disabling JIT compilation in JavaScriptCore affects performance on virtually every website, with a likely secondary effect on battery life.
The benchmarks below are averages over 10 runs, recorded on an iPhone 13 mini running iOS 16 developer beta 3.
Octane
Octane is no longer maintained but remains a useful relative baseline for JavaScript performance within the same browser.
Result: ~95% drop in performance. This looks dramatic — and it is for pure JS workloads — but the overall browser is not 95% slower, since the rendering pipeline, layout, and networking are unaffected.
JetStream 2.0
JetStream could not be completed: its heavy focus on WebAssembly means it simply crashes in Lockdown Mode.
Speedometer 2.0
Speedometer benchmarks real-world JavaScript framework performance by simulating user interactions across multiple frameworks. This gives a more practical view of the impact.
Result: ~65% drop in performance. Significant, but not as extreme as the Octane result. For users who require the privacy trade-off, this shifts the decision from "completely impractical" to "a deliberate compromise."
MotionMark 1.2
Unlike most graphics benchmarks, MotionMark relies primarily on HTML and SVG rendering through CSS and canvas operations rather than WebGL.
Result: ~20% drop — largely imperceptible in everyday use.
Conclusion
For users at risk of targeted attacks, Lockdown Mode is a practical first line of defense. It is easy to enable and covers a meaningful set of browser-based tracking and exploitation vectors without requiring technical expertise.
It will not block all fingerprinting. Apple specifically targeted APIs that are difficult for non-technical users to control via conventional means. The 65% Speedometer penalty is the real cost — acceptable for a high-risk individual, prohibitive for general use.
Update 2026
Four years on, Lockdown Mode has been further hardened in iOS 17 and iOS 18. Apple has added protections outside the browser — restricting certain FaceTime features, USB accessories, and wireless connectivity options in extreme threat scenarios.
In Safari, the JIT trade-off is unchanged: JIT remains disabled in Lockdown Mode, and the performance gap is approximately the same on modern hardware. The list of blocked web APIs has grown slightly; WebGL2 and some advanced WebRTC features now join the blocklist.
The feature is no longer experimental. It is documented, supported, and used by journalists, activists, and security researchers worldwide. If you run iOS 18 and work in a sensitive context, the case for enabling Lockdown Mode — at least on a secondary device — is stronger than it was in 2022.