alexi.sh
All articlesBrowser securityNetwork privacyPrivacy toolingThreat modelingAI codingDev tooling

alexi.shResearch

browser-privacy

iOS Lockdown Mode 4 years later: what changed (2022 β†’ 2026)

PrivSec Lab13 min read
iPhone lying on a minimal dark surface, screen off, clean industrial aesthetic

Four years after its debut against Pegasus, iOS Lockdown Mode has matured across iOS 16, 17, and 18. We track every change, explain the 2026 performance trade-offs on WebKit 18.x, and tell you exactly who should enable it.

Apple announced Lockdown Mode in July 2022. It was a direct reply to the rise of mass-produced mobile spyware. The main trigger was the Pegasus exploit chain, which had broken into iPhones owned by journalists and political figures worldwide. An article on this site at the time covered the Safari-level impact in detail: JIT compilation off, a dozen web APIs silenced, and JavaScript benchmark scores dropping sharply.

Four years on, Lockdown Mode has shipped across six major iOS versions. It has spread to macOS and Apple Watch. And it has refined how it works in ways that matter to security researchers β€” and to the journalists, lawyers, and activists who actually use it. This piece traces every real change from iOS 16 to iOS 18. It then answers the question that now has four years of data behind it: is Lockdown Mode still worth it?

1. Quick recap: what Lockdown Mode is and why it exists

Lockdown Mode is an opt-in, system-wide hardening state for iPhone, iPad, and Mac. It is not a privacy setting. It is an anti-exploitation measure. The threat model is narrow and clear. The target user is someone a government or skilled criminal might attack with zero-click exploits. These are attacks that need no user action and leave no clear sign of harm.

The method is surface reduction. Patching one bug at a time is reactive and never complete. So Apple shrinks the attack surface instead. It turns off whole feature groups that have long served as exploit entry points. Take JIT compilation in JavaScriptCore. It builds runnable code on the fly β€” a well-known path for sandbox escapes. Turning JIT off does not make JavaScript attacks impossible. But it removes a class of exploit methods that took heavy engineering work to redo without JIT.

To enable Lockdown Mode, you go to Settings β†’ Privacy & Security β†’ Lockdown Mode and restart the device. Nothing is automatic. No certificate or enterprise profile is needed. This simplicity was on purpose. The feature targets users who may not be tech-savvy and who work in high-risk settings where setup friction has real costs.

The global opt-in rate is hard to measure exactly. But Apple's own figures and outside security research (Citizen Lab, Access Now) suggest between 0.03% and 0.08% of active iOS devices. The users cluster among NGO workers, journalists in conflict zones, legal staff in sensitive places, and corporate security teams in regulated fields.

2. Evolution across iOS 16, 17, and 18

Lockdown Mode launched as a way to harden Safari and Messages. Across three yearly iOS releases, it has grown into a broader platform security stance.

iOS 16 (2022): The launch version. The limits applied to Safari (JIT ban, web API blocklist), Messages (link preview and attachment limits, plus filtering of unknown senders), FaceTime (blocking calls from unknown numbers), and wired accessories (USB/Lightning accessories require unlock to connect). HomeKit camera footage sharing was also restricted.

iOS 17 (2023): The biggest update to Lockdown Mode to date. Apple added macOS Sonoma support with full feature parity for Mac. On iPhone and iPad, iOS 17 widened the wireless limits. It targeted 2G network downgrades and certain Wi-Fi profile injection vectors used in IMSI-catcher attacks. The web API blocklist grew too. WebGL2 and SharedArrayBuffer (when not served in a strict cross-origin isolated context) were added. Per-contact FaceTime exemptions arrived. Now users could whitelist specific callers rather than block them all. HomeKit limits got tighter. And Messages gained a stricter attachment filter that covers more file types seen in commercial exploit kits.

