Use case · Zero Trust

Cloudflare AccessWARPPer-app

ZTNA solutions: replacing VPN without breaking user access

Zero trust network access swaps the network tunnel for per-application, identity-checked connections: nobody gets a slice of your network, just the one app they're cleared for, verified continuously. The hard part isn't the definition. It's migrating 2,000 people off a decade-old VPN without breaking access on a Tuesday morning.

The shift

Before · VPN

Network-wide access

One login hands out a slice of the network for the whole session, and one concentrator everyone shares as a single failure domain.

After · ZTNA

Per-app, per-user

This person, on this managed device, gets exactly one app, verified continuously, over an outbound-only tunnel that exposes no inbound port.

One broken app doesn't take down access to the other forty.

TL;DR

ZTNA, or zero trust network access, replaces the VPN tunnel with per-application, identity-checked connections: nobody gets a slice of your network anymore, they get exactly the one app they're cleared for, verified continuously rather than just at login. That is the definition, and it is enough to work from. What comes after it is the hard part: migrating off a decade-old VPN without breaking access for 2,000 employees on a Tuesday morning. This page covers who ZTNA is actually for, the architecture choices, the readiness audit, the rollout sequencing, and how Brixio runs it as managed secure remote access on Cloudflare One across EMEA and APAC once it's live.

Evaluating ZTNA for the first time? See the bigger picture in our SASE & Zero Trust solutions overview. If you are still weighing SASE vs ZTNA, start there: ZTNA is a component of that architecture, not an alternative to it. This page is the how: the VPN-to-ZTNA migration playbook.

Gartner

70%

of new remote-access deployments run on ZTNA by 2025, up from under 10% in 2021

Anycast edge

330+

Cloudflare cities routing users to the nearest PoP instead of one VPN concentrator

Verification

Per request

identity and device posture checked continuously, not once at login

Parallel run

60–90 d

VPN and ZTNA coexistence window before you decommission

Interactive · ZTNA migration planner

How long will your VPN-to-ZTNA migration take?

The biggest blocker isn't the license cost, it's the fear of the project. Configure your current setup and get a phased roadmap that proves the cutover happens smoothly, with no company-wide outage.

500
10weeks
Recommended architectureService-initiated (cloudflared) for web apps

Your phased deployment plan

Phase 1 Audit & posture baseline Weeks 1–2

Map real application flows and clean up identity (IdP) groups before writing a single Access policy.

Phase 2 Pilot group & web apps Weeks 3–5

Migrate one low-risk group, IT itself, on simple web apps: wikis, dashboards, internal tools.

Phase 3 Global rollout & legacy Weeks 6–9

Roll out the WARP agent across the fleet and route complex apps (ERP, SSH). The VPN stays live in parallel, no forced cutover.

Phase 4 VPN decommissioning Week 10

Retire the concentrator once ZTNA adoption clears 90% and migration-tied tickets drop to baseline.

Keep your VPN running in parallel during cutover. Build your plan with an authorized Cloudflare delivery partner.

Duration ≈ (8 base weeks + app-volume + legacy penalty + headcount) × team factor

  • An 8-week base covers a typical few-hundred-to-few-thousand-user migration.
  • App volume adds 0 to 4 weeks; a majority of legacy or non-HTTP apps adds 4 more, they need the WARP-to-Tunnel hybrid architecture.
  • Running the project on your own adds about 50% (audit and configuration take longer without Cloudflare expertise); a managed delivery trims it by about 15%.
  • Phase windows scale proportionally to the total, always keeping the VPN live in parallel until decommissioning.

Model based on Cloudflare ZTNA reference architecture and Brixio migration benchmarks.

01

VPN vs ZTNA

ZTNA vs VPN: what actually changes on day one?

Four things: latency, the login experience, how access is granted, and how much of your network is reachable from the internet. Skip the theory. Here is what zero trust remote access changes in practice, day one after cutover.

Four things your users and IT team feel immediately

The structural shift is from network-segment access to per-application, continuously-verified access.

DimensionWith a VPNWith ZTNA
Latency Backhauls traffic to one concentrator: Singapore users routed via Frankfurt. Anycast edge routes to the nearest of 330+ cities
User experience Login once, broad access all session; manual reconnect after sleep or Wi-Fi handoff. WARP runs in the background, verifies continuously, no reconnect
Access management Granted per network segment: “sales gets subnet X.” Per app, per user, per device posture: one app, nothing else
Attack surface Public IP accepts inbound: shows up in Shodan scans and CVE advisories every year. Outbound-only tunnel, no inbound port, app invisible without a session

