How to Load Unsigned Extensions in Safari

This article explains how software engineers can test unverified extensions in the Safari web browser using the "Allow Unsigned Extensions" setting. It covers the steps required to reveal Safari's hidden developer options, how to enable the specific setting for temporary testing, and the security limitations that cause the setting to reset after closing the browser.

The specific developer setting that allows engineers to load unsigned extensions into Safari is called Allow Unsigned Extensions. Because Apple enforces strict security policies requiring extensions to be signed with an Apple Developer certificate, this setting is disabled and hidden by default.

To access and enable this setting for local testing, follow these steps:

1. Enable Developer Features Before you can allow unsigned extensions, you must make Safari's developer tools visible.

  • Open the Safari browser.
  • Click Safari in the top menu bar and select Settings (or Preferences on older macOS versions).
  • Navigate to the Advanced tab.
  • At the bottom of the window, check the box next to Show features for web developers (or Show Develop menu in menu bar on older versions of Safari).

2. Turn on Allow Unsigned Extensions Once developer features are active, you can enable the setting using one of two methods, depending on your version of Safari:

  • Via the Menu Bar (All Safari Versions): Click Develop in the top menu bar, then click Allow Unsigned Extensions from the dropdown menu.
  • Via the Settings Window (Safari 17 and later): Open Safari Settings, click the Developer tab, and check the box for Allow Unsigned Extensions.

3. Authenticate the Change Because loading unsigned code poses a security risk, macOS will prompt you to verify the action. Enter your Mac's administrator username and password, or use Touch ID, to confirm.

4. Activate the Extension After the setting is enabled, go to Safari Settings and select the Extensions tab. Your unsigned extension will now appear in the list. Check the box next to the extension to activate it for your testing session.

Important Limitation The Allow Unsigned Extensions setting is strictly temporary. For security purposes, Safari automatically disables this setting every time you quit the browser. When you reopen Safari, your unsigned extensions will be deactivated, and you will need to re-enable the setting and authenticate again to resume testing.