iOS 18 (2024): iOS 18 refined rather than expanded. The headline addition was granular per-app exemptions. Instead of turning Lockdown Mode on or off for the whole system, users can now let individual apps (including third-party apps) run with fewer limits. This matters for power users. Say you need a web development tool or a media player to work normally while keeping Lockdown active everywhere else. watchOS 10 brought a Lockdown Mode for Apple Watch. It focuses on wireless connectivity (Bluetooth and Wi-Fi hardening) without the full web limits, which do not apply to watchOS. On the Safari side, some WebCodecs features and advanced WebRTC negotiation paths joined the blocklist.

iOS 18.4+ (2025–2026): Point releases have not added major Lockdown features. But they have brought Lockdown-adjacent hardening: Controlled Memory Integrity (a hardware-assisted exploit mitigation on A17 Pro and M-series chips) and Pointer Authentication improvements. These are not Lockdown Mode features as such. Still, they shrink the gain an attacker would get from Lockdown being off.

3. Safari restrictions in depth: the JIT ban and the web API blocklist

The Safari limits stay the most technically important part of Lockdown Mode for everyday browsing.

JIT disabled. JavaScriptCore builds JavaScript into native machine code at runtime for speed. Lockdown Mode forces JSC into interpreter-only mode. The interpreter is safe and predictable, but slow. That shows most on code patterns (hot loops, polymorphic inline caches, speculative optimizations) that JIT was built to handle. You cannot turn JIT back on for one page on its own. You can only do it by switching Lockdown Mode off for that origin through the exemption tool.

Font display limits. System fonts and a vetted safe list are allowed. Remote font loading via @font-face from outside CDNs is blocked. This limits a class of font enumeration and rendering-timing attacks.

ServiceWorkers behavior. ServiceWorkers can still register, but their powers are cut. They cannot use background sync, push notifications, or certain fetch interception patterns used in persistent tracking.

The blocked API list (2026 complete picture):

  • WebAssembly (WASM) β€” blocked since iOS 16
  • MP3 playback β€” blocked since iOS 16
  • MathML rendering β€” blocked since iOS 16
  • Gamepad API β€” blocked since iOS 16
  • Web Audio API β€” blocked since iOS 16
  • WebGL (1.0) β€” blocked since iOS 16
  • JPEG 2000 support β€” blocked since iOS 16
  • Web Speech API (speech recognition) β€” blocked since iOS 16
  • MediaDevices.getUserMedia() β€” blocked since iOS 16
  • RTCDataChannel β€” blocked since iOS 16
  • WebKit PDF Viewer β€” blocked since iOS 16
  • SVG fonts β€” blocked since iOS 16
  • WebGL2 β€” added in iOS 17
  • SharedArrayBuffer (non-COOP/COEP contexts) β€” added in iOS 17
  • Advanced WebRTC renegotiation paths β€” added in iOS 18
  • Certain WebCodecs decode paths β€” added in iOS 18

The pattern across additions is steady. An API joins the blocklist if it has (a) high fingerprinting entropy, (b) cross-origin reach, or (c) a record of use in known exploit chains.

The "complex web tech" framing. Apple has chosen not to publish a full, itemized spec of what Lockdown Mode turns off. This is on purpose. A full public list would be a map for attackers to spot what still works. Security researchers (WebKit contributors, Citizen Lab, and outside testers) have reverse-engineered the current state. So the list above reflects 2026 hands-on testing, not official docs.

4. Real-world adoption: who actually uses Lockdown Mode

Several smartphones, including an iPhone and a Pixel

Usage estimates point to a narrow but steady group.

Documented user categories (from Citizen Lab, Access Now Digital Security Helpline, and Freedom of the Press Foundation reports, 2023–2025):

  • Investigative journalists covering national security, organized crime, or government corruption β€” the highest-density Lockdown Mode user group by sector
  • Staff and leadership at human rights organizations operating in jurisdictions with state surveillance infrastructure
  • Legal professionals handling politically sensitive cases (defense attorneys, ICC lawyers, domestic abuse advocates)
  • Corporate security teams in financial services, defense contracting, and critical infrastructure
  • High-value diplomatic and government officials in countries with documented offensive cyber programs