Why the per-app model is the real shift

  • A VPN puts an authenticated user on a network segment, not a single app: if the account is compromised, the attacker gets a map, not just a foothold.
  • Per-app policy makes access reviews possible: you stop managing subnets and start managing who reaches what, and you finally find the twelve people with access to a finance server nobody remembers granting.
  • Per-app tunnels don't share a failure domain: one broken app doesn't take down access to the other forty, unlike a single VPN concentrator that fails badly, all at once, for everyone.

This sits inside a broader SASE and Zero Trust architecture: identity-driven policy, secure edge and continuous verification working as one plane, not four bolt-on tools. The same identity groups that gate application access can drive data loss prevention policy too, controlling not just who reaches an app but what data can leave it. Pair it with continuous DDoS protection to defend the network layer the same way. Regulated teams get a second benefit from the same mechanism: per-app policy and continuous access reviews produce the access-control evidence a NIS2 audit asks for, instead of a subnet diagram.

02

Who it's for

Who needs ZTNA, and for which access problem?

Contractors, unmanaged devices, mergers and legacy non-HTTP applications, mostly. ZTNA earns its keep where a VPN is structurally the wrong tool, not everywhere someone works remotely. These four account for most of the migrations we run.

01

Contractors and third-party access

External teams need one application for the length of an engagement, not a subnet for as long as nobody revokes it. Per-app grants expire with the project, and the review that follows reads as a list of applications rather than a list of network ranges.

02

BYOD and unmanaged devices

Device posture becomes a policy input instead of a trust assumption: patch level, disk encryption and MDM enrollment are checked per request. A personal laptop can reach the wiki and nothing else, without an agent-heavy lockdown.

03

Mergers and acquisitions

Two networks that were never meant to route to each other, and a deadline. ZTNA publishes the handful of applications each side actually needs without joining the networks, which is a fraction of the work of a routed interconnect.

04

Legacy and non-HTTP applications

An ERP module, a SCADA interface, a proprietary-TCP finance app. These are the applications that keep a VPN alive long after everything else has moved, and the reason the hybrid pattern below exists.

If none of these describe your environment, secure remote access over a VPN may still be adequate and the migration can wait. The argument gets strong when standing access, device diversity and non-HTTP applications are all in play at once.

03

The architecture

Which ZTNA architecture should you choose?

Service-initiated for web apps behind NAT, endpoint-initiated for RDP, SSH and legacy TCP. Everything else is a variant of those two. Secure remote access solutions come down to two patterns that cover almost every real deployment, plus identity and one hybrid case. Picking wrong means re-architecting six months in.

01

Service-initiated (connector)

A lightweight connector behind your app opens an outbound-only tunnel to the edge: no public IP, no inbound rule. Cloudflare's cloudflared is the reference. The right default for self-hosted web apps and internal tools behind NAT.

02

Endpoint-initiated (client)

A client agent builds an encrypted WireGuard tunnel from the device before any app traffic flows. Cloudflare WARP is this piece, the model you need for RDP, SSH and legacy TCP/UDP apps never built for a browser.

03

Identity integration

Neither pattern replaces your IdP, they sit in front of it. Cloudflare Access federates with Okta, Entra ID or Google Workspace and adds device posture as a second signal. Clean IdP groups make this fast; fix messy ones first.

04

The hybrid: legacy, non-HTTP apps

Every environment has one: an ERP module, a SCADA interface, a proprietary-TCP finance app. WARP-to-Tunnel handles it: endpoint client for transport, cloudflared for the private side, Access policy on top. Still zero trust, no VPN fallback.

05

What to ask a ZTNA provider

Whether you shortlist ZTNA vendors or run it in-house, four questions separate a product from an operated service: who writes and maintains the policies? who triages an anomalous access attempt at 2am? how are legacy non-HTTP applications handled? and what happens to the VPN during the parallel run? Most ZTNA providers answer the first and stop there.

04

The readiness audit

What do you audit before a ZTNA rollout? Apps and users first.

Four things: which apps each group really uses, which of them speak HTTP, who holds standing access, and your device posture baseline. The biggest cause of a botched migration isn't the technology, it's starting without knowing what you have. Before writing a single Access policy, get answers to these:

What apps does each group actually use?

Not what the org chart implies, what people log into day to day. VPN logs rarely show this cleanly, since most configs grant subnet-wide access regardless of real usage.

Which apps are HTTP, and which aren't?

This decides whether an app needs Access (browser-based) or a WARP+Tunnel hybrid (legacy protocol). Get it wrong and you re-architect mid-rollout.

