Zscaler Policy Enforcement Order: How Rules Are Evaluated

Zscaler applies policy in two layers. The modules run in a fixed order you cannot change, and inside each module your rules run top to bottom by rule number. The first rule that matches ends the check for that module.

This matters because a block early in the chain stops everything after it. A firewall rule that drops a port is never seen by URL filtering.

The Two Kinds of Order

The first kind is module order. Zscaler decides which engine inspects the traffic first. That sequence is built into the service.

The second kind is rule order inside one policy. Every rule has a number. Zscaler reads rule 1, then rule 2, and stops at the first rule whose criteria match.

Each policy also ends with a default rule. If no numbered rule matches, the default rule decides. A policy is never silent.

Two overlapping rules are not both applied. The lower number wins. So a broad allow rule placed at number 3 can make rules 4 through 20 unreachable for that traffic.

Zscaler Internet Access (ZIA) Order

ZIA inspects traffic going to the internet and to SaaS applications. The modules run in this sequence.

StepPolicyWhat it decides
1Client Connector forwarding profileWhether traffic is sent to Zscaler or bypassed
2AuthenticationWhich user and group the traffic belongs to
3Cloud Firewall and DNS ControlAllow or block by IP, port, protocol or DNS request
4SSL/TLS InspectionWhether the session is decrypted
5Threat protectionBlocks known malicious URLs and content
6Cloud App ControlAllow, block or limit a named cloud application
7URL FilteringAllow or block by URL category
8Bandwidth ControlCaps how much bandwidth a class of traffic may use
9File Type ControlAllows or blocks uploads and downloads by file type
10Malware protectionScans content against known malware signatures
11Data Loss PreventionBlocks sensitive data from leaving the company
12SandboxHolds and detonates unknown files before delivery

Two details in this table surprise people.

Cloud App Control runs before URL Filtering. A block on a named application therefore beats an allow on the URL category that contains it.

SSL inspection sits above every web policy. If a session is not decrypted, the later modules only see the domain, not the full URL or the file.

The service also stops at the first violation. Once one module blocks a transaction, the remaining modules are skipped.

Zscaler Private Access (ZPA) Order

ZPA controls access to private applications inside your own network. It has a separate chain.

StepPolicyWhat it decides
1Client Forwarding PolicyWhether the request goes through ZPA or bypasses it
2Access PolicyWhether this user may reach the application segment
3Timeout PolicyHow long a session lasts before the user re-authenticates
4Inspection and IsolationWhether allowed traffic is inspected or opened in isolation

ZPA first matches the most specific application segment. Client forwarding is evaluated next, and the access policy only after that.

A Short Worked Example

A user tries to upload a 30 MB file to a personal cloud drive.

The firewall allows port 443. SSL inspection decrypts the session. Cloud App Control matches the named drive and blocks the upload.

URL Filtering, File Type Control and DLP never run. The transaction already ended at step 6.

Change one thing and the result changes. If SSL inspection excludes that domain, Cloud App Control cannot see the application name, and the upload succeeds.

How to Prepare

TAGS
System Design Interview
CONTRIBUTOR
Arslan Ahmad
Arslan Ahmad
ex-FAANG engineering manager and author or Grokking series.

GET YOUR FREE

Coding Questions Catalog

Design Gurus Newsletter - Latest from our Blog
Boost your coding skills with our essential coding questions catalog.
Take a step towards a better tech career now!
Explore Answers
What is the difference between an interface and abstract class?
What to Expect in the Harvey System Design Interview
Harvey asks design questions rooted in its legal AI products: document pipelines, search, permissions, and APIs, with a worked example.
What is a scheduler in OS?
What is AEO and How to Make Answers LLM-Friendly?
Learn what Answer Engine Optimization (AEO) is, how to write LLM-friendly answers, and how it helps your content rank higher on Google, ChatGPT, Perplexity, and Gemini.
What is the age limit for Cisco?
What are the tips for coding interviews at e-commerce companies?
Related Courses
New
Grokking the AI System Design Interview course cover
Grokking the AI System Design Interview
Learn to design AI systems the way interviewers expect: classic ML products, LLM and RAG architectures, and agentic systems, all through the lens of the system design interview.
4.6
(3,192 learners)
Discounted price for Your Region

$99

Grokking the Coding Interview: Patterns for Coding Questions course cover
Grokking the Coding Interview: Patterns for Coding Questions
The 24 essential patterns behind every coding interview question. Available in Java, Python, JavaScript, C++, C#, and Go. The most comprehensive coding interview course with 543 lessons. A smarter alternative to grinding LeetCode.
4.6
Discounted price for Your Region

$197

Grokking Modern AI Fundamentals course cover
Grokking Modern AI Fundamentals
Master the fundamentals of AI today to lead the tech revolution of tomorrow.
4.1
Discounted price for Your Region

$72

Design Gurus logo
One-Stop Portal For Tech Interviews.
Copyright © 2026 Design Gurus, LLC. All rights reserved.