{"id":49994,"date":"2025-11-10T15:08:34","date_gmt":"2025-11-10T20:08:34","guid":{"rendered":"https:\/\/mjtsai.com\/blog\/?p=49994"},"modified":"2025-11-10T15:08:34","modified_gmt":"2025-11-10T20:08:34","slug":"fsf-eu-notarization-complaint","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2025\/11\/10\/fsf-eu-notarization-complaint\/","title":{"rendered":"FSF EU Notarization Complaint"},"content":{"rendered":"<p><a href=\"https:\/\/fsfe.org\/news\/2025\/news-20251105-01.en.html\">Free Software Foundation Europe<\/a> (via <a href=\"https:\/\/news.ycombinator.com\/item?id=45854441\">Hacker News<\/a>):<\/p>\n<blockquote cite=\"https:\/\/fsfe.org\/news\/2025\/news-20251105-01.en.html\"><p>The EU&rsquo;s <a href=\"https:\/\/fsfe.org\/activities\/dma\/dma\"><strong>Digital\nMarkets Act (DMA)<\/strong><\/a> aims for a structural reset of\npower in digital markets, a shift from corporate control toward\n<strong>device neutrality<\/strong>, where users decide\nwhat runs on their devices. For Free Software, this legislation can be a\nunique opportunity by finally opening closed ecosystems - like iOS - to\nFree Software alternatives. Apple has reacted aggressively against the\nDMA, <a href=\"https:\/\/fsfe.org\/activities\/apple-litigation\/apple-litigation.en.html\">litigating\nagainst regulators<\/a>, and <a href=\"https:\/\/download.fsfe.org\/campaigns\/device-neutrality\/202404-FSFE-apple-report-EC.pdf\">unfairly\nexcluding Free Software from iOS and iPadOS<\/a> by blocking the\nunfettered installation of software (sideloading), prohibiting\nalternative app stores, and hindering interoperability.<\/p><p>[&#8230;]<\/p><p>Apple&rsquo;s <a href=\"https:\/\/developer.apple.com\/distribute\/app-review\/\">complete\nreview of apps<\/a> &#x2013; known as <strong>&ldquo;notarisation&rdquo; process<\/strong> -\na mandatory step for distributing any software on its\nplatforms, represents the very gatekeeping behaviour the DMA was written\nto prevent.<\/p><p>Notarisation forces all apps, even those distributed outside Apple&rsquo;s App Store, to be submitted to Apple&rsquo;s servers for scanning,\napproval, and cryptographic re-signing before installation. The result\nis that Apple retains full control over what software users can install\nand how developers can distribute it. This transforms Apple&rsquo;s\nself-appointed &ldquo;security review&rdquo; into a choke-point of power, locking in\ndevelopers and users into the company&rsquo;s proprietary ecosystem.<\/p><p>[&#8230;]<\/p><p>The alternative to\nApple&rsquo;s notarisation already exists, and it works.\n<strong>Decentralised curation<\/strong>, as practised\nby repositories like <a href=\"https:\/\/f-droid.org\/en\/\"><strong>F-Droid<\/strong><\/a>,\nshows that security and software freedom coexist inherently. Instead of\nconcentrating trust in a single private authority, decentralised systems\ndistribute it: through transparent verification pipelines, reproducible\nbuilds, and community audits. Users choose whom to trust, and curators\nare accountable to the public, not to corporate shareholders. This model\nembodies the DMA&rsquo;s vision of interoperability and openness far better\nthan Apple&rsquo;s notarisation.<\/p><\/blockquote>\n\n<p>I continue to have problems with even the automated notarization for Mac apps. Seemingly every other build these days, I get an error like this:<\/p>\n<pre>[15:16:58.729Z] Warning [KEYCHAIN] Couldn't find keychain item matching [\"r_Attributes\": true, \"acct\": \"com.apple.gke.notary.tool.saved-creds.AppleNotaryProfile\", \"sync\": \"syna\", \"labl\": \"com.apple.gke.notary.tool\", \"class\": genp, \"m_Limit\": m_LimitOne, \"r_Data\": true]. An error occurred while accessing the keychain. The specified item could not be found in the keychain.\n[15:16:58.729Z] Info [KEYCHAIN] No Keychain password item found for: AppleNotaryProfile\nError: No Keychain password item found for profile: AppleNotaryProfile\n<\/pre>\n\n<p>The first few times, I would run <code>notarytool store-credentials<\/code> to fix this, but I later found that the item really is still in the keychain, and if I keep retrying the notarization it will eventually work. So, aside from the broader policy question, the reality on the ground is that notarization was introduced more than 7 years ago (with macOS 10.14) and it still adds friction and <a href=\"https:\/\/mastodon.social\/@tonyarnold\/115507399006776330\">unreliability<\/a> to the development process.<\/p>\n\n<p><a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/07\/ios-26-2-app-marketplaces-and-browser-choice-in-japan\/#comment-4328402\">Hammer<\/a>:<\/p>\n<blockquote cite=\"https:\/\/mjtsai.com\/blog\/2025\/11\/07\/ios-26-2-app-marketplaces-and-browser-choice-in-japan\/#comment-4328402\"><p>We need to push a phrase like &ldquo;freely installed apps&rdquo;. Don&rsquo;t use their terms. When Apple talks &ldquo;sideloading&rdquo; correct the record &ldquo;I don&rsquo;t want sideloading from the App Store either, I want freely installed apps from anywhere&rdquo;.<\/p><p>[&#8230;]<\/p><p>At this rate I think we&rsquo;re all going to end up using Steve Jobs&rsquo;s original &ldquo;sweet solution&rdquo; to break free.<\/p><\/blockquote>\n\n<p>Previously:<\/p>\n<ul>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/11\/07\/ios-26-2-app-marketplaces-and-browser-choice-in-japan\/\">iOS 26.2: App Marketplaces and Browser Choice in Japan<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/09\/02\/google-to-require-developer-verification-for-android-sideloading\/\">Google to Require Developer Verification for Android Sideloading<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2025\/01\/17\/apples-dma-compliance-criticized\/\">Apple&rsquo;s DMA Compliance Criticized<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/11\/26\/mini-vmac-for-ios-rejected-via-notarization\/\">Mini vMac for iOS Rejected via Notarization<\/a><\/li>\n<li><a href=\"https:\/\/mjtsai.com\/blog\/2024\/03\/17\/ios-notarizations-human-review\/\">iOS Notarization&rsquo;s Human Review<\/a><\/li>\n<\/ul>","protected":false},"excerpt":{"rendered":"<p>Free Software Foundation Europe (via Hacker News): The EU&rsquo;s Digital Markets Act (DMA) aims for a structural reset of power in digital markets, a shift from corporate control toward device neutrality, where users decide what runs on their devices. For Free Software, this legislation can be a unique opportunity by finally opening closed ecosystems - [&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":"2025-11-10T20:08:39Z","apple_news_api_id":"c74f583e-2e6f-4536-ac0e-86427f448c40","apple_news_api_modified_at":"2025-11-10T20:08:39Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/Ax09YPi5vRTasDoZCf0SMQA","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,2542,2570,31,2741,1583,1842,71,2132,2569],"class_list":["post-49994","post","type-post","status-publish","format-standard","hentry","category-technology","tag-antitrust","tag-app-marketplaces","tag-digital-markets-act-dma","tag-ios","tag-ios-26","tag-keychain","tag-notarization","tag-programming","tag-sideloading","tag-web-distribution-of-ios-apps"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/49994","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=49994"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/49994\/revisions"}],"predecessor-version":[{"id":49995,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/49994\/revisions\/49995"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=49994"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=49994"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=49994"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}