Most engineers think…
Most engineers think onboarding Zscaler means one thing: push the Client Connector agent to every device and you're done.
Wrong — and that assumption quietly breaks two of your biggest user groups. Contractors and BYOD users often can't install the agent at all, and in 2026 Zscaler is forcing a second onboarding you may not have noticed: the mandatory ZIdentity migration that changes how every admin even logs in. Miss either one and your rollout stalls. Let's map all of it.
Picture two people on their first day. Sneha joins Infosys and is handed a company laptop. Priya is an external auditor at HDFC Bank who shows up with her own personal laptop and zero patience for installing software. Both need to work securely through Zscaler today — but the way you onboard them could not be more different.
Onboarding Zscaler is really the art of answering one question for every person: can I put my agent on this device, or not? That single fork decides everything — the access method, the security you can enforce, and even how the licence is counted. Let's build the whole map.
First, the vocabulary — tap to flip
Four terms show up in every Zscaler onboarding conversation. Learn these and the rest of the lesson reads easily.
The lightweight agent you install on a managed device. It captures the device's traffic and forwards it to Zscaler — web + DNS to ZIA, private apps to ZPA. So what: no ZCC = no full tunnel.
Zscaler's global cloud where every policy decision happens, per identity. Both managed and unmanaged devices connect to it. So what: users get access to apps, never to a network.
Checks that prove a device is trustworthy — domain-joined, encrypted, running approved EDR. Needs the agent to run. So what: unmanaged devices fail posture by definition, so they get restricted access.
One subscription for one authenticated user, counted as unique users over a rolling 90-day window. So what: a person with a laptop + phone + tablet is still one seat.
Here's the whole architecture on one page. One cloud, two front doors — keep this picture in your head for the rest of the lesson.
① Scenario 1 — Managed laptops with the ZCC agent
This is the gold path, and it's the one Sneha runs at Infosys for 5,000 employees. A Zscaler Client Connector (ZCC) agent goes on every company laptop, the device proves it's trustworthy, and from then on all traffic is tunnelled and inspected.
ZCC forwards traffic using Z-Tunnel 2.0, which sends all ports and protocols over DTLS on UDP 443 (falling back to TLS on TCP 443 if UDP is blocked). The old Z-Tunnel 1.0 was proxy-style and only handled ports 80/443 — fine for web, useless for everything else.
Identity comes first. You wire your SAML identity provider (Okta or Microsoft Entra ID) for login, and SCIM to auto-provision users and groups. Then you build the policy in the Client Connector Portal: an App Profile and a Forwarding Profile, plus Device Posture profiles.
Here's the screen Sneha actually fills in — the App Profile and its Forwarding Profile for a managed Windows laptop.
🖥️ Recreated for clarity — your console matches this. (Client Connector Portal, App & Forwarding Profile for a managed laptop.)
Administration → App Profiles → Add App Profile
Forwarding Profile
With the policy ready, you push the agent silently with your MDM. The two parameters that matter most: CLOUDNAME (which Zscaler cloud you're on, e.g. zscalertwo) and — if you enforce strict mode — POLICYTOKEN. Here's a real Intune/SCCM command line for a managed Infosys laptop:
msiexec /i ZSAInstaller.msi ^ CLOUDNAME=zscalertwo ^ USERDOMAIN=infosys.com ^ POLICYTOKEN=8f3c-strict-d21a ^ INSTALLLWFDRIVER=1 LWFBOOTSTART=1 /qn
MSI (s) ... Installation completed successfully. ZSATray service: Running ZCC: awaiting user login (SAML) · Cloud: zscalertwo Z-Tunnel 2.0: connecting (DTLS udp/443)
Ananya at HDFC Bank is packaging ZCC in Intune, and policy requires Strict Enforcement (no network unless ZCC is enrolled and policy-bound). Which parameters must she include?
When the user logs in, ZCC issues a device token and computes a unique device fingerprint. That fingerprint is the clever bit: copy the install to another machine and enrolment fails, because the fingerprint won't match. Finally the profiles and posture apply, and Z-Tunnel 2.0 comes up.
🏛 Architect note: on Windows, Zscaler recommends Tunnel (Packet Filter-Based); on macOS, Tunnel with Local Proxy. Keep DTLS primary but allow TLS fallback (needs ZCC 3.4+ on Windows, 3.9+ on macOS) so users behind UDP-hostile ISPs don't degrade.
▶ Live: a managed laptop's traffic path
Watch a packet leave Sneha's enrolled laptop and reach an app. Press Play for the healthy path, then Break it to see the classic failure.
Karthik, a junior engineer at Infosys, deployed ZCC with default settings and wants to confirm in the firewall logs which transport and port the primary tunnel uses. What should he expect by default?
Pause & Predict
Sneha rolls ZCC out to 5,000 employees. Each gets a managed laptop and a managed phone, both running ZCC under the same login. How many ZIA licenses does Infosys need? Type your guess.
Sneha at Infosys faces this
Rollout day: 200 laptops install ZCC fine, but several never finish enrolling and show "Strict Enforcement" with no network.
The MSI was pushed without POLICYTOKEN. With Strict Enforcement on, ZCC refuses to let the device on the network until it's policy-bound — and it can't bind without the token.
Check the install command the MDM actually ran and the ZCC enrolment log.
Client Connector Portal → Administration → Windows Policy → copy Policy TokenRepackage the MSI with the correct POLICYTOKEN from the Windows policy and re-push; or temporarily relax Strict Enforcement during pilot.
ZCC tray shows Authenticated and Z-Tunnel 2.0 Connected; the device appears under Client Connector Portal → Enrolled Devices.
② Scenario 2 — Unmanaged & BYOD devices (no ZCC)
Now Priya, the external HDFC auditor on her own laptop. She cannot install ZCC — it's not your device, and she'd refuse anyway. So she fails device posture by definition. The answer isn't "force the agent" — it's clientless access, and the destination app type picks the door.
For Priya's internal web app, the answer is Browser Access: you publish the app with a server certificate and a DNS CNAME, and she reaches it in her normal browser. For a server console (RDP/SSH/VNC) you'd use PRA. When the rule is "no sensitive data may touch the device", you wrap the session in Cloud Browser Isolation (CBI).
▶ Live: a clientless Browser Access request
Follow Priya reaching an internal app from her own browser. Press Play, then Break it for the most common setup mistake.
Rahul at TCS must give an external auditor access to one internal web-based reconciliation app. She's on her own laptop and refuses to install anything. Access must be clientless and expose only that one app. Best method?
Pause & Predict
A different contractor needs RDP into a jump server from his personal laptop — no client allowed. Which clientless method fits? Type your guess.
Priya at HDFC Bank faces this
External auditor on her own laptop opens the internal app URL and gets a browser certificate error — she never reaches the login page.
The Browser Access app was created without a valid server certificate, or its DNS CNAME was never published — so her browser can't trust or even resolve the app to Zscaler.
Confirm the BA certificate and the external domain's CNAME.
ZPA Admin Portal → Application Segments → Browser Access → Certificate & DomainIssue a valid BA server certificate (or use Zscaler-Managed Certificates, which auto-renew and publish the CNAME) and add the CNAME at your DNS provider.
From any off-network browser, the app URL loads the SAML login and then the app — no cert warning.
🔧 Engineer note: for BYOD that also needs SaaS, redirect the SaaS app's SSO to Zscaler so the session opens inside CBI with download/upload/copy/paste/print blocked — and apply different controls to BYOD vs corporate devices. The hosted PAC file is a last resort: it only proxies web/SaaS egress, gives no Z-Tunnel 2.0 and no posture, and a user can edit it out.
③ How many users? Licensing every scenario
This is the question every onboarding plan trips on. Zscaler licenses a Seat = one authenticated user, counted as unique users over a rolling 90-day window. Per person, never per device. Admin accounts don't consume end-user seats. Contractors who authenticate do count.
Let's run the four worked examples students get asked in interviews:
- Infosys — all managed (base case). 5,000 employees, each with a laptop and a phone on ZCC = 5,000 ZIA seats, not 10,000. The extra phones are free; same identity, one seat.
- TCS — employees + contractors. 8,000 staff on managed laptops + 1,500 occasional contractors + 200 admin accounts. = 8,000 full seats + 1,500 Light-User seats (contractors authenticate, so they count — but the cheaper Light tier fits) + 0 for admins.
- HDFC Bank — managed + BYOD. 12,000 employees on ZCC + 800 external auditors on unmanaged laptops via Browser Access & CBI = 12,800 seats. "No agent installed" ≠ "no licence" — the agentless user still consumes a per-user seat.
- Wipro — the multi-device trap. 3,000 employees averaging ~3 devices each. Per-device thinking says 9,000; the correct answer is 3,000 seats. Zscaler counts the person.
Sneha rolls ZIA to all 5,000 Infosys employees — each with a managed laptop and phone under the same login — plus 50 dedicated Zscaler admin accounts. How many ZIA end-user seats are needed?
🏛 Architect note: if the rolling-90-day unique-user count exceeds your contract by >10%, Zscaler triggers a true-up — buy prorated seats or upgrade Light Users. Scrub stale identities (Reports → Users → last-login) before renewal so you don't over-buy, and negotiate the contractor/Light-User band up front.
④ The new requirement — the ZIdentity migration
Here's the onboarding most teams haven't noticed. In 2025–2026 Zscaler is retiring how admins log in and manage everything. Each product used to have its own console and its own local logins. That's being replaced by two linked things: ZIdentity (one centralized login, formerly ZSLogin) and the Experience Center (one unified admin console).
This is not optional. Three dates decide your 2026.
The trap that bites teams: only IdP-federated admin accounts migrate automatically. Any local admin account (credentials stored in the old portal) does not carry over — you must recreate it in your IdP first. Here's the migration screen, with the local account flagged.
🖥️ Recreated for clarity — your console matches this. (ZIdentity admin migration in the Experience Center.)
ZIdentity → Administration → Admins & Roles
The compliance steps, in order:
- Inventory admin accounts — separate IdP-federated from local (portal-stored). Local ones won't migrate.
- Connect your IdP to ZIdentity — SAML/OIDC SSO + SCIM provisioning from Okta/Entra/Ping.
- Recreate the local admins in your IdP, then re-run migration so they're federated.
- Plan MFA — ZIdentity has built-in MFA; decide whether to enforce at Zscaler or rely on the IdP.
- Migrate admins first, validate console + MFA access in the Experience Center.
- Then phase end users — remember the rollback window is only 14 days.
- Finish before March 2026 to keep new features and stay ahead of the September 2026 legacy shutdown.
In August 2025, CVE-2025-54982 (CVSS 9.6) showed a SAML signature-verification flaw in Zscaler's auth server — a forged assertion could impersonate any user. Zscaler remediated it cloud-side with no known exploitation, but it's exactly why ZIdentity centralizes auth and bakes in MFA: identity is the new perimeter.
Pause & Predict
After the migration, one Zscaler admin can no longer log in — every IdP-federated admin is fine. What kind of account was the broken one? Type your guess.
⑤ Field notes — the mistakes that page you at 2 a.m.
Onboarding rarely fails at "install" — it fails at the edges. Here are the four most common production bites, each with the symptom you'll actually see.
Priya at Wipro faces this
On hotel Wi-Fi her ZCC laptop has zero internet; the usual "click to accept" page never appears and ZCC reads "Captive Portal Detected."
ZCC's tunnel comes up before the OS finishes its captive-portal probe, so the hotel's login redirect never reaches her.
Enable fail-open captive-portal detection; bypass captive.apple.com and msftncsi.com; or have the user open http://neverssl.com to force the portal.
Symptom: voice/video drops or one-way audio while web browsing is fine. Cause: real-time UDP media was tunnelled or inspected — and VoIP over ZPA is unsupported. Fix: add the UCaaS bypass for Teams/Zoom domains + media IP ranges so the media goes direct.
Symptom: Duo Desktop dies; git/npm/pip fail with SELF_SIGNED_CERT_IN_CHAIN; websites load fine. Cause: SSL inspection re-signs TLS with the Zscaler cert, but pinned apps and tools with their own trust stores reject it. Fix: add SSL-inspection bypass for pinned apps and install the Zscaler root CA into each tool's trust store.
If your Trusted-Network conditions are loose, ZCC can wrongly decide an untrusted café network is "trusted" and stop tunnelling — traffic then egresses raw. Tighten the criteria and keep ZCC current (a DNS CNAME+A edge case was fixed in 4.8.0.115).
A green tray icon isn't proof. Confirm enrolment and the live tunnel from the device and the portal:
C:\> nslookup gateway.zscalertwo.net C:\> curl -s https://ip.zscaler.com # In ZCC: ⚙ → More → Export Logs ; tray → "Z-Tunnel 2.0 Connected"
ip.zscaler.com → Your request is arriving via the Zscaler cloud: zscalertwo Location: Mumbai III · Z-Tunnel 2.0: Connected (DTLS) Portal → Enrolled Devices: this device = Authenticated ✓
🤖 Ask the AI Tutor
Tap any question — instant, scoped to this lesson. No login, no waiting.
Pre-curated from Zscaler docs + community Q&A, scoped to this lesson. For a live prod issue, paste your export into chat.techclick.in.
📝 Wrap-up assessment — six more
You've answered 4 inline. Six left. 70% (7 of 10) marks the lesson complete on your profile. Tap Submit all answers at the end.
🧠 In your own words
Type one line: Why can't an unmanaged BYOD laptop just install ZCC and get the same access as a corporate laptop? Then compare to the expert version.
🗣 Teach a friend
Best way to lock it in — explain it in one line to a teammate. Tap to generate a paste-ready summary.
📖 Glossary
- ZCC — Zscaler Client Connector
- The lightweight agent on a managed device that forwards web/DNS to ZIA and private-app traffic to ZPA.
- Zero Trust Exchange (ZTE)
- Zscaler's global cloud where every access decision is made per identity; users reach apps, never a network.
- Z-Tunnel 2.0
- The modern tunnel — DTLS over UDP 443 (fallback TLS over TCP 443) — carrying all ports and protocols. Z-Tunnel 1.0 was proxy-style, 80/443 only.
- Forwarding Profile
- Decides how ZCC captures traffic per network state (On-Trusted, VPN-Trusted, Off-Trusted) and the tunnel driver used.
- App Profile
- Per-platform policy in the Client Connector Portal that enables ZIA/ZPA/ZDX and controls cert + driver install.
- Device Posture
- Checks that prove a device is trustworthy (domain-joined, encrypted, approved EDR). Needs the agent — so unmanaged devices fail by definition.
- Device Token + Fingerprint
- Issued at enrolment to bind ZCC to one device; the unique fingerprint makes a copied install fail elsewhere (clone-proof).
- SAML
- The standard your IdP (Okta, Entra ID) uses to log a user into Zscaler.
- SCIM
- Auto-provisions users and groups into Zscaler from your IdP.
- Browser Access (BA)
- Clientless ZPA access to internal web apps from any browser, using a server certificate + DNS CNAME. No agent.
- Privileged Remote Access (PRA)
- Clientless RDP/SSH/VNC to servers, pixel-streamed to the browser; nothing lands on the device.
- Cloud Browser Isolation (CBI)
- Renders a session in a cloud browser and streams only pixels; blocks download/upload/copy/paste/print. The BYOD zero-data control.
- PAC file
- A hosted proxy-config the browser follows for internet/SaaS egress without ZCC. Weak: proxy-only, no Z-Tunnel 2.0, no posture.
- ZIdentity
- Zscaler's centralized identity service (formerly ZSLogin) at console.zscaler.com — ties admin login to your IdP with built-in MFA.
- Experience Center
- The single unified admin console that replaces the separate ZIA/ZPA/ZDX portals.
- Seat
- One Zscaler subscription = one authenticated user, counted as unique users over a rolling 90-day window. Per person, not per device.
📚 Sources
- Zscaler Help — Zscaler Client Connector: forwarding profiles, app profiles, Z-Tunnel 1.0 vs 2.0, device posture, MSI parameters. help.zscaler.com
- Zscaler Help — ZIdentity: Migrating Zscaler Service Admins & End Users; Managing Entitlements. help.zscaler.com/zidentity
- Zscaler Blog — "Embracing the Future of Zero Trust Administration with ZIdentity and Experience Center" (3 Nov 2025). zscaler.com/blogs
- Zscaler — ZPA Browser Access, Privileged Remote Access & Cloud Browser Isolation product docs. help.zscaler.com/zpa
- Zscaler Legal — Light Users product sheets / ZIA Licensing & Fair Use (Seat = per named user, rolling 90-day count). zscaler.com/legal
- AmberWolf / NVD — CVE-2025-54982: Zscaler SAML authentication bypass (CVSS 9.6, Aug 2025).
- Zscaler — Long-Term Support for Zscaler Client Connector + 2026 Release/Upgrade Summary. help.zscaler.com
- Microsoft Entra & Google Workspace — Zscaler SAML + SCIM provisioning tutorials; Zscaler Community onboarding threads. learn.microsoft.com / community.zscaler.com
What's next?
Your users are onboarded — now control what they can reach. Next we open the ZIA firewall policy and walk its real evaluation order: DNS → NAT → Firewall → FTP → IPS.