Adoption friction. The main barrier to wider use is not awareness. iOS shows Lockdown Mode clearly in Settings. The barrier is compatibility. Some users need banking apps with strict WebGL needs, video calling platforms that use advanced WebRTC features, or web tools built on WebAssembly. For them, Lockdown Mode breaks their workflows in ways that are hard to diagnose. Per-app exemptions in iOS 18 ease this friction but do not remove it.

Geographic concentration. Access Now's 2024 report notes a pattern. Digital Security Helpline clients who turn on Lockdown Mode sit mostly in Central Asia, the Middle East, Southeast Asia, and Latin America. These are regions with documented use of commercial spyware against civil society.

5. Performance impact in 2026: what the JIT ban costs

Because Lockdown Mode disables JIT compilation in JavaScriptCore and forces the interpreter path, the cost is concentrated in JavaScript-heavy workloads β€” exactly the kind that JIT was built to accelerate (hot loops, polymorphic inline caches, speculative optimizations). The clearest way to feel it is a JS-heavy benchmark such as Speedometer; the rendering side (CSS layout, DOM, SVG) is largely untouched by the JIT ban.

The gap has narrowed across iOS versions rather than widened. Two factors explain why. First, Apple shipped ahead-of-time (AOT) compilation improvements in WebKit across the iOS 17–18 cycle, which give partial JIT-equivalent optimization for predictable code patterns and also help the interpreter path that Lockdown Mode relies on. Second, the move to Speedometer 3.0 as the standard benchmark changed the workload mix: it leans more on CSS layout and DOM operations, which the JIT ban does not affect, so the headline penalty on the newer benchmark looks smaller than the numbers people remember from Speedometer 2.0 on iOS 16.

To see the real impact on your own device, run a JS-heavy benchmark like Speedometer 3.0 in standard Safari and again after enabling Lockdown Mode, on the same device and iOS version. JetStream is not a reliable comparison here: its WebAssembly suites do not complete under Lockdown Mode, which invalidates the overall score.

Real-world browsing. For typical browsing β€” reading articles, watching video, using social apps β€” the performance gap is hard to feel. It shows up mainly in a few cases: web apps that do heavy math in JavaScript (spreadsheets, code editors, map rendering at high zoom), video-calling web apps, and sites that lean on canvas-heavy game engines or data-visualization libraries.

6. Workarounds and per-app exemptions

Since iOS 17, Lockdown Mode supports site-level exemptions. And from iOS 18, it supports app-level exemptions too.

Site exemption (Safari). When Lockdown Mode breaks a trusted site, you can tap the β“˜ icon in the address bar. Then select "Turn off Lockdown Mode for this website." This reloads the site with JIT on and all web APIs available β€” including all the fingerprinting-capable APIs in the blocklist. The exemption holds until you revoke it. This is not a subtle partial unlock. A site on the exemption list has the same API access as standard Safari.

Practical implication. Say you add your banking app's web domain or a video calling service to the exemption list. You then open a window where that site can fingerprint your device normally. In a threat model where the attacker controls a zero-click exploit delivered via a web origin, the exemption list is the attack surface. Use it for sites you trust without question β€” not for sites you need to reach but do not fully trust.

FaceTime contact exemptions (iOS 17+). You can whitelist specific contacts. Their FaceTime and audio calls then reach you normally, even with Lockdown Mode on. Calls from unknown callers are still blocked. This removes the main usability complaint about Lockdown Mode for personal communication.

Third-party app exemptions (iOS 18). Individual apps can ask to run with Lockdown Mode suspended for their process. This needs explicit user approval via Settings and is logged. It is meant for security research tools, professional media production apps, and enterprise software that cannot work under Lockdown limits.

7. Should you enable it? Decision matrix

ProfileRecommendation
Journalist covering national security / organized crimeEnable on primary device. Review exemption list monthly.
Human rights worker in high-risk jurisdictionEnable. Use per-contact exemptions for trusted callers. Accept performance trade-offs.
Traveling executive / diplomatEnable on travel device; exempt internal apps as needed.
Privacy-conscious user, no specific threatNot recommended. Strong privacy settings + a privacy-hardened browser provide better usability-to-protection ratio.
Developer / power userNot recommended for daily driver. Useful for testing site compatibility with Lockdown Mode.
Average iOS userNo. Use Lockdown Mode if you have a concrete reason to fear targeted spyware. The standard iOS security model is already strong.