Often the case for the whole migration

Who has standing access that shouldn't?

Contractors from a project that ended in 2023. Former staff whose VPN account never got revoked. This audit alone usually makes the argument for the whole migration.

What's your device posture baseline?

Managed vs BYOD, patch levels, whether MDM is even enrolled: ZTNA policy needs this as an input, not an afterthought.

Get these answers before writing a single policy: our team runs this app-and-access audit with you and hands back a prioritized rollout plan instead of a blank page. It's the fastest way to know what a realistic migration looks like for your environment.

05

The migration

How do you migrate from VPN to ZTNA without breaking user access?

In phases: by user group first, by application second, with the VPN running in parallel for 60 to 90 days. A VPN replacement is a change-management project before it is a networking one. Cutting an org from VPN to ZTNA in one weekend is how the helpdesk drowns by Monday 9am. Phased beats big-bang, every time we've run it.

Step 1

Sequence by group, not app

Start with a low-risk, high-tolerance group: IT itself, or a team comfortable with new tooling. Not the executive team, not finance, not anyone who'll escalate loudly if week one is slightly off.

Step 2

Then by app within the group

Move the simplest access patterns first, internal wikis, low-sensitivity dashboards, before anything tied to production systems or financial data.

Step 3

Run VPN and ZTNA in parallel

Don't decommission the VPN the day ZTNA goes live. Most successful migrations keep both for 60 to 90 days: a fallback for latecomers and breathing room to fix policy gaps in the field, not in a war room.

Step 4

Communicate the change, not just the tool

Users notice ZTNA even when it works perfectly: no more “connect to VPN” every morning. Tell them why before they ask, and give them a named channel for anything that breaks.

Step 5

Set a hard decommission date on metrics

Track adoption, device enrollment and migration-tied ticket volume. When tickets drop to baseline and adoption clears roughly 90%, that's your signal to retire the concentrator, not a date picked in advance on a project plan.

A phased rollout only works if someone owns it past go-live, which is why we run ZTNA as a managed service, not a one-time policy configuration.

06

The managed service

How does Brixio operate ZTNA day-to-day? 24/7 SOC, continuous access reviews.

We run ZTNA as a managed service, not a one-time policy configuration. In practice, that means:

Policies built per client

  • Zero Trust policies tuned to actual app usage and identity structure
  • Not a generic template applied to every environment we touch
  • Maintained as your apps and groups change, not set once

24/7 SOC, follow-the-sun

  • Monitoring across Luxembourg, Paris, Dubai and Singapore
  • An anomalous 2am access attempt is triaged live in another region
  • No alert waits for the next business day

Continuous access reviews

  • Stale grants, orphaned contractor accounts and posture drift caught on a standing cadence
  • Not an annual audit
  • A recurring review of who can reach what, not a one-time cleanup

Identity & posture kept current

  • New groups, offboarded staff and managed-device enrollments flow into policy
  • No manual re-sync as your IdP structure changes
  • Incident response tied straight into policy enforcement and the SOC workflow
How identity-verified access fits together

Every user and app connects through the Cloudflare One edge, verified by identity and device posture per request, with Brixio operating and tuning policy 24/7 on Brixio One.

Remote employeesManaged devices
Contractors / BYODPosture-checked
Legacy TCP appsWARP-to-Tunnel
Cloudflare One + Brixio One
AccessWARPcloudflaredSOC
One app, not the networkPer-app policy
No inbound portOrigin invisible
Continuous verifyEvery request

This runs on Brixio's standing security posture

Cloudflare

Authorized Service Delivery Partner (ASDP)

ISO 27001:2022

certified data handling

400+

delivered projects across EMEA & APAC

4 hubs

Luxembourg · Paris · Dubai · Singapore, follow-the-sun

This runs on top of Brixio's standing posture as a Cloudflare ASDP. The same follow-the-sun team runs our managed SOC on Cloudflare, which is where an anomalous access attempt gets triaged rather than queued. Talk to an expert to size a VPN-to-ZTNA migration against your own apps and identity structure.

The proof

What does ZTNA look like in production?

AviationCritical infrastructure

Case study: Major UAE airport operator

A legacy VPN gated every internal app across two international airports run by the same authority. Cloudflare Zero Trust unified three connectivity scenarios into one identity-based model, with zero internal apps still needing a VPN.

Read the full case study
0internal apps still requiring VPN access
3 → 1connectivity scenarios unified under one security model
2airports under one Zero Trust posture
100%employees, contractors and vendors on MFA + SSO
GovernmentRegulatory

