Safari Web Extensions in iOS 15 Changes
With the release of iOS 15, Apple introduced comprehensive support for Safari Web Extensions on iPhone and iPad, bringing desktop-class browser customization to mobile devices. This update shifted mobile Safari away from basic content blockers by adopting the standard WebExtensions API, enabling cross-platform developer support, granular user privacy controls, and cross-device extension syncing.
Standard WebExtensions API Integration
Prior to iOS 15, mobile Safari only supported Content Blockers and Action Extensions with very limited capabilities. iOS 15 added support for the standard WebExtensions API using JavaScript, HTML, and CSS. This architecture allows extensions to manipulate DOM elements, intercept and modify network requests, inject custom stylesheets, and execute background scripts, mirroring capabilities previously exclusive to desktop browsers.
Cross-Platform Development and Porting
Apple integrated support for extensions built for other browsers like Google Chrome, Mozilla Firefox, and Microsoft Edge. Developers can use the Safari Web Extension Converter tool in Xcode to convert existing extensions into native apps containing the web extension bundle. This enables developers to maintain a single codebase across Chrome, Firefox, Safari on macOS, and Safari on iOS.
Granular Privacy and Permission Controls
iOS 15 introduced strict user permission management to protect mobile browsing data:
- Per-Website Access: Users can grant an extension access to all websites, specific domains, or only the active tab.
- Duration Controls: Access can be granted permanently, for one day, or on a single-use prompt basis.
- Visual Status Indicators: Safari displays an alert icon in the address bar whenever an extension is actively reading or modifying content on a webpage.
Ecosystem Syncing Across Apple Devices
Extensions enabled on iOS 15 automatically sync across other devices tied to the same Apple ID running iOS 15, iPadOS 15, or macOS Monterey. While extensions must still be downloaded onto each device via the App Store, enabling or disabling an extension on an iPhone automatically reflects that status across iPad and Mac.
Native App Store Distribution and Settings Integration
Safari Web Extensions are distributed through the iOS App Store as companion apps containing the extension payload. Apple created a dedicated category in the App Store specifically for Safari Extensions. Users can manage, toggle, and configure installed extensions directly within the native iOS Settings app under the Safari menu or directly inside Safari via the extensions menu in the redesigned address bar.