Microsoft Edge allow-insecure-localhost flag removed in Version 88.0.705.50

The Curious Case of the Missing "Allow Insecure Localhost" Flag in Microsoft Edge

If you're a web developer, you've likely encountered the need to test your applications on localhost using HTTPS with self-signed certificates. These certificates are, by default, not trusted by browsers, which can lead to frustrating security warnings. To bypass this during development, Microsoft Edge (along with other Chromium-based browsers) historically offered a flag called #allow-insecure-localhost. However, users have reported its disappearance, causing headaches for developers. Let's delve into why this happened and explore the available workarounds.

The Vanishing Flag: What Happened to #allow-insecure-localhost?

The allow-insecure-localhost flag allowed developers to bypass SSL certificate checks for localhost, streamlining the development process. In early versions of Microsoft Edge, navigating to edge://flags/#allow-insecure-localhost would reveal this option, allowing you to enable insecure SSL certificates for local development.

However, as Microsoft Edge evolved, this flag became subject to changes. Specifically, in Edge version 88.0.705.50, many users reported the flag's disappearance. This was due to an intentional expiration of the flag, although it was later re-enabled in subsequent versions after user feedback.

The flag's lifecycle didn't end there. While it reappeared for a while, its long-term fate was sealed. The expiration date for the flag was eventually moved to version M130 of Chromium, the open-source project that forms the base of Microsoft Edge. As of Edge v134, the flag is permanently gone as M130 flags are expired.

Workarounds and Solutions: Trusting Localhost Again

So, what can you do now that the #allow-insecure-localhost flag is no longer a reliable solution? Here are several approaches:

  • Temporarily Unexpire Flags (for versions 119-133): This workaround involves enabling a different flag that temporarily re-enables expired flags.
    1. Go to edge://flags.
    2. Search for "Temporarily unexpire M130 flags" (or "M118" for Edge v119-120).
    3. Enable the flag.
    4. Restart the browser.
    5. Search for #allow-insecure-localhost again, enable it, and restart the browser.
  • Edge Policies (February 2025 / Edge version 133.0 and newer): This more permanent solution involves modifying Edge's policies.
    1. Use the SSLErrorOverrideAllowedForOrigins policy or the SSLErrorOverrideAllowed policy.
    2. These policies can be set in Intune or the registry.
    3. Setting SSLErrorOverrideAllowedForOrigins to ["https://localhost"] will trust localhost.
    4. Access Edge's policies by navigating to edge://policy.
    5. Refer to Microsoft Edge Policies Documentation for detailed instructions.

Alternative Browsers for Development

If managing flags or policies becomes too cumbersome, consider using a separate browser specifically for development purposes. Firefox, for example, offers more lenient handling of self-signed certificates and can be configured to trust them more easily. Maintaining a dedicated browser for development keeps your primary browser secure while allowing you to test your applications without constant security warnings.

Why This Matters: Security vs. Developer Convenience

The removal (and re-introduction, and eventual removal) of the #allow-insecure-localhost flag highlights the tension between security and developer convenience. While disabling SSL certificate checks for localhost streamlines development, it also presents a potential security risk if not handled carefully. Browser vendors must balance these competing concerns.

Staying Updated

Browser development is a constantly evolving landscape. Flags come and go, and security policies change. It's crucial to stay informed about the latest updates and best practices to ensure a smooth and secure development workflow. Regularly consulting developer forums, browser release notes, and security blogs will keep you ahead of the curve.

. . .