Case study: Government asset-valuation platform

Internal apps, a regulator workforce and external auditors all sat behind a VPN. Per-application Cloudflare Tunnels and built-in OTP replaced it entirely, with no external identity provider to run.

Read the full case study
100%VPN eliminated, replaced by Zero Trust Access
6Cloudflare Tunnels, one per app for segmentation
0external IdP needed, built-in OTP instead
Fullaccess attempts and policy decisions logged
Higher educationLegacy replacement

Case study: Major public research university

A perimeter-based network couldn't secure an open campus, remote users and sensitive research data at once. A five-layer Zero Trust stack replaced the legacy perimeter with identity-based access, end to end.

Read the full case study
100%perimeter-based systems replaced by identity-based access
5 layersAccess, Gateway, WARP, CASB and DLP as one stack
Zerocloud blind spots, CASB sees every application
Fullcoverage across campus, remote and international users
1 / 3

From the field

Answers from our engineers.

Straight from the analysts who architect and run VPN-to-ZTNA migrations on client environments every day.

Brixio SOC · Managed Zero Trust

Access & identity engineering

The most common surprise in a VPN access review?

Standing access nobody can explain. Every review turns up contractors from a project that ended two years ago and a handful of people with reach into a finance server no one remembers granting. VPN grants access per subnet, so it accumulates silently: the review that precedes a ZTNA migration is usually the first time anyone has actually looked.

What convinces a CFO to fund the migration?

Not the security slide, the failure-mode one. A VPN concentrator fails badly, all at once, for everyone, usually during a launch or an office move, and its licenses scale with headcount. Per-app tunnels don't share a failure domain and the cost curve is flatter. Framed as removing a single point of failure that's also a recurring license bill, it stops being a security ask.

The riskiest step in a migration?

Decommissioning the VPN too early to “force” adoption. It doesn't speed anything up, it just converts a smooth cutover into an outage. We keep both running for 60 to 90 days and retire the concentrator on metrics: adoption past ninety percent and ticket volume back to baseline. A date picked in advance is a guess, not a signal.

Frequently asked

What teams ask us most.

For a mid-size organization (a few hundred to a few thousand users), a phased rollout typically runs 8 to 16 weeks from initial app audit to full cutover, plus a further 60 to 90 days of VPN/ZTNA coexistence before decommissioning. Smaller, simpler environments move faster; legacy non-HTTP apps or heavy regulatory constraints take longer. Plan accordingly rather than forcing a fixed date.
No, and trying to is the most common way these projects stall. Migrate by user group and app tier, starting with low-risk groups and simple web apps, then working toward production systems and legacy protocols once the pattern is proven. Partial ZTNA coverage alongside a shrinking VPN footprint is a normal, stable mid-project state, not a failure condition.
It keeps running, deliberately, as a fallback for users and apps not yet migrated. We don't recommend decommissioning until adoption metrics (device enrollment, ticket volume, active ZTNA sessions) confirm the cutover is holding under real usage, usually a 60 to 90 day parallel run. Cutting the VPN early to force adoption tends to produce outages, not faster migration.
In phases, sequenced by user group first and by application second. Audit which applications each group actually uses and which of them speak HTTP, publish the simple web apps to a low-risk group, keep the VPN running in parallel for 60 to 90 days, then retire the concentrator on adoption metrics rather than on a date fixed in advance. The migration section of this page sets out the full sequence.
Yes, through the endpoint-initiated pattern: a device client carries the transport and a connector fronts the private side, with access policy applied on top. Browser-based ZTNA covers web applications; anything speaking raw TCP or UDP needs the client. This is the single most common reason a VPN survives a migration that was declared finished.

Your migration, de-risked

Ready to plan your VPN-to-ZTNA migration?

Start with the migration planner above: configure your setup and get a phased roadmap in seconds. Then talk to an engineer to pressure-test it against your real apps and identity structure, with your VPN running in parallel until the cutover holds.

Talk to an expert

Your VPN-to-ZTNA migration, mapped to a phased rollout.

  1. Send a short noteA few lines about where you stand today. No long questionnaire, and no obligation to go further.
  2. We read itAs needed, we talk it through with an engineer or the technical team to give you a precise answer.
  3. We suggest next stepsA deeper call, a demo, a POC... whatever best answers your questions.
  4. You decideWhether you want to know more or stop there, it's your call.
No pressure, no commitment.We help you see your situation clearly, then you decide if and when to go further. Your details stay confidential. ISO 27001:2022.
Step 01 · Send your message

Tell us a bit, get a callback.