{"id":41880,"date":"2024-01-26T11:48:00","date_gmt":"2024-01-26T16:48:00","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=41880"},"modified":"2026-01-06T16:38:51","modified_gmt":"2026-01-06T21:38:51","slug":"dma-compliance-alternative-browser-engines","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2024\/01\/26\/dma-compliance-alternative-browser-engines\/","title":{"rendered":"DMA Compliance: Alternative Browser Engines"},"content":{"rendered":"<p><a href=\"https:\/\/www.apple.com\/newsroom\/2024\/01\/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union\/\">Apple<\/a>:<\/p>\n<blockquote cite=\"https:\/\/www.apple.com\/newsroom\/2024\/01\/apple-announces-changes-to-ios-safari-and-the-app-store-in-the-european-union\/\">\n<p>The coming changes to iOS in the EU include:<\/p>\n<p>[&#8230;]<\/p>\n<p>New frameworks and APIs for alternative browser engines &mdash; enabling developers to use browser engines, other than WebKit, for browser apps and apps with in-app browsing experiences.<\/p>\n<\/blockquote>\n\n<p><a href=\"https:\/\/developer.apple.com\/support\/alternative-browser-engines\/\">Apple<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/support\/alternative-browser-engines\/\">\n<p>To use an alternative browser engine in your app, you&rsquo;ll need to request the Web Browser Engine Entitlement (for browser apps that want to use alternative browser engines) or the Embedded Browser Engine Entitlement (for apps that provide in-app browsing experiences that want to use alternative browser engines).<\/p>\n<p>Apple will provide authorized developers access to technologies within the system that enable critical functionality and help developers offer high-performance modern browser engines. These technologies include just-in-time compilation, multiprocess support, and more.<\/p>\n<p>[&#8230;]<\/p>\n<p>To help keep users safe online, Apple will only authorize developers to implement alternative browser engines after meeting specific criteria and who commit to a number of ongoing privacy and security requirements, including timely security updates to address emerging threats and vulnerabilities.<\/p>\n<\/blockquote>\n<p>It sounds like this only applies to iPhone apps, they have to be EU-only, <strike><a href=\"https:\/\/social.shadowfacts.net\/notice\/AeFGntYrAS819OQZZg\">and they&rsquo;re not allowed to be set as the default browser<\/a><\/strike>.<\/p>\n\n<p><a href=\"https:\/\/www.theverge.com\/2024\/1\/25\/24050478\/apple-ios-17-4-browser-engines-eu\">David Pierce<\/a> (<a href=\"https:\/\/www.macrumors.com\/2024\/01\/25\/third-party-default-browsers-eu-ios-17-4\/\">MacRumors<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.theverge.com\/2024\/1\/25\/24050478\/apple-ios-17-4-browser-engines-eu\">\n<p>Since the beginning of the App Store, Apple has allowed lots of browsers but only one browser engine: WebKit. WebKit is the technology that underpins Safari, but it&rsquo;s far from the only engine on the market. Google&rsquo;s Chrome is based on an engine called Blink, which is also part of the overall Chromium project that is used by most other browsers on the market. Edge, Brave, Arc, Opera, and many others all use Chromium and Blink. Mozilla&rsquo;s Firefox runs on its own engine, called Gecko.<\/p>\n<p>On iOS, though, all those browsers have been forced to run on WebKit instead, which means many features and extensions simply don&rsquo;t work anymore.<\/p>\n<\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/01\/26\/dma-compliance-default-app-controls\/\">DMA Compliance: Default App Controls<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/01\/10\/apples-five-app-stores\/\">Apple&rsquo;s Five App Stores<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/12\/14\/apple-considering-dropping-webkit-requirement\/\">Apple Considering Dropping WebKit Requirement<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/07\/06\/eu-approves-digital-markets-act-and-digital-services-act\/\">EU Approves Digital Markets Act and Digital Services Act<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/02\/12\/the-time-to-fix-web-security-bugs\/\">The Time to Fix Web Security Bugs<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2022\/02\/07\/the-danger-of-sideloading-chromium\/\">The Danger of Sideloading Chromium<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2019\/11\/18\/the-hotel-cupertino-clause\/\">The Hotel Cupertino Clause<\/a><\/li>\n<\/ul>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2024-01-26\">Update (2024-01-26): <a href=\"https:\/\/developer.apple.com\/documentation\/browserenginekit\">BrowserEngineKit<\/a>:<\/p>\n<blockquote cite=\"https:\/\/developer.apple.com\/documentation\/browserenginekit\">\n<p>Create a browser that renders content using an alternative browser engine.<\/p>\n<p>[&#8230;]<\/p>\n<p>If you use an alternative browser engine in your app, you must design your secure browser infrastructure to separate different components into extensions that your browser manages. Design a limited inter-process communication (IPC) protocol that coordinates work across the extensions. Separating your alternative browser engine into distinct extensions limits the impact of security vulnerabilities in any one process.<\/p>\n<\/blockquote>\n\n<p>Via <a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/111820566793853249\">Steve Troughton-Smith<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mastodon.social\/@stroughtonsmith\/111820566793853249\"><p>Holy moly that&rsquo;s a lot of APIs and granular architecture specifics. If you dig into the setup instructions, it has everything from splitting tasks across multiple XPC processes to mandating arm64e to a whole collection of new entitlements. You don&rsquo;t just &lsquo;build a web browser&rsquo;. This almost feels like an AppleInternal Safari spec with a &lsquo;your implementation goes here&rsquo;. I love it<\/p><\/blockquote>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2024-01-30\">Update (2024-01-30): <a href=\"https:\/\/www.macrumors.com\/2024\/01\/26\/mozilla-on-apple-eu-browser-engine-change\/\">Juli Clover<\/a> (<a href=\"https:\/\/news.ycombinator.com\/item?id=39149080\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.macrumors.com\/2024\/01\/26\/mozilla-on-apple-eu-browser-engine-change\/\">\n<p>While support for alternative browser engines sounds like a win for browser companies, Mozilla spokesperson Damiano DeMonte <a href=\"https:\/\/www.theverge.com\/2024\/1\/26\/24052067\/mozilla-apple-ios-browser-rules-firefox\">told <em>The Verge<\/em><\/a> that Firefox is \"extremely disappointed\" with the way Apple is implementing the feature because it <a href=\"https:\/\/www.macrumors.com\/2024\/01\/26\/apple-eu-app-ecosystem-tidbits\/\">does not extend to the iPad<\/a>.<\/p>\n<p>Firefox uses the Gecko engine and could swap to that on the iPhone, but it would need to continue using WebKit on the iPad.<\/p>\n<\/blockquote>\n<p>And outside the EU.<\/p>\n\n<p><a href=\"https:\/\/open-web-advocacy.org\/blog\/apple-dma-changes\/\">James Moore<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=39151084\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/open-web-advocacy.org\/blog\/apple-dma-changes\/\"><p>This news is tempered by the fact that Apple&rsquo;s proposed solution to comply with the DMA rules to allow browser competition has not been well received.<\/p><p>Others in the industry we have spoken to described Apple&rsquo;s compliance plan as it relates to browsers as &ldquo;unworkable&rdquo;, &ldquo;a massive problem for us&rdquo; and &ldquo;doing everything they can to make the DMA fail&rdquo;.<\/p><p>[&#8230;]<\/p><p>Apple claims repeatedly, if you don&rsquo;t like their app store, don&rsquo;t use it. You can use the web and web apps to reach your customers.<\/p><p>They say this, while at the same time preventing this from happening by not providing the tools needed in their own browser and blocking other browsers from providing them.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/01\/29\/platform-tilt\/\">Platform Tilt<\/a><\/li>\n<\/ul>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2024-02-14\">Update (2024-02-14): See also: <a href=\"https:\/\/news.ycombinator.com\/item?id=39140152\">Hacker News<\/a>.<\/p>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/02\/09\/ios-17-4-changes-pwas-to-shortcuts-in-eu\/\">iOS 17.4 Changes PWAs to Shortcuts in EU<\/a><\/li>\n<\/ul>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2024-05-17\">Update (2024-05-17): <a href=\"https:\/\/www.theregister.com\/2024\/05\/17\/apple_browser_eu\/\">Thomas Claburn<\/a> (<a href=\"https:\/\/www.macrumors.com\/2024\/05\/17\/third-party-browser-engine-testing-geofenced-to-eu\/\">MacRumors<\/a>):<\/p>\n<blockquote cite=\"https:\/\/www.theregister.com\/2024\/05\/17\/apple_browser_eu\/\"><p><em>The Register<\/em> has learned from those involved in the browser trade that Apple has limited the development and testing of third-party browser engines to devices physically located in the EU. That requirement adds an additional barrier to anyone planning to develop and support a browser with an alternative engine in the EU.<\/p><p>It effectively geofences the development team. Browser-makers whose dev teams are located in the US will only be able to work on simulators. While some testing can be done in a simulator, there&rsquo;s no substitute for testing on device &#x2013; which means developers will have to work within Apple&rsquo;s prescribed geographical boundary.<\/p><p>[&#8230;]<\/p><p>&ldquo;The contract terms are bonkers and almost no vendor I&rsquo;m aware of will agree to them,&rdquo; lamented one industry veteran familiar with the making of browsers in response to an inquiry from <em>The Register<\/em>.<\/p><p>&ldquo;Even folks that may have signed something to be able to prototype can&rsquo;t ship under the constraints Apple&rsquo;s trying to impose. They&rsquo;re so broad and sweeping as to try to duck most of the DMA by contract &#8230; which is certainly bold.&rdquo;<\/p><\/blockquote>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2024-05-20\">Update (2024-05-20): See also: <a href=\"https:\/\/news.ycombinator.com\/item?id=40406576\">Hacker News<\/a>.<\/p>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2024-06-19\">Update (2024-06-19): <a href=\"https:\/\/daringfireball.net\/linked\/2024\/06\/18\/utm-notarization\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/linked\/2024\/06\/18\/utm-notarization\">\n<p>Now that over four months have passed since Apple announced its initial DMA compliance plans, have any browser developer announced plans to bring their own rendering engines to iOS in the EU? As far as I know the answer is no. It&rsquo;s entirely possible Apple went to all the trouble of creating BrowserEngineKit for compliance with the DMA, but no one is actually going to use it because no browser developer deems the EU market worth forking their browser for, solely for distribution outside the App Store.<\/p>\n<\/blockquote>\n\n<p id=\"dma-compliance-alternative-browser-engines-update-2025-11-25\">Update (<a href=\"#dma-compliance-alternative-browser-engines-update-2025-11-25\">2025-11-25<\/a>): <a href=\"https:\/\/daringfireball.net\/2025\/11\/apple_eu_dma_iphone_accessories_wi-fi_sync\/\">John Gruber<\/a>:<\/p>\n<blockquote cite=\"https:\/\/daringfireball.net\/2025\/11\/apple_eu_dma_iphone_accessories_wi-fi_sync\/\">\n<p>It&rsquo;s worth remembering that one of the initial DMA mandates the EU issued to Apple was that iOS must support third-party web browser rendering engines, and to comply with this, Apple spent significant (and I suspect that&rsquo;s a vast understatement) engineering resources to create the <a href=\"https:\/\/developer.apple.com\/support\/alternative-browser-engines\/\">BrowserEngineKit and BrowserEngineCore<\/a> frameworks, and here we are at the end of 2025, <a href=\"https:\/\/mastodon.social\/@stroughtonsmith\/111820566793853249\">nearly two years after Apple shipped those frameworks<\/a>, and there are exactly zero browsers on iOS using alternative rendering engines. Zero. These frameworks might be the largest set of APIs ever created that never get used. I wouldn&rsquo;t be surprised if the new Wi-Fi Infrastructure framework sees the same fate.<\/p>\n<\/blockquote>\n<p>I don&rsquo;t think this is about the demand for browser engines so much as the combination of the limited market for deployment (so there would have to be two separate code bases) and the fact that Apple requires that the engineers be physically located within the EU.<\/p>","protected":false},"excerpt":{"rendered":"<p>Apple: The coming changes to iOS in the EU include: [&#8230;] New frameworks and APIs for alternative browser engines &mdash; enabling developers to use browser engines, other than WebKit, for browser apps and apps with in-app browsing experiences. Apple: To use an alternative browser engine in your app, you&rsquo;ll need to request the Web Browser [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2024-01-26T16:48:03Z","apple_news_api_id":"1c606fb6-ea25-4106-9de1-c6864f0fcdda","apple_news_api_modified_at":"2025-11-25T18:27:14Z","apple_news_api_revision":"AAAAAAAAAAAAAAAAAAAADA==","apple_news_api_share_url":"https:\/\/apple.news\/AHGBvtuolQQad4caGTw_N2g","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[2],"tags":[2085,411,1337,2873,412,2570,2518,1927,279,31,2321,817,1458,96,328],"class_list":["post-41880","post","type-post","status-publish","format-standard","hentry","category-technology","tag-antitrust","tag-blink","tag-brave","tag-browserenginekit","tag-chromium","tag-digital-markets-act-dma","tag-entitlements","tag-european-union","tag-firefox","tag-ios","tag-ios-17","tag-just-in-time-compilation-jit","tag-microsoft-edge","tag-web","tag-webkit"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/41880","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=41880"}],"version-history":[{"count":15,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/41880\/revisions"}],"predecessor-version":[{"id":50182,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/41880\/revisions\/50182"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=41880"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=41880"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=41880"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}