TTechclick All lessons
Zscaler ยท Batch 11 ยท Lesson 12L3 / ADVANCED

CBI & SIPA โ€” Browser Isolation & Stable Egress for SaaS

Two tools that solve the BYOD and SaaS-allow-list problems ZIA/ZPA alone cannot โ€” pixel-stream browser isolation for risky web on unmanaged devices, and stable egress IPs for SaaS admin consoles that demand IP whitelisting.

๐Ÿ“… 23 May 2026 ยท โฑ 13 min read ยท ๐Ÿท 10-question assessment included
๐ŸŽฏ By the end of this lesson, you'll be able to

Why this lesson matters โ€” the two "yes-but" tools

After Lessons 1โ€“11 you can wire up ZIA and ZPA end-to-end. Real production rollouts then hit two recurring walls that ZIA + ZPA on their own cannot answer cleanly:

Wall #1 โ€” the BYOD/contractor problem. A contractor on a personal MacBook needs to read risky-category sites all day. You don't own the device, can't install Z-App, can't enforce EDR. The honest answers used to be "block the category" (business loses) or "allow and pray" (security loses). CBI is the third option โ€” render the page in a disposable cloud browser, stream pixels to the user, never let executable code touch the laptop.

Wall #2 โ€” the SaaS allow-list problem. Salesforce admin emails: "send me your 4 source IPs for IP-based login restriction". Your 100,000 users sit behind thousands of rotating Zscaler egress IPs โ€” no admin will whitelist that. SIPA hands you a small, stable pool of dedicated egress IPs; you give those four to the SaaS admin and the allow-list works.

Neither feature appears on a marketing front page, but every enterprise rollout hits both within the first quarter. Walking into a Zscaler interview without these two in your pocket is the fast way to lose a senior offer.

CBI โ€” what it actually does

Cloud Browser Isolation runs a single-use, throwaway Chromium inside Zscaler's cloud. When a user's request to a risky URL is matched by a URL Filtering rule with action ISOLATE, ZIA hands the session to a CBI farm. The CBI browser fetches the page, renders it in an ephemeral container, and streams the result back as HTML5 canvas + safe input events streamed over WSS (WebSocket Secure). The user's local browser is a thin viewport โ€” it never receives HTML, JavaScript, images, fonts, downloads, or any active content.

Three things travel through CBI in normal use:

L3 mental model: CBI is an air-gap implemented in software. The risky page runs in a sandbox far from your user; only the painted result crosses. Any malicious payload that drops on the container dies with the container.

CBI policy modes โ€” three flavours, three intents

CBI is invoked per URL Filtering rule. Three operating modes in the admin portal:

  1. Always Isolate โ€” every match is silently handed to CBI; no interstitial, the tab just renders. Best for "News & Media for our M&A team" โ€” they don't need to know it's isolated, they just need to read.
  2. Conditional Isolate โ€” extends Always with device posture, location, time-of-day, user-group, or trust score. Common: "isolate Gambling only for unmanaged BYOD; managed laptops bypass". Same URL, different verdict per asker.
  3. Interactive Isolate (Caution) โ€” Zscaler-branded interstitial: "This site is risky. Click to open isolated." Educates the user about risk while keeping a path forward. Best for unknown-reputation where silent isolation might confuse them.

Contrast with BLOCK: block says no, isolate says yes, pixel-streamed. That single distinction makes CBI a productivity tool โ€” analysts get information, security gets its air-gap.

Zscaler Troubleshooting Lab Cloud Connector (SIPA backhaul)

The whole CBI architecture on one page

CBI โ€” pixel-streaming hand-off inside the ZIA tunnel
CBI architecture A user's browser sends an HTTPS request to ZIA, which SSL-inspects and matches a URL category. The matched session is handed off to a CBI farm in Zscaler's cloud, where a disposable Chromium browser fetches the origin and renders the page. Pixels and safe-input events stream back to the user; HTML/JS/files never reach the user's device. User Browser BYOD / unmanaged thin viewport only ZIA Service Edge SSL Inspection URL Filtering match Action = ISOLATE hand-off CBI FARM (Zscaler cloud) Disposable Chromium container destroyed on close Risky Origin news / unknown payload-bearing HTTPS fetch HTML/JS PIXEL STREAM (safe) Active content stops at the CBI container โ€” user's device sees pixels only.
Solid blue arrows = the user's request path. Magenta arrows = page payload โ€” note it terminates at the CBI farm. Only the dashed magenta pixel stream returns to the user.

CBI controls โ€” what each toggle actually does

