
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
    <channel>
        <title><![CDATA[ The Cloudflare Blog ]]></title>
        <description><![CDATA[ Get the latest news on how products at Cloudflare are built, technologies used, and join the teams helping to build a better Internet. ]]></description>
        <link>https://blog.cloudflare.com</link>
        <atom:link href="https://blog.cloudflare.com/" rel="self" type="application/rss+xml"/>
        <language>en-us</language>
        <image>
            <url>https://blog.cloudflare.com/favicon.png</url>
            <title>The Cloudflare Blog</title>
            <link>https://blog.cloudflare.com</link>
        </image>
        <lastBuildDate>Tue, 14 Apr 2026 15:34:51 GMT</lastBuildDate>
        <item>
            <title><![CDATA[Mind the gap: new tools for continuous enforcement from boot to login]]></title>
            <link>https://blog.cloudflare.com/mandatory-authentication-mfa/</link>
            <pubDate>Wed, 04 Mar 2026 14:00:00 GMT</pubDate>
            <description><![CDATA[ Cloudflare’s mandatory authentication and independent MFA protect organizations by ensuring continuous enforcement, from the moment a machine boots until sensitive resources are accessed. ]]></description>
            <content:encoded><![CDATA[ <p>One of our favorite ask-me-anything questions for company meetings or panels at security conferences is the classic: “What keeps you up at night?”</p><p>For a <a href="https://www.cloudflare.com/ciso/"><u>CISO</u></a>, that question is maybe a bit of a nightmare in itself. It does not have one single answer; it has dozens. It’s the constant tension between enabling a globally distributed workforce to do their best work, and ensuring that "best work" does not inadvertently open the door to a catastrophic breach.</p><p>We often talk about the "<a href="https://www.cloudflare.com/the-net/roadmap-zerotrust/"><u>zero trust journey</u></a>," but the reality is that the journey is almost certainly paved with friction. If security is too cumbersome, users find creative (and dangerous) ways around it. If it’s seamless at the cost of effectiveness, it might not be secure enough to stop a determined adversary.</p><p>Today, we are excited to announce two new tools in Cloudflare’s <a href="https://www.cloudflare.com/learning/access-management/what-is-sase/"><u>SASE</u></a> toolbox designed to modernize remote access by eliminating the "dark corners" of your network security without adding friction to the user experience: mandatory authentication and Cloudflare’s own <a href="https://www.cloudflare.com/learning/access-management/what-is-multi-factor-authentication/"><u>multi-factor authentication (MFA)</u></a>. </p>
    <div>
      <h2>Addressing the gap between installation and enforcement</h2>
      <a href="#addressing-the-gap-between-installation-and-enforcement">
        
      </a>
    </div>
    <p>When you deploy the Cloudflare One Client, you gain incredible visibility and control. You can apply policies for permitted destinations, define the Internet traffic that routes through Cloudflare, and set up traffic inspection at both the application and network layer. But there has always been a visibility challenge from when there is no user actually authenticated.</p><p>This gap occurs in two primary scenarios:</p><ol><li><p>A new device: Cloudflare One Client is installed via mobile device management (MDM), but the user has not authenticated yet.</p></li><li><p>Re-authentication grey zone: The session expires, and the user, either out of forgetfulness or a desire to bypass restrictions, does not log back in.</p></li></ol><p>In either case, the device is now unknown. This is dangerous. You lose visibility, and your security posture reverts to whatever the local machine allows.</p>
    <div>
      <h3>Introducing mandatory authentication</h3>
      <a href="#introducing-mandatory-authentication">
        
      </a>
    </div>
    <p>To close this loop, we are introducing <b>mandatory authentication</b>. When enabled via your MDM configuration, the Cloudflare One Client becomes the gatekeeper of Internet access from the moment the machine boots up.</p><p>If a user is not actively authenticated, the Cloudflare One client will:</p><ul><li><p>Block all Internet traffic by default using the system firewall.</p></li><li><p>Allow traffic from the device client’s authentication flow using a process-specific exception.</p></li><li><p>Prompt users to authenticate, guiding them through the process, so they don’t have to hunt for the right buttons.</p></li></ul><p>By making authentication a prerequisite for connectivity, you ensure that every managed device is accounted for, all the time.</p><p><i>Note: mandatory authentication will become available in our Cloudflare One client on Windows initially, with support for other platforms to follow. </i></p>
    <div>
      <h2>When one source of trust is not enough</h2>
      <a href="#when-one-source-of-trust-is-not-enough">
        
      </a>
    </div>
    <p>Most organizations have moved toward <a href="https://www.cloudflare.com/learning/access-management/what-is-sso/"><u>single sign-on (SSO)</u></a> as their primary security anchor. If you use Okta, Entra ID, or Google, you likely require MFA at the initial login. That’s a great start, but in a modern threat landscape, it is no longer the finish line.</p><p>The hard truth is that <a href="https://www.cloudflare.com/learning/access-management/what-is-an-identity-provider/"><u>identity providers (IdPs)</u></a> are high-value targets. If an attacker successfully compromises a user’s SSO session, perhaps through a sophisticated session hijacking or social engineering, they effectively hold the keys to every application behind that SSO.</p>
    <div>
      <h3>Cloudflare’s independent MFA: a secondary root of trust</h3>
      <a href="#cloudflares-independent-mfa-a-secondary-root-of-trust">
        
      </a>
    </div>
    <p>This is where Cloudflare’s MFA can help. Think of this as a "step-up MFA" that lives at the network edge, independent of your IdP.</p><p>By remaining separate from your IdP, this introduces another authority that has to “sign off” on any user trying to access a protected resource. That means even if your primary IdP credentials are compromised or spoofed, an attacker will hit a wall when trying to access something like your production database—because they do not have access to the second factor.</p><p><a href="https://www.cloudflare.com/zero-trust/products/access/"><u>Cloudflare Access</u></a> will offer a few different means of providing MFA:</p><ul><li><p>Biometrics (i.e., Windows Hello, Apple Touch ID, and Apple Face ID)</p></li><li><p>Security key (WebAuthn and FIDO2 as well as PIV for SSH with Access for Infrastructure)</p></li><li><p>Time-based one-time password (TOTP) through authenticator apps</p></li></ul><p>Administrators will have the flexibility to define how users must authenticate and how often. This can be configured not only at a global level (i.e., establish mandatory MFA for all Access applications), but also with more granular controls for specific applications or policies. For example, your organization may decide to allow lower assurance MFA methods for chat apps, but require a security key for access to source code.</p><p>Or, you could enforce strong MFA to sensitive resources for third-parties like contractors, who otherwise may use a personal email or social identity like LinkedIn. You can also easily add modern MFA methods to legacy apps that don’t otherwise support it natively, without touching a line of code.</p><p>End users will be able to enroll an MFA device easily through their <a href="https://developers.cloudflare.com/cloudflare-one/access-controls/access-settings/app-launcher/"><u>App Launcher</u></a>.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/soh6QIt80EoRsWAaTKLIc/9398094837a2ef71025f012f28ffbd2e/image2.jpg" />
          </figure><p><sup><i>Example of what customizing MFA settings for an Access policy may look like. Note: This is a mockup and may change.</i></sup></p><p>Cloudflare’s independent MFA is in closed beta with new customers being onboarded each week. You can <a href="https://www.cloudflare.com/lp/access-independent-mfa"><u>request access here</u></a> to try out this new feature!</p>
    <div>
      <h3>Helping CISOs sleep at night</h3>
      <a href="#helping-cisos-sleep-at-night">
        
      </a>
    </div>
    <p>Security is often a game of "closing the loop." By ensuring that devices are registered and authenticated before they can touch the open Internet and by requiring an independent second layer of verification for your most precious assets, we are making the "blast radius" of a potential attack significantly smaller.</p><p>These features don't just add security; they add certainty. Certainty that your policies are being enforced and certainty that a single compromised password won't lead to a total breach.</p><p>We are moving beyond simple access control and into a world of continuous, automated posture enforcement. And we’re just getting started.</p><p>Ready to lock down your fleet? You can <a href="https://dash.cloudflare.com/sign-up/zero-trust"><u>get started today</u></a> with Cloudflare One for free for up to 50 users. </p><p>We’re excited to see how you use these tools to harden your perimeter and simplify your users’ day-to-day workflows. As always, we’d love to hear your feedback! Join us in the <a href="https://community.cloudflare.com/"><u>Cloudflare Community</u></a> or reach out to your account team to share your thoughts.</p> ]]></content:encoded>
            <category><![CDATA[Cloudflare Zero Trust]]></category>
            <category><![CDATA[Cloudflare One]]></category>
            <category><![CDATA[Cloudflare Access]]></category>
            <category><![CDATA[Access]]></category>
            <category><![CDATA[Zero Trust]]></category>
            <category><![CDATA[WARP]]></category>
            <guid isPermaLink="false">KiwO7JTmCDekuq75t4Jf4</guid>
            <dc:creator>Alex Holland</dc:creator>
            <dc:creator>Shahed El Baba</dc:creator>
            <dc:creator>Yi Huang</dc:creator>
            <dc:creator>Rhett Griggs</dc:creator>
        </item>
        <item>
            <title><![CDATA[Moving from license plates to badges: the Gateway Authorization Proxy]]></title>
            <link>https://blog.cloudflare.com/gateway-authorization-proxy-identity-aware-policies/</link>
            <pubDate>Wed, 04 Mar 2026 06:00:00 GMT</pubDate>
            <description><![CDATA[ Cloudflare’s Gateway Authorization Proxy adds support for identity-aware policies for clientless devices, securing virtual desktops, and guest networks without a device client. ]]></description>
            <content:encoded><![CDATA[ <p>We often talk about the "ideal" state, one where every device has a managed client like the <a href="https://developers.cloudflare.com/cloudflare-one/team-and-resources/devices/warp/"><u>Cloudflare One Client</u></a> installed, providing deep visibility and seamless protection. However, reality often gets in the way.</p><p>Sometimes you are dealing with a company acquisition, managing virtual desktops, or working in a highly regulated environment where you simply cannot install software on an endpoint. You still need to protect that traffic, even when you don’t fully manage the device.</p><p>Closing this gap requires moving the identity challenge from the device to the network itself. By combining the browser’s native proxy capabilities with our global network, we can verify users and enforce granular policies on any device that can reach the Internet. We’ve built the <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/"><u>Gateway Authorization Proxy</u></a> and <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/best-practices/"><u>Proxy Auto-Configuration (PAC) File Hosting</u></a> to automate this authentication and simplify how unmanaged devices connect to Cloudflare.</p>
    <div>
      <h3><b>The problem: sometimes IP addresses aren't enough</b></h3>
      <a href="#the-problem-sometimes-ip-addresses-arent-enough">
        
      </a>
    </div>
    <p>Back in 2022, we released <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/#source-ip-endpoint"><u>proxy endpoints</u></a> that allowed you to route traffic through Cloudflare to apply filtering rules. It solved the immediate need for access, but it had a significant "identity crisis."</p><p>Because that system relied on static IP addresses to identify users, it was a bit like a security guard who only recognizes cars, not the people inside them. If a car (a specific IP) showed up, it was let in. But if the driver switched cars or worked from a different location, the guard got confused. This created a few major headaches:</p><ul><li><p><b>Anonymous Logs:</b> We knew the IP address, but we didn’t know the person.</p></li><li><p><b>Brittle Policies:</b> If a user moved to a new home or office, the endpoint broke or required an update.</p></li><li><p><b>Manual Maintenance:</b> You had to host your own PAC file (the "GPS" that tells your browser where the proxy is) — one more thing for your team to manage.</p></li></ul>
    <div>
      <h3><b>The solution: the Authorization Proxy</b></h3>
      <a href="#the-solution-the-authorization-proxy">
        
      </a>
    </div>
    
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4keaUmegcmKUc2WxgcbTym/50b4a5fd446a7ad5a3bd0e12d2d2fb8d/image2.png" />
          </figure><p><i>Authorization proxy Access policy setup page</i></p><p>The new <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/"><u>Gateway Authorization Proxy</u></a> adds a "badge reader" at the entrance. Instead of just looking at where the traffic is coming from, we now use a Cloudflare Access-style login to verify who the user is, before enforcing Gateway filtering.</p><p>Think of this as moving from a guest list based on license plates, to a system where everyone has their own badge. This brings several massive benefits:</p><ul><li><p><b>True identity integration:</b> Your logs related to proxy endpoints now show exactly which user is accessing which site. You can write specific rules like "only the Finance team can access this accounting tool," even without a client installed on the device.</p></li><li><p><b>Multiple identity providers:</b> This is a superpower for large companies or those undergoing M&amp;A. You can choose which identity providers to show your users. You can display one or multiple login methods (like Okta and Azure AD) at the same time. This is a level of flexibility that competitors don't currently offer.</p></li><li><p><b>Simplified billing:</b> Each user simply occupies a "seat," exactly like they do with the Cloudflare One Client. There are no complicated new metrics to track.</p></li></ul><p>To make this possible, we had to overcome the technical hurdle of associating a user’s identity with every request, and without a device client. Read on to see how it works.</p>
    <div>
      <h3><b>How Authorization Proxy tracks identity</b></h3>
      <a href="#how-authorization-proxy-tracks-identity">
        
      </a>
    </div>
    <p>The Authorization Proxy uses signed JWT cookies to maintain identity, but there's a catch: when you first visit a new domain through the proxy, there's no cookie yet. Think of it like showing your badge at each new building you enter.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4ImFMDkJWfn6lAva3NtTzg/82d646b89e851e0826493e2a71f7c8fc/image3.png" />
          </figure><p>The flowchart above illustrates exactly how this authentication process works:</p><ul><li><p><b>First visit to a domain</b>: When you navigate to a new domain, the Gateway Authorization Proxy checks if a domain identity cookie is present. If not, you're redirected to Cloudflare Access, which then checks for an existing Cloudflare Access identity cookie. If you're already authenticated with Cloudflare Access, we generate a secure token specifically for that domain. If you're not, we redirect you to login with your identity provider(s).</p></li><li><p><b>Invisible to users</b>: This entire process happens in milliseconds thanks to Cloudflare's global edge network. The redirect is so fast that users don't notice it — they simply see their page load normally.</p></li><li><p><b>Repeat visits are instant</b>: Once the cookie is set, all subsequent requests to that domain (and its subdomains) are immediately authorized. No more redirects needed.</p></li></ul><p>Because of this approach, we can log and filter traffic per person across all domains they access, and revoke access in an instant when needed — all without requiring any software installation on the user's device.</p>
    <div>
      <h3><b>No more hosting your own PAC files</b></h3>
      <a href="#no-more-hosting-your-own-pac-files">
        
      </a>
    </div>
    <p>We are also taking the "homework" out of the setup process. You can now host your PAC files directly on Cloudflare, using <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/best-practices/"><u>Proxy Auto-Configuration (PAC) File Hosting</u></a>.</p>
          <figure>
          <img src="https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4KnkVcR1Kq6BbFxPbLezRO/89c6a69adc62105b9c9344c24df69a36/image4.png" />
          </figure><p><i>PAC file configuration page</i></p><p>To make it easy, we have included starter templates to get you up and running in minutes. We have also integrated our AI assistant, Cloudy, to provide summaries that help you understand exactly what your PAC file is doing, without having to read through lines of code.</p>
    <div>
      <h3><b>Is this right for your team?</b></h3>
      <a href="#is-this-right-for-your-team">
        
      </a>
    </div>
    <p>While we still recommend the Cloudflare One Client for greater control and the best user experience, the Auth Proxy is the perfect fit for specific scenarios:</p><ul><li><p><b>Virtual desktops (VDI):</b> Environments where users log into a virtual machine and use a browser to reach the Internet.</p></li><li><p><b>Mergers and acquisitions:</b> When you need to bring two different companies under one security umbrella quickly.</p></li><li><p><b>Compliance constraints:</b> When you are legally or technically prohibited from installing software on an endpoint.</p></li></ul>
    <div>
      <h3><b>What’s next?</b></h3>
      <a href="#whats-next">
        
      </a>
    </div>
    <p>This expands our clientless security options to connect to Cloudflare One, and we are already working on expanding our supported identity methods related to Authorization Endpoints. Look out for Kerberos, mTLS, and traditional username/password authentication to give you even more flexibility in how you authenticate your users.</p><p>The <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/#authorization-endpoint"><u>Gateway Authorization Proxy</u></a> and <a href="https://developers.cloudflare.com/cloudflare-one/networks/resolvers-and-proxies/proxy-endpoints/best-practices/"><u>PAC File Hosting</u></a> are available in open beta today for all account types. You can get started by going to the "Resolvers and Proxies" section of your Cloudflare dashboard.</p> ]]></content:encoded>
            <category><![CDATA[SASE]]></category>
            <category><![CDATA[Secure Web Gateway]]></category>
            <category><![CDATA[Cloudflare Gateway]]></category>
            <category><![CDATA[Cloudflare Zero Trust]]></category>
            <category><![CDATA[Cloudflare One]]></category>
            <guid isPermaLink="false">2K6ieiC5putSKvW7Jg65kR</guid>
            <dc:creator>Ankur Aggarwal</dc:creator>
            <dc:creator>Alex Holland</dc:creator>
        </item>
    </channel>
</rss>