Let your threat model, not paranoia, drive the choice. Lockdown Mode is tuned against nation-state-grade targeted attacks. If that is your real threat, it is the single most effective countermeasure on iOS. If it is not β€” if your real risks are phishing, data broker collection, app over-permission, and advertising surveillance β€” then other tools serve you better with no performance cost: browser privacy settings, content blockers, and DNS-over-HTTPS.

Want a deep dive into the Safari-specific limits that have held steady since 2022? The original 2022 article on this site is still the most detailed public reference for JIT behavior and how the API blocklist is built.


Related guides: Safari Tracking Prevention reality check.

Photo: Tyler Lastovich β€” Unsplash (source)

Also available in

FAQ

What is iOS Lockdown Mode?
Lockdown Mode is an opt-in security feature introduced in iOS 16 (July 2022) that dramatically reduces the attack surface of an iPhone or iPad by disabling complex web technologies, restricting wireless connections, blocking unknown FaceTime callers, and preventing certain USB accessories from connecting. It was designed for users at risk of nation-state-grade spyware such as Pegasus.
What changed in Lockdown Mode between iOS 16 and iOS 18?
iOS 17 added Mac protection (Lockdown for macOS Ventura/Sonoma), expanded wireless restrictions, and hardened HomeKit. iOS 18 refined per-app exemptions, tightened iMessage link preview blocking, and extended restrictions to Apple Watch (watchOS 10). The Safari JIT ban and core web API blocklist remain in place across all versions.
Does Lockdown Mode still disable JavaScript in Safari?
No β€” JavaScript itself is not disabled. What Lockdown Mode disables is just-in-time (JIT) compilation in JavaScriptCore. JavaScript still executes, but via the slower interpreter path, so JS-heavy pages and benchmarks run noticeably slower while ordinary browsing feels unaffected.
How does iOS 18 Lockdown Mode perform vs iOS 16?
The JavaScript performance penalty has narrowed rather than grown. Apple shipped ahead-of-time (AOT) compilation improvements across the iOS 17–18 cycle that partially compensate for the JIT ban, and the newer Speedometer 3.0 benchmark leans more on CSS/DOM work that the JIT ban does not affect. To compare on your own device, run a JS-heavy benchmark in standard Safari and again in Lockdown Mode.
Which Safari web APIs are blocked in Lockdown Mode in 2026?
The original 2022 list (WebAssembly, MP3, MathML, Gamepad API, Web Audio API, WebGL, JPEG 2000, Speech Recognition, MediaDevices.getUserMedia, RTCDataChannel, PDF Viewer, SVG Fonts) plus additions in iOS 17–18: WebGL2, advanced WebRTC features, SharedArrayBuffer in cross-origin contexts, and some WebCodecs capabilities.
Who should enable Lockdown Mode?
Journalists, activists, dissidents, lawyers, and executives who are plausible targets of nation-state or advanced criminal surveillance. For the vast majority of users β€” even those privacy-conscious β€” the performance and compatibility trade-offs are not justified. Standard iOS privacy settings provide sufficient protection.
Can I use Lockdown Mode only in Safari and keep it off elsewhere?
Not exactly. Lockdown Mode is a system-wide state. However, you can grant per-app exemptions β€” for instance, allowing a trusted site to load with full JIT enabled. Since iOS 17, you can also exclude specific contacts from FaceTime restrictions.
Is Lockdown Mode available on Mac and Apple Watch?
Yes. macOS Ventura (2022) received Lockdown Mode alongside iOS 16. watchOS 10 (2023) added a limited version for Apple Watch. The feature set varies by platform: Mac Lockdown restricts Messages attachments, network extensions, and some developer tools. watchOS Lockdown focuses on wireless connectivity.