Inside a CBI profile (Policy โ†’ URL Filtering โ†’ Cloud Browser Isolation โ†’ Profiles) you'll see roughly the following knobs. They look small; they're the difference between CBI working and a tidal wave of helpdesk tickets.

ControlWhat it doesL3 recommendation
ClipboardBidirectional / Inbound only (user โ†’ CBI) / Outbound only (CBI โ†’ user) / BlockedFor risky-web isolation, Inbound only โ€” user can type/paste passwords or notes into the isolated page, but cannot copy data out. Bidirectional defeats the data-protection point.
File UploadAllow / Block uploads from the user's local disk into the isolated pageBlock by default. Allow only for specific app-of-record patterns (e.g. an isolated submission portal).
File DownloadAllow / Sandbox-then-deliver / BlockSandbox-then-deliver: the file gets detonated in Zscaler Sandbox first, only the verdict-clean files reach the user. Pure Block annoys users; pure Allow defeats CBI.
PrintAllow / Block printing the rendered pageBlock for data-sensitive isolation rules; allow for "make it usable" categories like news.
Screenshot / WatermarkOverlay a translucent watermark with username, timestamp, IP across every rendered frameAlways on for any analyst / research / M&A team. A screenshot of an M&A target's earnings page with "ravi.k@acme ยท 2026-05-23 14:22" splashed across it is a strong insider-threat deterrent.
Session TimeoutHow long an idle CBI container stays alive before destruction15 min for normal browsing, 5 min for high-sensitivity (financial, source-code-on-the-web), 60 min for long-form research where the user reads slowly.
Local Browser SyncInherit cookies / bookmarks / extensions from user's local Chrome profileOff. The whole point of CBI is a clean disposable browser. Pulling in the user's extensions imports their attack surface.

CBI deep dive โ€” what breaks, and why

Three categories fight CBI in the field. Recognise them on day-one:

  1. Banking and OTP-paste apps. User gets SMS OTP on the phone, tries to paste into the bank's login โ€” but if clipboard is Outbound-only, the paste fails silently and the user thinks "the bank is broken". Best fix: don't isolate the banking category at all; isolate only actual risky stuff.
  2. Multi-tab webapps that fork sessions. Jira, Confluence, modern dashboards open links in new tabs expecting the same auth cookie to follow. CBI session forking is per-tab โ€” each new tab can spin a separate container with no shared cookie jar. User looks "logged out" on tab two. Fix: enable session continuity for that domain in the CBI profile, or exclude the app from CBI entirely (it shouldn't have been isolated anyway).
  3. Latency-sensitive and rich-media apps. Zoom, Teams, Webex, WebRTC, screen-share โ€” anything sub-100ms or bandwidth-heavy โ€” flies poorly because you're round-tripping a video stream through a remote Chromium. Voice and video should never be in an isolate rule. Heavy file-upload workflows (Drive, SharePoint, S3 console) degrade too; isolate only the read path if you can.
๐Ÿ’ฐCBI cost โ€” scope it tightly

CBI is a paid add-on with per-session metering in most tenants. Deploying "Isolate Social Media" for the entire company can blow a quarterly budget. Scope CBI to high-risk categories (Newly Registered Domains, Uncategorized, Suspected Phishing) โ€” not Social Media.

SIPA โ€” what it actually does

ZIA by default egresses each user's traffic from whichever Service Edge they hit โ€” and Zscaler has hundreds of PoPs rotating through pools of egress IPs published in the cenr (Cloud Enforcement Node Range) list. From the SaaS's perspective your users come from any of ~5,000 IPs and the set drifts as Zscaler grows. No admin will ever whitelist 5,000 drifting IPs.

SIPA flips this. You pin specific traffic flows to a small, stable pool of egress IPs. The user still gets PoP proximity for the inbound leg, but the outbound leg โ€” the IP the destination SaaS sees โ€” comes from your dedicated pool. The SaaS admin gets a 4-IP allow-list that doesn't change for years.

SIPA is policy-driven, not a tenant-wide flag. Anchor only what needs it (Salesforce, Workday, Okta admin) and let the bulk of internet traffic ride the elastic pool โ€” that keeps your paid dedicated capacity focused on flows that need it.

SIPA deployment models

Source IP Anchoring โ€” Modern Path

The current Zscaler recommendation for SIPA is Cloud Connector: deploy Cloud Connector VMs in your AWS/Azure/GCP VPC. Outbound traffic egresses via your cloud's NAT Gateway / Internet Gateway / direct EIP โ€” the SaaS endpoint sees your owned IP, not Zscaler's pool. Auditable, allow-listable, and the egress IP lives in your account.

Legacy: Dedicated Proxy / Dedicated PoP. Older Zscaler-hosted egress SKU where you got 2-8 reserved IPs on Zscaler infrastructure. Still supported for some tenants but no longer the preferred path for new deployments. Get both primary and failover IPs in the contract and add both to the SaaS allow-list (see Common Mistakes). If your tenant has it, fine โ€” but new SIPA designs in 2026 should be Cloud Connector first.

3rd-party partner POPs: Some Zscaler partners (e.g. Aryaka, Equinix) offer their own egress IPs that integrate with ZIA forwarding. Niche; usually only relevant for specific compliance/geo needs.

Hybrid is where most large enterprises land. Modern path (Cloud Connector) for SaaS that demands "must come from our prod VPC", legacy Dedicated Proxy for tenants that still have it, bulk internet on elastic Zscaler egress. SIPA policy picks the right egress per destination.

SIPA request path โ€” what the SaaS actually sees

SIPA โ€” pinning egress to a stable IP for SaaS allow-lists
SIPA flow Sequential left-to-right flow: User opens Salesforce, traffic enters ZIA tunnel, SIPA policy matches the SaaS application, traffic is routed via the SIPA dedicated egress IP pool, Salesforce sees that IP and matches it against its allow-list, user lands successfully. User Opens salesforce.com via Z-App ZIA Service Edge SIPA policy match: app = Salesforce โ†’ SIPA pool A SIPA EGRESS POOL dedicated to tenant 203.0.113.10 203.0.113.11 + failover pair Internet stable src IP Salesforce IP allow-list .10 โœ“ .11 โœ“ โœ“ Login OK Without SIPA: src IP rotates across thousands of Zscaler cenr IPs โ†’ SaaS allow-list impossible. With SIPA: src IP = your dedicated pool โ†’ SaaS admin whitelists 4 IPs and is done.
Sequence is left-to-right. Modern path: traffic goes ZIA Service Edge โ†’ customer Cloud Connector in VPC โ†’ AWS NAT Gateway โ†’ SaaS sees the customer's own EIP. The diagram shows the legacy Dedicated Proxy variant for simplicity; in 2026 prefer Cloud Connector so the egress IP is tenant-owned and lives in your account.

CBI + SIPA stack pattern โ€” they compose cleanly

The common production pattern: a contractor on an unmanaged Mac needs access to your sanctioned SaaS. You want CBI on top (BYOD: no native code on the device, watermark, controlled clipboard) and SIPA underneath (your SaaS only allows your dedicated egress IPs).

They compose cleanly because they sit at different tunnel layers. CBI is invoked by URL Filtering after SSL inspection and before egress shaping; SIPA is invoked by Forwarding / Egress policy and runs after the response leaves CBI's container toward the destination. In a stacked rule the request leaves the contractor's local browser, hits ZIA, is handed to CBI; CBI fetches the destination, and CBI's fetch is then SIPA-anchored to your dedicated egress IP. SaaS sees your stable IP and allows login; contractor sees only pixels and cannot exfil.

This is the architecture you describe in a senior-engineer interview for "Zero Trust SASE for contractor access". Both halves needed: CBI handles the device-trust gap, SIPA handles the SaaS-trust gap.

CBI + SIPA Troubleshooting Cloud Connector NAT egress App Connector contrast

Quick configuration walkthrough

The admin portal lives at https://admin.zscaler.net (or your tenant's cloud variant). The two flows you'll execute most often:

CBI โ€” wire up an Always-Isolate rule for risky news
1. Policy โ†’ URL & Cloud App Control โ†’ Cloud Browser Isolation โ†’ Profiles
   โ†’ Add Profile "M&A-Research"
     โ€ข Clipboard: Inbound only
     โ€ข Upload: Block ยท Download: Sandbox-then-deliver
     โ€ข Print: Block ยท Watermark: ON (Username + Timestamp + IP)
     โ€ข Session timeout: 60 min

2. Policy โ†’ URL & Cloud App Control โ†’ URL Filtering Policy
   โ†’ Add Rule "Isolate News for M&A Team"
     โ€ข Rule Order: 5 (above generic news rules)
     โ€ข URL Categories: News & Media, Newsgroups, Blogs
     โ€ข Users / Groups: ad-group "MA-Research"
     โ€ข Action: ISOLATE
     โ€ข Isolation Profile: M&A-Research
     โ€ข Logging: Full

3. Activate
SIPA โ€” anchor Salesforce traffic to dedicated egress IPs
1. Administration โ†’ Source IP Anchoring โ†’ Dedicated Proxies
   โ†’ Verify the IPs allocated to your tenant (e.g. 203.0.113.10, .11
     primary; 198.51.100.20, .21 failover). Copy ALL four.

2. Email your SaaS admin: add all four IPs to the Salesforce
   "Trusted IP Ranges" / Login IP Range. Confirm in writing
   they added the failover pair too (this is where rollouts break).

3. Policy โ†’ Forwarding Control โ†’ SIPA Policy
   โ†’ Add Rule "Salesforce via Dedicated Egress"
     โ€ข Source: All users (or scoped AD group)
     โ€ข Destination: Cloud App = Salesforce
       (also try URL Category = Salesforce as belt-and-braces)
     โ€ข Action: Forward via Dedicated Proxy (primary pool A)
     โ€ข Failover: Dedicated Proxy (failover pool B)

4. Activate. Test from a user laptop:
     curl --resolve login.salesforce.com:443:<ip> -I https://login.salesforce.com
     Or just open Salesforce and confirm login succeeds; check Insights
     โ†’ Web โ†’ "Egress IP" column for that session.
โœ“Verify โ€” prove both pieces are actually firing
โš Common Mistakes โ€” the seven that bite every rollout
๐Ÿ’กPro Tips โ€” practitioner-only knowledge

Real-world scenario โ€” Acme's M&A research team

Setup. Acme's 50-person M&A team researches acquisition targets daily โ€” 30+ articles across obscure financial-news outlets, regional sites, leaked-document repositories, pastebin tips. Many sites run sketchy ad-tech, malvertising, and watering-hole campaigns aimed at exactly the people who research deal flow.

Acme's baseline: managed laptops, Z-App enrolled, EDR running. Default URL policy blocks News & Media for the wider company. The M&A team needs the opposite โ€” more news access, safely.

Rule design.

  1. Profile MA-Research: Clipboard = Inbound only ยท Upload = Block ยท Download = Sandbox-then-deliver ยท Print = Block ยท Watermark = ON ยท Timeout = 60 min.
  2. URL Filtering rule "M&A โ€” Isolate News", ordered above the company-wide block rule. Categories: News & Media, Newsgroups, Blogs, File Sharing, Pastebin. Group: MA-Research-Team. Action: ISOLATE. Profile: MA-Research. Logging: Full + Session Recording.
  3. Activate. A team member hits a previously-blocked news site โ€” opens in CBI instead.

The malicious-news test. A week later an analyst clicks a tip-off link to a compromised regional financial blog hosting a drive-by exploit for a 14-day-old Chrome CVE. In the pre-CBI world, the laptop is owned, attacker laterals into SharePoint, deal-pipeline docs exfil. In the CBI world:

Net: research productivity preserved, security gets a forensic artefact + early-warning IOC, the laptop executed zero attacker code. That's the CBI story that wins this lesson in the interview room.

Quick reference card

CBI & SIPA โ€” last-mile revision

โ–ถ QUICK LAB ยท ~15 MIN

Configure CBI + SIPA:

  1. In ZIA Admin โ†’ URL Filtering โ†’ create a rule: Newly Registered Domains + Action = Isolate.
  2. From a test laptop, browse a known-new domain (or use a CBI test URL from Zscaler). Verify the page renders inside the CBI viewport.
  3. Try right-click โ†’ View Source. Confirm you see the wrapper, not the origin's HTML.
  4. For SIPA: deploy a Cloud Connector VM in your AWS test VPC. Verify a SaaS request egresses via the Cloud Connector's EIP (not via Zscaler's pool).

๐Ÿ“ Check your understanding

10 scenario questions โ€” same depth you'll see in interviews + practice exams. Pick one answer per question. You need 70% (7 of 10) to mark this lesson complete on your profile.

Q1

A contractor on a personal MacBook needs to read your industry's risky-news sites for an investigation project. The corporate URL policy blocks the News category. Which Zscaler action gives the business the access while keeping security comfortable?

Correct: B. CBI (action ISOLATE) is exactly the third path between "block" and "allow" โ€” the user gets the content as pixels, no executable code touches the BYOD laptop. (A) creates a security hole; (C) ZPA is for private apps, not public web; (D) SSL Inspection has nothing to do with this category decision.
Q2

A user reports that pasting an OTP from their phone's SMS app into an isolated banking page does nothing. The CBI profile has Clipboard = Outbound only. What's actually happening?

Correct: A. Clipboard direction is named from the CBI farm's perspective โ€” Outbound = CBI โ†’ user. To paste into the isolated page the user needs Inbound (or Bidirectional). Banking-OTP flows are the classic example where Inbound-only is the right setting. (D) is false โ€” clipboard works fine in CBI, it's just controlled by policy. Disclaimer: clipboard direction naming convention varies by Zscaler product version. In recent docs, "Outbound" = direction from the isolated viewport back to the user's local clipboard (CBI โ†’ user). Some older docs use the opposite. Always verify in your specific tenant's portal copy before answering an interview question on this.
Q3

Your SaaS admin says "give me your 4 source IPs so I can whitelist them in our Salesforce IP restriction". Your tenant has 100,000 users behind Zscaler's elastic cloud. What's the right Zscaler feature to deploy?

Correct: C. SIPA Dedicated Proxy gives the tenant a small, stable pool of egress IPs exactly so the SaaS admin can whitelist them. (A) CBI handles risky web rendering, not egress IPs; (B) ZPA is private apps, not public SaaS; (D) bypassing Zscaler loses inspection and policy.
Q4

Six months after a SIPA rollout, every user is locked out of Salesforce on Monday morning. Friday-night maintenance happened on the Zscaler side. What's the most likely root cause?

Correct: C. Classic SIPA failure mode โ€” both primary and failover IPs must be on the SaaS allow-list. If only the primary was added, any maintenance event that swings traffic to failover blocks every user instantly. (A), (B), (D) don't explain a SaaS-specific lockout.
Q5

A user reports their CBI'd multi-tab Jira looks "logged out" the moment they click any link that opens in a new tab. Which behaviour are you seeing?

Correct: B. Multi-tab webapps that rely on shared cookie state across tabs hit CBI's session-forking problem. The fix is either enable session continuity for that domain in the CBI profile, or exclude the app from CBI entirely (Jira shouldn't have been isolated in the first place). (A), (C), (D) don't fit a "every new tab is fresh" symptom.
Q6

Compliance requires that user web egress comes from your AWS Production VPC, not Zscaler's cloud. Which SIPA deployment model fits?

Correct: D. Customer-NAT via Cloud Connector is exactly the model where the egress IP the destination sees is yours, not Zscaler's. This is now the modern Zscaler-recommended SIPA path. (A) Dedicated Proxy IPs are Zscaler-owned, even though dedicated to your tenant; (B) App Connector is for ZPA private-app brokering, not for ZIA egress; (C) CBI is unrelated to egress IP ownership.
Q7

You want to confirm SIPA is actually firing for users in the policy. What's the fastest L3 check?

Correct: D. ip.zscaler.com reports the public source IP the destination sees. Comparing a SIPA user vs a non-SIPA user proves the anchoring is working. (A), (B), (C) are made-up โ€” there's no SIPA CLI test, no SIPA tray badge, no SIPA cert signing.
Q8

Security wants every CBI session to leave a forensic artefact so an insider can't quietly screenshot an isolated page and exfil via their personal phone. Which CBI control most directly addresses this?

Correct: C. Watermark bakes an identifying overlay into every rendered frame โ€” any screenshot or analog-hole photograph carries the analyst's identity. Session Recording adds an auditable replay. (A) doesn't stop screenshots; (B) is irrelevant; (D) ZPA is for private apps.
Q9

Your CISO asks for a contractor-access architecture: contractors on personal devices need access to your corporate Workday (a SaaS that demands an IP allow-list). What's the right Zscaler stack?

Correct: B. Two different problems โ†’ two different tools, composed. CBI handles the device-trust gap (no native code on the contractor's machine); SIPA handles the SaaS-trust gap (Workday sees your stable IP). (A) leaves the SaaS allow-list problem unsolved; (C) leaves the BYOD problem; (D) defeats the contractor-flexibility goal.
Q10

Insights โ†’ Web Insights shows zero "Isolated" hits for the M&A Research rule you built last week, even though analysts are clearly browsing the News category. Where's the most likely problem?

Correct: A. URL Filtering rules are evaluated top-down, first match wins. If a rule above your isolate rule already handles News with ALLOW or BLOCK, your rule never sees the traffic. Move the isolate rule above the conflicting rule. (B) is rare and would show as errors elsewhere; (C) is possible but would result in different symptoms (uncategorised hits); (D) SIPA doesn't pre-empt URL Filtering.
Lesson complete โ€” saved to your profile.
Almost! Review the sections above and try again โ€” you need 70% (7 of 10) to mark this lesson complete.

What's next?

Module 13 takes you to the operational side โ€” ZIA Insights, ZPA Diagnostics, NSS log streaming to your SIEM, ZDX user-experience monitoring, and the top 5 real troubleshooting patterns you'll diagnose in production.