Dynamic Network Zones in Okta
A plain-English guide to teaching your sign-in system where traffic comes from: how network zones work, what makes a zone "dynamic", how to use places, providers, and anonymizing services as clues, and how to keep those zones accurate, safe, and fair as the internet keeps changing.
Every time someone signs in, their request arrives from somewhere on the internet. It might come from the company’s own office, from a coffee shop, from a home broadband line, from a phone on a mobile network, from a rented server in a data center, or from a service built to hide the true origin of the traffic. That “somewhere” is one of the oldest and most useful clues in security. A request from the head office at ten in the morning is usually fine. A request from an anonymizing service at four in the morning, ten seconds after thirty failed passwords, usually is not.
Okta lets you describe those “somewheres” in a reusable way, called network zones, and then write rules that treat each zone differently. The simplest zones are fixed lists of addresses. Dynamic zones go further: instead of you typing in every address, Okta describes places and kinds of networks using information that it keeps up to date for you, such as countries, internet providers, and categories of anonymizing services. This guide explains it all from zero. You will learn what a zone is, how the different kinds work, how a sign-in is matched to a zone, where zones can be used, how to design and maintain them, how to test changes safely, and how to avoid the mistakes that lock out honest people or leave doors open.
1Why Where a Sign-In Comes From Matters
Before learning any settings, it helps to understand why the origin of a request is worth caring about at all, and why it is also dangerous to trust it too much.
The return address on the envelope
When you send a letter, you write a return address on the envelope. The post office does not check that it is true, but it still tells the reader something. Internet traffic works in a similar way. Every request carries the IP address of the machine that sent it, a number that identifies where on the internet the request came from. From that number, services can work out useful facts: which internet provider owns it, roughly which country or city it is in, and whether it belongs to a home line, an office, a mobile carrier, a cloud data center, or a privacy service.
These facts do not prove who is typing. They suggest how likely a sign-in is to be normal. A sign-in from the company’s office network is very likely normal. A sign-in from a country where the company has no staff and no customers is much less likely to be normal. A sign-in routed through a service whose whole purpose is to hide identity deserves a second look.
Think of the receptionist at a large office building. People who arrive through the staff entrance with a badge are waved through. People who arrive at the visitor door get asked who they are meeting. People who arrive wearing a mask at midnight get stopped and questioned. The receptionist is not accusing anyone; they are simply using the way someone arrives as a clue about how much checking is needed.
Clues, not proof
The most important lesson of this whole guide is that network information is a clue, not a verdict. Clues can mislead in both directions. An honest employee on a business trip, using hotel Wi-Fi in another country, looks unusual. A careful attacker who rents an address in the employee’s own city looks perfectly ordinary. A good design uses network clues to decide how much proof to ask for, and relies on stronger evidence, such as device-bound sign-in methods, to decide who a person really is.
Why zones, and not just a list of addresses?
You could write every rule by typing out addresses one by one inside each rule. That quickly turns into a mess: the same list copied into ten places, one copy forgotten when the office moves, nobody sure which list is current. A zone solves this by giving a name to a set of network locations once, in one place. Rules then say “if the sign-in comes from the Office zone”, and when the office changes address you update a single zone and every rule that uses it is instantly correct.
Whenever you catch yourself copying the same list of addresses into a second place, stop and create a zone instead. One named, owned, documented zone is easier to keep correct than five hidden copies.
2Network Zones: The Basics
A network zone is a named collection of network locations. Let us define each word carefully so nothing later feels like jargon.
IP addresses and ranges
An IP address is a number such as one you might see on a router, written as four groups of digits separated by dots in the older format, or in a longer format called IPv6. Every device that talks on the internet has one, at least for the moment. Companies often own a whole range of consecutive addresses. A common way to write a range is with a slash and a number, called CIDR notation, which simply says “this address and all the ones that follow it, up to a certain size”. You do not need to calculate these by hand: the main point is that a zone can hold single addresses, ranges, or both.
What a zone does
In Okta, a zone has a name, a type, and some contents that describe the locations it covers. When a sign-in arrives, Okta works out which address the request came from and checks which zones that address belongs to. Policy rules can then use the result as a condition: “when the sign-in is from the Office zone, do this; when it is from the Blocked zone, do that”. Because the zone is separate from the rule, one zone can be used by many rules.
flowchart LR
REQ["Sign-in request"] --> IP["Find the client address"]
IP --> MATCH{"Which zones contain this address or place?"}
MATCH --> Z1["Office zone"]
MATCH --> Z2["Partner zone"]
MATCH --> Z3["Blocked zone"]
MATCH --> Z4["No zone"]
Z1 --> RULE["Policy rules use the result as a condition"]
Z2 --> RULE
Z3 --> RULE
Z4 --> RULE
What zones are good for
Reduce friction
People on the office network or trusted VPN can be asked for less, because the place is familiar.
Raise the bar
People arriving from unusual places or hiding services can be asked for stronger proof.
Block clear danger
Traffic from places you never do business with, or addresses known to attack, can be refused outright.
Restrict machines
Automation and API tokens can be limited so they only work from your servers’ addresses.
Protect against floods
Combined with Okta’s threat features, zones help tell friendly addresses from hostile ones.
Explain events
Zone names in logs and reports make it easy to see “this came from Partner” instead of a bare number.
A school keeps a short list of approved pickup people for each child. Instead of the teacher memorizing every parent’s face, there is a named list at the front desk. When a family changes, the office updates one list and every teacher is automatically right. A zone is that list.
Okta changes menu names, zone options, and limits over time, and some features depend on your license. This guide describes the lasting ideas and uses cautious wording about exact screens. Before building anything real, confirm the details in the current Okta documentation for your org.
3Static and Dynamic: What “Dynamic” Means
The word dynamic is used in two related ways around network zones. Separating them clears up much confusion.
Meaning one: zones defined by description, not by list
A static zone is a fixed list of addresses that you type in and maintain yourself. If the list changes, you change it. A dynamic zone, in Okta’s own terms, is a zone defined by a description instead of a list. You say “any request from this country” or “any request from this internet provider” or “any request through this category of anonymizing service”. Okta then decides whether a particular request fits that description, using data it maintains. You do not list the addresses, and when the world changes, for example when a provider gets new address blocks, Okta’s data changes and the zone follows automatically.
Meaning two: zones you keep fresh by automation
The second meaning is about how you maintain a static zone. Instead of editing addresses by hand, you can use Okta’s programming interfaces, or tools that apply configuration from files, to update a zone automatically when your real network changes. For example, a script could refresh a zone each night from a list of addresses your cloud provider publishes. The zone is still a list in Okta, but the list is kept current by a machine. People sometimes call this a “dynamically maintained” zone.
| Question | Static zone | Dynamic zone (description-based) | Static zone kept fresh by automation |
|---|---|---|---|
| How is it defined? | List of addresses | Places, providers, categories | List of addresses, updated by a program |
| Who maintains the data? | You | Okta and its data sources | You, through automation |
| Best for | Your own known networks | Broad ideas such as “this country” or “anonymizers” | Networks that change often and are published by someone |
| Main weakness | Goes stale when networks change | Data can be imperfect or surprising | Automation can break or push a wrong list |
| Precision | Exact | Approximate | Exact, if the source is right |
flowchart TD
Q{"What do you want to describe?"}
Q -- "My own offices and servers" --> S["Static zone: list your addresses"]
Q -- "A country, a provider, or a hiding service" --> D["Dynamic zone: describe it, Okta supplies the data"]
Q -- "A network published by a vendor that changes often" --> A["Static zone plus automation to keep it fresh"]
Neither is better, they are different tools
Beginners sometimes think dynamic zones are the modern replacement for static ones. They are not. Static zones remain the right choice for networks that you own and know exactly, such as your headquarters. Dynamic zones shine when the thing you want to describe is too large or changes too fast to list, such as “everything in this country” or “all known anonymizing services”. Most real designs use both, side by side.
A dynamic zone changes without you touching it, because Okta’s underlying data changes. That is its strength and its risk. A rule that behaved one way last month may behave slightly differently this month. Monitor the effects, and do not use a dynamic zone as the only protection for something critical.
A static zone is like a printed phone list of your closest friends: exact, but you must update it. A dynamic zone is like a contacts search for “everyone in Berlin”: you do not type the names, the phone’s data does, though you must accept that it sometimes includes odd entries or misses someone who just moved.
4The Kinds of Zones in Okta
Okta offers several zone types. Knowing what each can describe lets you pick the right one for each job.
IP zones
An IP zone is the classic static type. You list addresses and ranges that belong together, such as the head office, a branch, a partner, or your cloud servers. An IP zone can also describe two special roles. Gateway addresses are the addresses your own network edge uses when your people go out to the internet, which is what Okta will see. Proxy addresses are trusted proxy servers that sit in front of Okta traffic and pass on the real client address. Setting these correctly matters, because it affects which address Okta believes the person is using, a point the next chapters explore.
Dynamic zones
Okta’s dynamic zones describe network origin by location, such as countries or regions, and by other attributes that Okta can evaluate. The newer form, often called an enhanced dynamic zone, can combine several kinds of description: locations, autonomous system numbers that identify internet providers and large networks, and IP service categories that identify types of services such as anonymizing proxies. The exact names and choices differ between releases, so check what your org offers.
IP zone
A list of addresses and ranges you maintain. Best for your own known networks. Can mark gateway and trusted proxy addresses.
Dynamic zone, by location
Matches requests that appear to come from chosen countries or regions, using Okta’s location data.
Dynamic zone, by provider
Matches requests from chosen internet providers or large networks, identified by autonomous system numbers.
Dynamic zone, by service category
Matches requests that pass through categories of services Okta tracks, such as anonymizing proxies.
Two purposes: policy and blocklist
Zones are used in two broad ways. A zone for policy is a normal zone that rules can read as a condition. A zone for blocklist is special: requests from a blocklist zone are refused at the front, before ordinary policy rules even run. This makes blocklist zones powerful and dangerous. They are covered in their own chapter.
| Zone | Describes | You maintain it? | Good for |
|---|---|---|---|
| IP zone | Exact addresses and ranges | Yes | Offices, VPN exits, servers, partners |
| Dynamic zone, location | Countries and regions | Choose places; Okta supplies the data | Country-level policies |
| Dynamic zone, provider | Internet providers and large networks | Choose providers; Okta supplies the data | Hosting providers, specific carriers |
| Dynamic zone, service category | Kinds of services such as anonymizers | Choose categories; Okta supplies the data | Stricter checks for hiding services |
| Blocklist usage | Any of the above, marked for refusal | Yes | Clear, high-confidence danger only |
Think of the different kinds of maps a delivery company keeps. One is a street-by-street map of its own warehouses (IP zones). One is a country-level map of where it ships (location zones). One lists which couriers are partners (provider zones). One lists known fake delivery services to avoid (category zones). Each map answers a different question.
5Location Zones: Countries and Regions
Location is the most intuitive way to describe a network. It is also the one most likely to surprise you.
How location is worked out
An IP address does not carry a map reference. Companies that build geolocation databases estimate where each address block is used, by combining information about who registered it, where its traffic seems to enter the internet, and other sources. Okta uses such data to guess the country, region, or city for a request. The guess is usually good for country, less good for region, and often rough for city. For mobile phones, the guess may point to the carrier’s hub rather than the person.
When location is right, and when it is wrong
| Situation | What the zone sees | Reality |
|---|---|---|
| Staff at a branch office in Mumbai | India | Correct |
| Person abroad using a VPN with an exit in Germany | Germany | Person is elsewhere; location is the VPN’s |
| Phone on a mobile network | Carrier’s regional hub, maybe another city | Person could be anywhere nearby |
| Company routes all traffic through one headquarters | Headquarters country | Staff worldwide look as if they are at headquarters |
| Satellite or in-flight internet | Provider’s ground station country | Person is in the air |
| Newly assigned address block | Old or wrong country until databases update | May be out of date for weeks |
Using location wisely
Because location is an estimate, treat it as a reason to ask for more, not as a reason to refuse. A common good pattern is a pair of zones: one called “Countries we operate in” and one called “All other countries”. Sign-ins from the first follow normal rules. Sign-ins from the second are stepped up to a strong factor, and from a short list of places where the company has no reason to be at all, they may be blocked. Always include a path for honest travelers.
flowchart TD
A["Sign-in with estimated country"] --> B{"Country group"}
B -- "Countries we operate in" --> C["Normal rules"]
B -- "Other countries" --> D["Step up to strong factor"]
B -- "No-business countries" --> E["Block, with support contact"]
Do not treat country as the only guard on anything important. Attackers can rent addresses in any country, including yours. A country zone raises the bar for careless attackers; it does not stop careful ones.
A postmark tells you roughly which post office handled a letter, but the letter could have been dropped in a mailbox far from its writer, or carried by a friend. A location zone reads the postmark: useful, but not the writer’s home address.
6Provider Zones: Autonomous System Numbers
Sometimes the useful question is not “which country?” but “which company runs this network?”. Provider zones answer exactly that.
What an autonomous system number is
The internet is made of many separate networks run by different organizations: internet providers, cloud companies, universities, large businesses. Each such network that connects to the wider internet has an identifying number called an autonomous system number, or ASN. You can think of it as a license plate for a network operator. When a request arrives, the address it came from belongs to one of these networks, so Okta can tell you which operator’s network was used.
Why provider information helps
Provider names tell you a great deal about the kind of traffic. Requests from a home broadband provider look like a person at home. Requests from a mobile carrier look like a phone. Requests from a big cloud or hosting company look like a server, not a person sitting at a laptop. Real people rarely type passwords directly from a rented server in a data center, but attack software often runs from exactly such places. A provider zone can therefore be used to treat hosting networks with extra caution, or to recognize the specific provider that your own company or a partner uses.
Recognize your own provider
If your offices all use one provider, a provider zone can help recognize office traffic even when individual addresses change.
Treat hosting networks carefully
Sign-ins coming straight from data-center networks are unusual for people and common for attack tools. Ask for more proof.
Allow a partner’s network
When a partner has its own network identity, a provider zone can be more stable than a long list of addresses.
Support investigations
Provider names in the log help analysts group attacks: “forty failed sign-ins from the same hosting provider”.
The limits of provider zones
- Large providers are mixed. A big cloud company hosts both attackers and your own legitimate servers and many honest services. Blocking a whole provider can break legitimate things.
- Companies change providers. A branch that switches internet providers suddenly looks different, and a provider-based rule may stop recognizing it.
- VPN and privacy services use ordinary providers. Many such services rent space at normal hosting companies, so the provider alone may not reveal them.
- Mobile carriers cover enormous populations. Allowing or blocking a carrier affects huge numbers of unrelated people.
flowchart LR
ADDR["Client address"] --> LOOK["Look up network operator"]
LOOK --> ASN["Autonomous system: provider identity"]
ASN --> K{"Kind of provider"}
K -- "Home or office internet" --> H["Likely a person at a normal place"]
K -- "Mobile carrier" --> M["Likely a phone, location approximate"]
K -- "Cloud or hosting" --> C["Likely a server, treat with extra care"]
If a phone call comes from a number belonging to a hospital, a family home, or a call-center company, you form different guesses about the caller. You do not know exactly who is speaking, but the owner of the line shapes how you listen. The ASN is the owner of the line.
7IP Service Categories: Anonymizers and Proxies
Some services exist mainly to hide where traffic really comes from. Okta can recognize categories of these, which makes them a valuable dynamic clue.
The kinds of hiding services
Privacy and anonymity services have many honest uses, such as protecting journalists, travelers, and ordinary people on public Wi-Fi. They are also a favorite tool of attackers, because they make many different attackers look like they come from a few shared addresses, and hide the attacker’s true location. The main families are the following.
Anonymizing proxies
Servers that pass traffic on behalf of users, replacing the user’s address with their own.
Anonymity networks
Systems such as Tor that route traffic through several hops specifically to hide its origin.
Consumer VPN services
Commercial services that let a person appear in another place. Heavily used by honest privacy-minded people and by attackers.
Residential proxy networks
Networks of ordinary home connections rented out, harder to detect because the addresses look like normal households.
The exact categories that Okta can recognize, and how complete its data is for each, change over time and are Okta’s own. Treat the list as a helpful but incomplete filter. Check the current documentation to see what your org supports.
How a dynamic category zone behaves
You pick one or more categories. Okta keeps its own information about which addresses currently belong to those categories, updating as services appear, move, and disappear. When a request arrives, Okta checks whether its address falls inside any chosen category. If it does, the request matches the zone. You never see or manage the actual list of addresses, which is both the convenience and the limitation.
Choosing a response
| Response | Good when | Risk |
|---|---|---|
| Treat as higher risk and step up to strong factor | Your staff may legitimately use privacy tools | Some extra prompts for privacy-minded users |
| Block for sensitive applications only | Applications hold critical data and staff have no need for anonymizers | Honest users must switch off the tool to proceed |
| Block everywhere through blocklist | Your risk is extreme and policy is clear | Locks out honest users in many contexts, harder to exempt |
| Allow but log and alert | You are still learning what normal looks like | No protection yet |
flowchart TD
A["Sign-in arrives"] --> B{"Address in anonymizer category?"}
B -- "No" --> C["Continue with normal rules"]
B -- "Yes" --> D{"Application tier"}
D -- "Low" --> E["Allow with MFA, log"]
D -- "Moderate or high" --> F["Step up to phishing-resistant factor"]
D -- "Critical" --> G["Deny, alert, explain how to get help"]
Categories are never complete. A determined attacker can use a freshly rented address that no list has seen yet, or a residential network that looks like a normal home. A category zone catches the careless and the common, which is valuable, but it is not a wall.
A shopkeeper may ask extra questions of anyone who walks in wearing a full face covering. Most such customers could be innocent, for instance in cold weather, so the shopkeeper does not call the police. They simply check more carefully. Treating anonymizers with extra checking is the same polite caution.
8Blocklist Zones: The Front Gate
A blocklist zone is the strongest and most dangerous use of a zone. It acts before any normal rule has a chance to speak.
How a blocklist differs from a policy zone
A normal zone used in a policy rule is only a condition. The rule decides what to do about it, and rules can be written with many other conditions, exceptions, and careful alternatives. A blocklist zone is different. When a zone is marked for blocklist use, requests from it are refused at the front gate, across the organization, before ordinary policy rules are evaluated. It is a blunt instrument, built for clear, high-confidence danger.
flowchart TD
R["Incoming request"] --> BL{"In a blocklist zone?"}
BL -- "Yes" --> X["Refused immediately"]
BL -- "No" --> POL["Evaluate policy rules and conditions"]
POL --> D["Allow, step up, or deny"]
Exempt addresses
Because a blocklist is so blunt, Okta provides a way to exempt certain addresses so they are never blocked, even if they fall inside a blocklist zone. Exemptions protect critical paths: your own offices, your identity infrastructure, your emergency access routes. Think carefully about what must always be reachable, and put exactly that in the exemption, and no more.
Known attacker ranges
Address ranges clearly used to attack you, confirmed from your own logs.
Countries with no business
Places where you have no staff, customers, or partners, and where abuse has been seen.
Entire hosting providers
Blocks countless honest services and your own cloud workloads that happen to share the provider.
Uncertain anonymizer lists
Catches honest privacy-minded users along with attackers, and cannot be easily relaxed per application.
Policy zones are usually the better tool
In most cases, a normal zone plus a well-written rule is better than a blocklist. The rule can say “block this for the payment console, but only ask for a strong factor for the intranet”. A blocklist cannot make that distinction; it blocks everything everywhere. Reserve blocklists for the few cases where you truly want a blanket refusal.
A mistaken blocklist entry can lock out an entire office or partner in an instant, and since it blocks before policy runs, even your usual fixes inside policy rules will not help. Before adding to a blocklist, test the exact addresses, keep exemptions in place for your critical paths, and have a break-glass route that does not depend on the blocked path.
A bouncer’s list at the club door is checked before anyone gets to the bar or the dance floor. It is quick and strong, but a mistake on the list keeps a person out of the entire building, no matter how nicely the staff inside would have treated them. The list should therefore be short, careful, and reviewed.
9How Okta Matches a Sign-In to a Zone
To trust a zone, you must know which address Okta is actually looking at. Several things can make that address differ from what you expect.
Finding the client address
When a person opens an Okta sign-in page, the request travels through the internet and reaches Okta. Okta sees the address of the machine that connected to it. If the person is on a normal connection, that address is the person’s own. But many requests pass through other machines on the way: a company web proxy, a cloud security gateway, a content delivery network, or a VPN. Then Okta sees the address of the last machine in the chain, not the person’s own.
Forwarded addresses
To handle this, well-behaved proxies add the original client address to the request in a standard header, often called X-Forwarded-For. Okta can read this header, but it must be careful: anyone can write a false header. So Okta only trusts forwarded addresses that arrive through proxies you have declared as trusted in a zone. This is why IP zones have a place to list trusted proxy addresses. If you do not declare them, Okta uses the proxy’s address, and every user behind that proxy appears to come from the same place. If you declare a proxy you should not trust, an attacker may be able to claim any address they like.
sequenceDiagram
participant P as Person
participant X as Company proxy
participant O as Okta
P->>X: Request from 198.51.100.7
X->>O: Request from proxy 203.0.113.9 with forwarded header naming 198.51.100.7
O->>O: Is 203.0.113.9 a declared trusted proxy?
O-->>X: Trusted proxy means the forwarded address 198.51.100.7 is used, otherwise 203.0.113.9 is used
The order of evaluation
Determine the client address
Use the connecting address, or the forwarded address if it came through a declared trusted proxy.
Check the blocklist
If the address falls in a blocklist zone and is not exempt, the request is refused at once.
Work out zone membership
Compare the address and the data about it with each zone: listed addresses, location, provider, and service categories.
Evaluate policy rules
Rules in priority order test their conditions, including zone membership. The first matching rule wins.
Apply and record
The chosen action is taken and the event is written to the System Log with the network context.
The System Log records the network details Okta saw for each event: the address, the apparent location, the provider, and whether the request looked proxied. When a rule does something unexpected, read these details first. They tell you what Okta really saw.
If a package arrives via a courier, the label on the outside might say the courier’s depot, while a slip inside names the real sender. You will only believe the slip if you trust the courier. Trusted proxy settings are your list of couriers whose slips you believe.
10Where Zones Are Used in Okta
A zone by itself does nothing. Its power comes from the places that read it. Here are the main ones.
Authentication policies
Per-application rules can use zones as conditions to choose the proof required: lighter on office networks, stronger from unusual zones.
Global session policy
Rules about how a session with Okta itself begins and lasts can depend on the zone the person comes from.
Password and recovery rules
Where available, rules about password changes and account recovery can be restricted to trusted places.
API token restrictions
API tokens can be limited so they only work from chosen zones, such as your servers’ addresses, so a stolen token is harder to use elsewhere.
Authorization server policies
Rules that decide which tokens are issued for your own APIs can include zone conditions.
ThreatInsight exemptions
Zones can mark trusted networks that should be exempt from threat-based blocking, so partners and offices are not wrongly flagged.
Blocklist
Zones marked for blocklist use cause immediate refusal before policy rules are evaluated.
Reports and logs
Zone names appear in records and make it easy to understand where activity came from.
flowchart LR
Z["Network zones"] --> AP["Authentication policies"]
Z --> GS["Global session policy"]
Z --> PW["Password and recovery rules"]
Z --> API["API token network restrictions"]
Z --> AS["Authorization server policies"]
Z --> TI["ThreatInsight exemptions"]
Z --> BL["Blocklist"]
Why this reach is both useful and dangerous
The benefit of zones being shared is consistency: one correct definition supports many controls. The danger is the same fact turned around. Editing a zone changes every control that uses it, often in ways nobody remembered. A tiny edit to the “Office” zone can alter how dozens of applications ask for proof, how API tokens work, and which partners are exempt from threat blocking. Before editing any zone, find everything that depends on it.
| Before you edit a zone, ask | Why |
|---|---|
| Which authentication and session policies use it? | Their behavior will change immediately |
| Do any API tokens or automations depend on it? | Servers may suddenly be refused |
| Is it listed as an exemption for threat blocking? | Removing it could start blocking a partner |
| Is it used in the blocklist? | A mistake could lock out a whole group at the front gate |
| Who owns it, and who must be told? | Surprises damage trust and cause outages |
A shared address book entry for “Head Office” might be used by the mail system, the phone directory, and the visitor badge printer. Changing the entry fixes all three at once, which is wonderful if you changed it correctly and chaotic if you made a typo.
11Designing a Zone Strategy
A handful of well-designed zones beats a hundred improvised ones. A little structure at the start saves years of confusion.
Think in layers
A useful way to design zones is in layers, from most trusted to least trusted. Each layer answers a question, and rules combine them. Keep the number of zones modest and the purpose of each crystal clear.
| Layer | Example zone names | Contents | Typical use |
|---|---|---|---|
| Own trusted networks | NET-Office-HQ, NET-VPN-Exit | Static lists of your own addresses | Lighter proof, longer sessions |
| Own servers and automation | NET-Servers-Prod | Static lists, possibly kept fresh by automation | Restrict API tokens and service access |
| Partners and vendors | NET-Partner-Payroll | Static lists agreed with each partner | Exempt from threat blocking, scoped access |
| Operating countries | GEO-Operating | Dynamic, locations | Normal rules |
| Other countries | GEO-Other | Dynamic, everything else | Step-up to strong factor |
| No-business countries | GEO-Blocked | Dynamic, a short list | Deny or blocklist |
| Hiding services | SVC-Anonymizers | Dynamic, service categories | Step-up or deny by application tier |
| Risky hosting networks | ASN-Hosting-Watch | Dynamic, providers | Extra checks for people-facing sign-in |
Naming that explains
Use a naming pattern that tells a reader the type and purpose at a glance, such as a short prefix for the family (NET for your networks, GEO for places, SVC for service categories, ASN for providers) followed by a clear name. Add a short description to each zone stating who owns it, why it exists, and when it was last reviewed. A zone with a vague name and no owner is a future outage waiting for someone to edit it.
Ownership and change control
Give every zone a named owner. Require a second pair of eyes for changes to zones used in the blocklist, in API token restrictions, or in critical application policies. Keep a short history of changes with reasons. Review all zones on a calendar, perhaps quarterly, deleting those no longer used and fixing those that have drifted.
flowchart TD
A["Need a new zone"] --> B{"Does an existing zone already fit?"}
B -- "Yes" --> C["Reuse it"]
B -- "No" --> D["Pick type: static, dynamic, or automated"]
D --> E["Name by pattern and add owner and purpose"]
E --> F["Review by second person"]
F --> G["Test with real examples"]
G --> H["Use in rules and record the change"]
Resist creating a new zone for every request. Ask first whether an existing zone can be reused. Fewer zones mean fewer places to go stale and fewer surprises when someone edits one.
A well-organized filing cabinet has a few clearly labeled drawers. A cabinet with hundreds of oddly named folders, many empty and several duplicated, slows everyone down and hides mistakes. A zone strategy is the labeling plan for the cabinet.
12Use Case: The Remote Workforce and VPN
Millions of people work from home. Networks designed for the office suddenly have to cope with a workforce spread across thousands of home connections.
Home workers do not have a stable address
An office has a fixed set of addresses. A home worker has whatever their internet provider gives them, which may change often and is shared with nobody in the company. A zone listing every employee’s home address is impossible. A rule saying “only allow the office zone” would lock out remote staff entirely. So for remote work, network zones are used differently: not to say “this is trusted”, but to say “this is not obviously dangerous“.
Company VPN as a trusted path
Many companies ask remote staff to connect through a company VPN, a secure tunnel into the company network. Traffic then leaves the VPN from a small set of known exit addresses. A static zone listing those exit addresses lets you recognize “this came through our VPN”. Rules can then treat VPN traffic as familiar. Note that a VPN is only as trustworthy as its sign-in, so a stolen VPN credential makes the exit address meaningless as proof. Use the VPN zone to reduce friction, not as a substitute for strong factors.
Split tunnel versus full tunnel
| Setup | What goes through the VPN | What Okta sees |
|---|---|---|
| Full tunnel | All internet traffic from the device | Company VPN exit address for sign-ins |
| Split tunnel | Only traffic to company systems | Home address for sign-ins to cloud services like Okta |
| No VPN | Nothing | Home address |
The distinction matters. Under split tunnel, Okta sees the person’s home address when they sign in to cloud applications, and a VPN zone will not match even though the person is connected. If your design depends on VPN exit zones, check how the VPN is configured, and test sign-ins from a real remote laptop with the VPN on and off.
flowchart TD
H["Remote worker"] --> V{"VPN mode"}
V -- "Full tunnel" --> E["Sign-in appears from VPN exit address: VPN zone matches"]
V -- "Split tunnel" --> HA["Sign-in appears from home address: no VPN match"]
V -- "No VPN" --> HA
E --> R1["Rules treat as familiar"]
HA --> R2["Rules rely on device, factor, and risk signals"]
Better signals for remote work
Because the network tells you little about a home worker, shift your trust to better signals: whether the device is managed and healthy, whether sign-in uses a device-bound method, and whether the behavior fits the person’s history. Use zones mainly to catch the unusual, such as a sign-in from an anonymizing service or an unexpected country, instead of expecting zones to confirm that remote workers are legitimate.
If you move from an office-based model to a remote model, review every rule that reduces proof based on the Office zone. Staff who once benefited from lighter checks on the office network may now be challenged everywhere, or, worse, a rule that was safe when most traffic came from the office may be too generous now that attackers can join your VPN with a stolen password.
When everyone worked in one building, the front door guard knew the faces. When staff work from home, you cannot rely on faces at the door; you rely on a personal key, a known laptop, and habits. The network is just one of several clues.
13Use Case: Travelers and Global Teams
A company with people who travel, or staff in many countries, cannot treat every unexpected country as an attack. Zones can help treat travel fairly.
The traveler problem
A salesperson flies from Delhi to Frankfurt for a conference and signs in from hotel Wi-Fi. Their location suddenly changes. A rule that blocks unfamiliar countries would lock them out at the worst moment. A rule that ignores country entirely would also let an attacker in from the same unexpected place. The right answer lies between: treat the unexpected country as a reason to ask for stronger proof, not as a reason to refuse.
A fair pattern
Define operating countries
Create a dynamic location zone listing countries where you have staff, customers, and partners. Sign-ins from these follow normal rules.
Define the rest of the world
Create a second zone for all other countries. Sign-ins from it are stepped up to a strong, phishing-resistant factor.
Keep a short no-business list
A small zone of places where you have no reason to be, and where abuse is common, can be denied with a clear message and support contact.
Offer a travel path
Staff who will travel to restricted places can request a temporary exception through a short process with approval and an end date.
Review and adjust
As the company opens new offices or markets, move countries into the operating list.
The global team problem
If staff routinely work in dozens of countries, the “operating countries” list becomes long, and location tells you little. In that case, location is a weak clue, and the real protection must come from strong factors and device trust. Use country zones to flag the truly odd, not to define the normal.
| Situation | Weak design | Better design |
|---|---|---|
| Salesperson travels abroad | Blocked in the foreign country | Stepped up to a strong factor |
| Executive on holiday | Blocked or silently allowed | Strong factor and alert to security |
| Employee relocates permanently | Challenged for months | Update their group or profile to include the new country |
| Contractor in a new country | Same rules as employees | Narrower application access and stronger proof |
Make the travel path visible to staff. A short intranet page that says “traveling? here is what to expect and how to get help” reduces help desk calls and reduces the temptation to use risky workarounds.
A bank that sees your card used abroad does not cancel it; it may text you to confirm. Most customers on holiday are honest, and a quick check keeps both the traveler and the account safe. A step-up for unfamiliar countries is that text message.
14Use Case: Servers, Automation, and API Tokens
Not every sign-in is a person. Programs also talk to Okta, and zones are one of the best ways to keep those programs on a short leash.
Machines have predictable homes
A person may sign in from anywhere. A server running an automated job almost always runs from the same place: a data center or a cloud account with a stable set of outgoing addresses. This predictability makes zones a strong control for machines. You can say “this API token may only be used from these addresses”. If the token is stolen and used from anywhere else, Okta refuses it, even though the token itself is valid.
What an API token is
An API token is a secret code that a program uses to prove it is allowed to manage Okta, for example to create users or read logs. Tokens are powerful, since they carry the permissions of the administrator who created them. Restricting a token to a network zone limits where its power can be used from. It does not replace good storage and rotation of the secret, but it shrinks the damage of a leak.
sequenceDiagram
participant J as Automation job
participant O as Okta
participant A as Attacker with stolen token
J->>O: API call from server zone address
O-->>J: Allowed, address is in the allowed zone
A->>O: API call with same token from another address
O-->>A: Refused, address is outside the allowed zone
Keeping server zones accurate
Cloud servers can change outgoing addresses when they are rebuilt or moved. Use a stable arrangement, such as a fixed outgoing address or a managed gateway, and put exactly those addresses in a dedicated server zone. If your cloud provider publishes its address ranges, resist the temptation to allow an entire published range: other customers of the same provider share it. Prefer your own fixed outgoing addresses.
One zone per environment
Keep production, testing, and development server zones separate so a testing mistake cannot open production.
Fixed outgoing addresses
Route automation through a gateway with stable addresses, so zone lists rarely change.
Tokens per purpose
Create separate tokens with separate zone limits for separate jobs, rather than one token for everything.
Alert on refusals
A refused token call from an unexpected place may be the first sign of a leaked secret.
If you tighten token zones without telling the automation teams, jobs will start failing, often silently at night. Announce the change, test each job, and watch the log for refused calls for the first few days. Keep the old setting documented so you can restore it if a critical job breaks.
A company car key that only starts the engine when the car is inside the company parking lot would be useless to a thief who drives it away. The key is still a real key; the place limits its use. A zone restriction on a token works the same way.
15Use Case: Partners, Vendors, and Contractors
Outsiders who legitimately need access bring networks that you do not control. Zones help you welcome them without opening the whole house.
Why partners need special handling
A partner company’s staff sign in from the partner’s own offices and networks. If you do nothing special, those sign-ins look like strangers from unknown places, and your threat features may even treat the partner’s shared outgoing address as suspicious, particularly if one of their computers is infected. Zones let you describe partners clearly, so you can grant exactly the right level of trust and no more.
A zone per partner, not one for all
Resist a single catch-all “Partners” zone. Different partners have different needs and different risk. A payroll provider needs access to one application; a consulting firm may need several. Creating one zone per partner, named after them, lets you give each the access they need and take it away cleanly when the contract ends. It also makes logs readable: “blocked from Partner-Logistics” tells a story that “blocked from Partners” does not.
Agree on addresses
Ask the partner for their stable outgoing addresses and a contact who will warn you before they change.
Create the zone
A static zone named for the partner, with owner, purpose, and contract end date in the description.
Scope the access
Use the zone in rules for only the applications the partner needs, and keep strong factors in place.
Exempt from threat blocking if needed
If the partner’s shared address is wrongly flagged, add their zone to the exemption list, with care and review.
Review on a schedule
Check the addresses and the need for access every quarter, and remove the zone when the relationship ends.
Do not treat a partner zone as proof
A partner’s network being in a zone means only that the request came from where you expected. It does not prove which of the partner’s thousands of employees is signing in, nor that their computer is healthy. People at the partner can be phished just like your own staff. Keep strong factors, scoped application access, and device checks wherever you can, and use the zone to reduce unnecessary blocking, not to excuse proof.
| Question | Good practice |
|---|---|
| How many partner zones? | One per partner, so access and cleanup are separate |
| What do they get? | Only the applications they need, nothing more |
| What proof do they need? | The same strong factors as staff for sensitive applications |
| What if their address changes? | A named contact informs you in advance; you update the zone |
| When does it end? | On the contract end date, with a calendar reminder to remove the zone |
Outsourced help desks and call centers are a favorite target for attackers because they hold powerful access. A partner zone for such a provider should be paired with tight scoping and extra monitoring, and sign-ins from it should never skip strong proof for sensitive actions such as password resets.
A building gives a visiting contractor a visitor badge that opens only the rooms they need, valid for the length of the job. It does not give them the master key just because they came through the front door at the expected time.
16Use Case: Slowing Credential Attacks with Zones
Many attacks come in huge, automated waves. Dynamic zones are a handy tool for making such waves harder, though never impossible.
The shape of an automated attack
In credential stuffing, attackers take lists of stolen usernames and passwords from other breaches and try them against your sign-in page, hoping people reused passwords. In password spraying, they try a few very common passwords against many accounts. Both are automated and run from servers or networks of infected machines. They tend to come from cloud and hosting providers, from anonymizing services, and from a modest set of countries, though the exact mix changes constantly.
What dynamic zones add
- Service category zones let you apply extra proof to traffic that arrives through anonymizing services, without maintaining a list of those services yourself.
- Provider zones let you treat sign-ins that come directly from hosting networks as unusual, since real people rarely sign in from rented servers.
- Location zones let you apply stronger checks to places that are not part of your business.
- Threat features such as ThreatInsight add Okta’s wider knowledge of attacking addresses on top of your own zone choices.
flowchart TD
A["Wave of sign-in attempts"] --> B{"Blocklist zone?"}
B -- "Yes" --> X1["Refused at front gate"]
B -- "No" --> C{"Known threat address?"}
C -- "Yes" --> X2["Blocked or logged by ThreatInsight"]
C -- "No" --> D{"Anonymizer or hosting zone?"}
D -- "Yes" --> S["Step up to strong factor, alert on bursts"]
D -- "No" --> E["Normal rules and risk checks"]
The honest limits
Attackers can use residential proxies, rented addresses in your own country, or compromised computers inside your region. When they do, zones see nothing unusual. Dynamic zones raise the cost for lazy attackers and cut down noise, but they cannot protect an account whose password is stolen and whose second factor can be relayed. The reliable defense is a strong factor tied to the real website address. Zones decide who is asked for it more often.
| Attack source | Zone that helps | Zone that does not |
|---|---|---|
| Cheap cloud servers abroad | Provider zone, location zone, threat features | Your office zone |
| Anonymizing services | Service category zone | Provider zone alone |
| Residential proxies in your city | Very little; rely on strong factors and behavior | All network zones |
| Insider with a stolen laptop | None; device and behavior signals matter | All network zones |
Start new attack-oriented zone rules in a log-only fashion. Look at how many honest sign-ins would have been affected before turning on enforcement. You often discover a legitimate partner, a branch office, or a group of staff on a privacy tool that you would have blocked by accident.
A shopkeeper faced with a gang of pickpockets might put extra staff near the door and watch bags more carefully. That slows the clumsy ones, but a skilled thief dressed as an ordinary customer still gets through. Zones are the extra staff, not the vault door.
17Use Case: Shared Addresses and Carrier-Grade NAT
Sometimes thousands of unrelated people share a single address. Rules that treat an address as one person’s identity then go badly wrong.
Many people, one address
The internet has far more devices than available addresses, so providers often make many customers share a single public address, a practice usually called network address translation, or NAT. Large mobile carriers and some home providers use an extreme form called carrier-grade NAT, where thousands of phones may appear to come from the same few addresses. Company offices do the same on a smaller scale: everyone inside appears as one address to the outside world.
What goes wrong
- Collateral blocking. If one bad actor on a shared address triggers a block, thousands of honest users on the same address are blocked too.
- False trust. If an office address is in a trusted zone, any visitor or infected device inside the office inherits that trust.
- Misleading behavior detection. “New address” may mean nothing when the address changes constantly for a mobile user.
- Hotspot surprises. A phone shared as a hotspot gives a laptop the phone’s carrier address, which may look like a different place from the laptop’s usual one.
Block narrowly
Prefer step-up over blocking for shared addresses so honest bystanders can still pass with stronger proof.
Do not over-trust offices
An office zone should reduce friction a little, not remove strong proof for sensitive systems.
Use identity signals
Lean on device-bound factors and behavior history instead of the address, which is a poor identifier.
Watch for carrier changes
If a carrier reassigns addresses, thousands of users may suddenly look “new”. Expect and plan for such spikes.
flowchart LR
U1["Person A"] --> NAT["Shared public address"]
U2["Person B"] --> NAT
U3["Attacker"] --> NAT
NAT --> OK["Okta sees one address for all three"]
OK --> Q["A block on this address hits everyone"]
An apartment building has one street address and one mailbox bank. If you ban every letter sent from “12 High Street” because of one rude tenant, you ban every honest neighbor too. Shared addresses must be handled with the same care.
18Keeping Zones Fresh: Dynamic Maintenance
A zone that was right last year may be wrong today. Freshness is not a nice extra; it decides whether your rules still match reality.
Why zones go stale
Networks change all the time. A branch moves offices. A provider renumbers its customers. A partner adds a new data center. A cloud migration changes outgoing addresses. Each change makes some zone slightly wrong. A stale “trusted office” zone might include an address that now belongs to a stranger, or fail to include the new office, so your own staff are challenged on arrival.
Three ways to keep zones fresh
| Approach | How it works | Best for | Watch for |
|---|---|---|---|
| Regular human review | A calendar reminder and a short checklist for each zone owner | Small numbers of stable zones | Reviews get skipped when people are busy |
| Automation through APIs | A scheduled program updates zone contents from a trusted source of truth | Networks that change often and are tracked elsewhere | A wrong source can push wrong data everywhere quickly |
| Configuration as code | Zones are described in files kept in version control and applied by a tool | Large environments needing review and history | Manual edits in the console can drift away from the files |
| Description-based dynamic zones | Okta maintains the underlying data about places and services | Broad ideas such as countries or categories | Data is approximate and changes without your action |
A safe automation pipeline
When you automate zone updates, build in safety. Take addresses only from a trusted source of truth, such as your network team’s inventory. Compare the proposed new list with the current one and refuse any change that is suspiciously large, for example one that removes half the addresses or adds an enormous range. Send a notice to the zone owner for every change. Keep the previous version so you can restore it quickly. Limit which accounts and tokens can edit zones, and restrict those tokens to the automation server’s own zone.
flowchart LR
SRC["Source of truth: network inventory"] --> JOB["Scheduled update job"]
JOB --> CMP{"Change size reasonable?"}
CMP -- "No" --> HOLD["Hold and alert owner"]
CMP -- "Yes" --> APPLY["Apply to Okta zone"]
APPLY --> LOG["Record change and notify owner"]
LOG --> ROLL["Keep previous version for rollback"]
Detecting drift
Drift is the slow gap between what you intended and what is configured. Detect it by regularly comparing the zones in Okta with your source of truth, by watching for zone changes in the System Log made by anyone other than your automation, and by reviewing which zones have not matched any sign-in for months. Zones that never match are probably obsolete and should be deleted, because stale zones are future mistakes.
The power to edit zones is the power to change who is trusted. An attacker who can edit zones can add their own address to a trusted zone and walk in. Restrict zone editing to a small group, require review for changes to important zones, and alert on every zone change.
A phone’s contact list needs occasional tidying: people change numbers, some entries are duplicates, and old ones are dead. A company that never cleans its list eventually calls strangers. Zones need that same regular cleaning.
19Testing Zone Changes Safely
A zone change can quietly lock out a whole office or leave a door open. Test before you trust, and test where mistakes cost nothing.
Observe before you enforce
The gentlest approach is to add the zone first and watch. Create the new zone, and attach it to a rule that only logs or that applies to a tiny test group. Read the System Log for a week. Look at how many sign-ins match the zone, who they are, and whether they are honest. A zone that you thought matched only attackers may turn out to match your finance team’s mobile phones.
Test from real networks
It is surprisingly hard to test location and provider zones, because you need to actually sign in from those places. Options include a test device on a mobile hotspot, a laptop at a home connection, a test machine at a branch, or a test sign-in through a VPN with an exit in the target country. Use test accounts, never real employees. Record the address, location, and provider that Okta saw, and compare them with what you expected. Where your org offers a policy simulation tool, use it to see which rule would match a described situation, but still confirm with at least a few real attempts.
| Test | Network used | Expected result |
|---|---|---|
| Office staff on managed laptop | Office network | Matches Office zone, standard proof |
| Remote worker, full tunnel VPN | VPN exit | Matches VPN zone |
| Remote worker, no VPN | Home broadband | No office or VPN match, other signals decide |
| Traveler abroad | Foreign hotel Wi-Fi | Matches other-countries zone, strong factor required |
| Anonymizer test | Consumer VPN or privacy tool | Matches service category zone, stepped up or denied by tier |
| Automation job | Server in production zone | Allowed |
| Same token from laptop | Home broadband | Refused |
| Partner staff test | Partner network | Matches partner zone, scoped access only |
Roll out in rings
Test org or inactive rule
Build and review the zone and rule where nobody real can be affected.
Security team only
Apply the rule to a small group of people who understand it and can report issues precisely.
Volunteers from different sites
Include people on different networks, devices, and countries to catch location surprises.
One site or department
Check health signals for a couple of days before going wider.
Everyone, with rollback ready
Keep the previous zone contents and rule order recorded so you can reverse quickly.
Before testing anything that could block administrators, confirm your break-glass account works, keep a second administrator signed in on another device, and check that the emergency path does not depend on a zone you are about to change.
Before changing the traffic light timing on a busy junction, engineers watch the existing flow, simulate the new timing, trial it at a quiet hour, and only then switch it on for rush hour. Zone changes deserve the same patience.
20Zones Together with Risk and Behavior Signals
A zone is one clue among several. The best designs combine it with other signals so no single clue decides alone.
Why combine
Consider the clue “this sign-in is from an unfamiliar country”. By itself it is common and mostly harmless. Add “on a device never seen before”, and it becomes more interesting. Add “and a burst of failed attempts just before”, and it becomes alarming. Rules that combine clues are more precise: they catch more real attacks and trouble fewer honest people. Okta’s behavior detection, device assurance, and risk levels exist so that policy can use these combinations.
| Zone clue | Plus this clue | Sensible response |
|---|---|---|
| Office zone | Managed, healthy device | Lighter proof, longer session |
| Office zone | Unmanaged device | Standard proof, shorter session |
| Other-countries zone | Managed device with device-bound sign-in | Allow with a strong factor |
| Other-countries zone | New device and new behavior | Strong factor and alert |
| Anonymizer zone | Normal behavior for a known privacy-minded user | Step up and allow |
| Anonymizer zone | Many recent failures | Deny and alert |
| Hosting provider zone | Interactive login for a person | Step up, since people rarely sign in from servers |
flowchart LR
Z["Zone clue"] --> C["Combine in rule"]
DV["Device clue"] --> C
BH["Behavior clue"] --> C
RK["Risk level"] --> C
C --> ACT{"Response"}
ACT -- "All reassuring" --> A1["Allow smoothly"]
ACT -- "Mixed" --> A2["Step up"]
ACT -- "Several alarming" --> A3["Deny and alert"]
Use zones for what they are good at
Zones are strongest when the question is about place or kind of network, and weakest when the question is about identity. Use them to say “treat hiding services with suspicion”, “let our own VPN pass more easily”, or “keep this token on our servers”. Do not ask them to say “this person is who they claim to be”. That is a job for factors and devices.
When a rule depends on a single zone condition, ask yourself: what combination of two or three clues would make this rule more accurate? A small amount of extra precision can eliminate most false alarms.
A doctor does not diagnose from a single symptom. A cough alone could be anything; a cough with a high fever and a recent trip points somewhere specific. Combining signs is how both doctors and security systems avoid hasty conclusions.
21Security Considerations and Evasion
Zones are a security control, and like any control they can be bypassed, abused, or misconfigured. Knowing the weak points makes your design sturdier.
How attackers get around zones
- Residential and mobile proxies. Renting ordinary home or phone connections in your region makes traffic look local and normal.
- Fresh infrastructure. Newly rented servers may not appear in any list of bad addresses yet.
- Using your own trust. If an attacker gets into a device inside your office or VPN, they inherit the benefit of trusted zones.
- Header tricks. If a trusted proxy setting is too broad, an attacker may forge a forwarded address to claim a trusted one.
- Zone editing. An attacker with administrator rights can add their own address to a trusted zone.
- Waiting for stale data. Attackers exploit lists that are out of date, such as a trusted range that your company released long ago.
Hardening steps
Declare proxies narrowly
Trust forwarded addresses only from the exact proxies you operate, never from broad ranges.
Protect zone editing
Limit the administrator roles and tokens that can change zones, and alert on every change.
Never let a zone replace proof
Trusted-zone sign-ins should still meet strong factor requirements for sensitive systems.
Layer defenses
Combine zones with device trust, behavior detection, strong factors, short sessions, and monitoring.
Remove old trust
Delete zones and addresses you no longer use, especially after office moves or contract ends.
Review exemptions
Check blocklist and threat exemptions regularly, since they are shortcuts attackers love.
flowchart TD
ATT["Attacker goal: look like a trusted network"] --> M1["Rent local proxy addresses"]
ATT --> M2["Compromise a device inside office or VPN"]
ATT --> M3["Forge forwarded address header"]
ATT --> M4["Edit zones with stolen admin rights"]
M1 --> D1["Defense: strong factors, device trust, behavior"]
M2 --> D2["Defense: device health, least privilege, monitoring"]
M3 --> D3["Defense: narrow trusted proxy declarations"]
M4 --> D4["Defense: restrict zone editing, alert on changes"]
The most dangerous zone is the one that says “trusted” and quietly lets people skip strong proof. Review every rule that relaxes requirements for a zone. For each one, ask: if an attacker landed on this network with a stolen password, what would stop them?
A guard who waves through anyone wearing a company-colored jacket is easily fooled by a jacket from a shop. A guard who also checks the ID badge is much harder to fool. A trusted zone is the jacket; strong proof is the badge.
22Privacy, Fairness, and Employee Trust
Zones look at where people sign in from. That touches on privacy, on law, and on how fairly your staff are treated. A secure design is also a respectful one.
What zones reveal about people
Every sign-in carries an address, and an address can suggest a city, a country, a workplace, or a home. Over time, logs of those addresses reveal where a person lives, when they travel, and which networks they use. That is personal information in many places, and some regions have rules about how long it may be kept and for what purpose. Check with your privacy or legal team about retention periods for sign-in logs and about notices you owe to employees. This post is not legal advice, and requirements vary by country and industry.
Fairness in rules
- Country blocks can hurt honest people. A rule that blocks a whole country affects every employee, contractor, and customer there, as well as anyone traveling through. Make sure the business reason is real and that there is a documented path for exceptions.
- Privacy tools are not proof of guilt. Journalists, activists, and ordinary people in restrictive places use anonymizing services for legitimate protection. Stepping up proof is gentler than a flat denial.
- Some staff are affected more. Remote and traveling staff, field workers, and people with poor connections meet more challenges. Watch whether certain groups are repeatedly inconvenienced and fix the rules rather than asking them to put up with it.
- Be clear with people. Tell employees why extra proof is sometimes required, and give them a way to ask for help that does not feel like an accusation.
| Concern | Good practice |
|---|---|
| Log retention | Keep sign-in logs only as long as security and legal needs require, and document the reason |
| Location accuracy | Treat locations as approximate, and never treat them as evidence of wrongdoing |
| Blocking regions | Tie each block to a business or legal reason and review it regularly |
| Privacy tool users | Prefer step-up over denial unless there is stronger evidence |
| Employee communication | Publish a short plain explanation of why sign-ins are sometimes challenged |
| Access to logs | Limit who can see detailed sign-in locations, and record who looked |
Track the number of honest people who were challenged or blocked because of a zone rule. If that number is large and rising, the rule is costing more trust than it saves, even if it looks tidy on paper.
A security guard who stops every person wearing a hood treats many harmless people as suspects, while a smart thief simply takes off the hood. A fair rule asks everyone who looks unusual for one extra check, politely, and does not assume the worst.
23Monitoring, Logging, and Metrics
A zone you cannot see working is a zone you cannot trust. Good monitoring tells you whether the rules match reality and when something changes.
What the logs tell you
Okta’s System Log records each sign-in with the network information it used: the address, the location, the provider, and which zones the request matched. It also records changes to zones and policies, along with who made them. These records are the raw material for everything below. Send them to your central security monitoring system so you can search and alert on them alongside other logs.
Useful measures
| Signal | What it may mean | Action |
|---|---|---|
| Sudden jump in sign-ins from a hosting provider zone | Automated attack or a new legitimate integration | Check target accounts, tighten step-up, confirm with owners |
| Office zone matches drop to near zero | Office address changed or VPN rerouted | Verify with the network team, update the zone |
| Zone edited outside business hours | Possible misuse or an urgent fix | Check the editor and the change ticket |
| Many denials in one country | Attack, travel season, or an overly broad block | Review who is affected before changing the rule |
| Token used from an unexpected zone | Stolen token or a moved server | Confirm with the owner, rotate the token if unsure |
| Legitimate users repeatedly challenged | Zone data or rule too strict | Adjust rule, improve zone accuracy |
flowchart LR
SL["Okta System Log"] --> SIEM["Central monitoring"]
SIEM --> DASH["Dashboards of zone matches and challenges"]
SIEM --> ALR["Alerts on zone edits and spikes"]
ALR --> OWN["Zone owner and security team"]
DASH --> REV["Monthly review"]
REV --> TUNE["Adjust zones and rules"]
Alert on changes first
If you can alert on only one thing, alert on zone changes. A zone edit is rare, important, and easy to check against a change request. Every unexpected edit deserves a human look. After that, add alerts for sudden shifts in matching patterns, since those reveal both attacks and broken assumptions.
A building’s door log shows who entered, when, and by which door. If the back door suddenly sees fifty entries at three in the morning, nobody needs to be told that something is wrong. Logs plus a watching eye turn raw events into answers.
24Performance, Scale, and Reliability
Zones are checked on every sign-in, so they must be fast, and they must keep working when parts of the world around them fail.
Speed and limits
Checking a request against zones happens quickly, and for normal sizes you will not notice any delay. The practical limits are about manageability rather than speed. Okta limits how many zones and how many addresses per zone you can have, and the numbers differ by license and change over time. Check your own limits in the admin console. Very long address lists are also hard for humans to review. Aim for fewer, clearer zones, and use ranges rather than thousands of single addresses.
What reliability means for zones
- Data dependence. Location, provider, and service category zones depend on data that Okta maintains. That data is approximate and changes. Your rules must tolerate occasional errors.
- Your network dependence. Office and VPN zones depend on your network team keeping addresses stable. A failover to a backup internet link changes your outgoing address. If the backup address is not in the zone, everyone appears to come from an unknown place at the worst possible time.
- Vendor dependence. Partners and cloud providers may change addresses with little warning.
- Automation dependence. A broken update job leaves zones frozen at last month’s truth.
Include backup links
Add the addresses of failover internet connections and backup VPN endpoints to the right zones in advance.
Keep rules tolerant
Use step-up rather than hard denial where data is approximate, so small errors cause an extra prompt, not a lockout.
Watch update jobs
Alert if an automation job fails or has not run for longer than expected.
Stay within limits
Check zone counts and sizes against your limits periodically, before a deadline forces a rushed cleanup.
sequenceDiagram
participant N as Network team
participant Z as Okta zone
participant U as Employee
N->>N: Main internet link fails
N->>N: Traffic moves to backup link with a new address
U->>Z: Sign in from backup address
Z-->>U: Not in the office zone, stronger proof required
N->>Z: Backup address added to office zone ahead of time
Z-->>U: With the backup listed, normal experience continues
A hospital registers its main entrance and its emergency entrance with security. If it only registered the main one, an ambulance arriving at the side door would be treated as an intruder. Backup routes need to be on the list before the emergency.
25Failure Scenarios and Recovery
Zones fail in a few predictable ways. Knowing the symptoms and the fix in advance turns a panic into a routine.
Common failures
| Failure | Symptom | Fast recovery | Prevention |
|---|---|---|---|
| Office address changed | Staff suddenly challenged at the office | Add new address to the office zone | Network team warns the identity team before changes |
| Blocklist too broad | Whole groups cannot reach the sign-in page | Remove or narrow the range, using the break-glass path if needed | Review size and impact before saving a blocklist change |
| Proxy forwarding broken | All users appear to come from the proxy address | Fix the header setting or the trusted proxy list | Test with real forwarded traffic after proxy changes |
| Wrong zone in rule | Rule applies to the wrong people | Correct the condition and review recent sign-ins | Peer review of rule changes |
| Automation pushed bad list | Many zones changed at once | Restore previous version, pause job | Size limits and alerts on large changes |
| Admin locked out | Cannot reach the admin console | Use break-glass account and recovery process | Exempt break-glass from risky zone rules, protect it with strong separate controls |
| Location data wrong | A real office labeled with another country | Add an explicit static zone for that office as an override | Do not rely on location alone for offices |
A recovery routine
Confirm the cause
Check the System Log for recent zone and rule changes, and ask the network team about any changes on their side.
Stabilize access
Use the break-glass administrator if needed, and reverse the most recent change before investigating further.
Communicate
Tell affected people what is happening and how long it may take, so they do not keep retrying and triggering lockouts.
Fix properly
Correct the zone or rule, and test with a small group.
Learn
Write down what happened and add a check or an alert so it is caught earlier next time.
The break-glass account is your last resort, so test it on a schedule. If you discover that it does not work during an outage, you have two incidents instead of one. Store its credentials safely, monitor every use, and keep its rules independent of the zones most likely to fail.
A building keeps a spare key in a sealed box with a log book. Nobody expects to use it often, but when a lock jams at midnight, the plan and the box turn a disaster into a mild annoyance.
26Design Patterns That Work
These patterns have proved themselves in many organizations. Treat them as starting points to adapt, not as scripts.
Layered gates
Use a blocklist for clearly unwanted sources, a policy zone for trusted networks, and dynamic zones for broad risk categories. Each layer does one job, and none carries the whole load.
Named by purpose
Name zones by what they mean, such as “Corp-Office-London” or “Block-Known-Abusers”, so rules read like sentences and reviewers understand them at a glance.
Step-up over block
For uncertain categories such as anonymizers and foreign countries, require stronger proof rather than denying outright. Reserve denial for strong evidence.
One owner per zone
Every zone has a named owner and a purpose written in its description. Zones without owners are cleaned up at the next review.
Zones plus device trust
Combine zones with device and behavior signals so no single clue decides alone. Offices reduce friction only for healthy managed devices.
Automation with guardrails
Update fast-changing zones through approved automation that checks change sizes, keeps a previous version, and alerts the owner.
flowchart TD
A["Request"] --> B["Blocklist zone: refuse known abusers"]
B --> C["Dynamic zones: classify location, provider, service"]
C --> D["Policy zones: office, VPN, partner, automation"]
D --> E["Device and behavior signals"]
E --> F{"Combined decision"}
F --> G["Allow"]
F --> H["Step up"]
F --> I["Deny"]
Airports use layers too: a perimeter fence, a check at the entrance, ticket verification, a security scan, and a boarding pass check. No single layer is perfect, but together they make mistakes unlikely to slip all the way through.
27Anti-Patterns to Avoid
These are the mistakes seen most often. Each looks reasonable at first and causes trouble later.
Anti-patterns
- The trusted zone that skips proof. Anyone on the office network becomes fully trusted.
- Country block as a security plan. A cheap proxy in an allowed country defeats it.
- One giant “Everything” zone. Nobody knows what it includes or why.
- Zones nobody owns. Stale addresses stay trusted for years.
- Blocking shared addresses harshly. Honest bystanders are caught with the bad actor.
- Trusting every forwarded header. Attackers claim any address they like.
- Broad exemptions. Exempting a whole range from threat checks to fix one problem.
- No test, no rollback. Changes go live to everyone at once.
- No break-glass path. One bad zone change locks out the people who can fix it.
Better habits
- Trust lowers friction, not proof. Strong factors remain for sensitive systems.
- Layers of signals. Zones plus devices plus behavior.
- Small clear zones. One purpose, one owner, one description.
- Scheduled reviews. Remove what no longer matches reality.
- Step-up for uncertainty. Reserve blocking for strong evidence.
- Narrow proxy trust. Name only the proxies you run.
- Exemptions with expiry. Temporary, narrow, and documented.
- Pilot rings. Test with small groups before rolling out.
- Tested emergency access. A break-glass account that works.
| Anti-pattern | Why it hurts | Quick fix |
|---|---|---|
| Trusted office skips proof | One infected laptop opens everything | Keep strong factors, shorten sessions on unmanaged devices |
| Country block only | False comfort | Add behavior and device checks |
| Ownerless zones | Stale trust | Add owners and review dates |
| Wide exemptions | Hidden holes | Narrow, time-limit, and log |
| Big-bang rollout | Mass lockouts | Pilot rings |
If you cannot explain a zone in one sentence, who owns it, and when it was last reviewed, treat it as a liability. Fix its description, or remove it.
A cluttered toolbox has tools nobody remembers buying and a few that no longer work. When you urgently need one, you waste time and trust the wrong one. A tidy toolbox, like a tidy set of zones, is quicker and safer in a crisis.
28Trade-Offs You Cannot Avoid
Every zone decision trades one good thing for another. Naming the trade-off openly helps you choose on purpose rather than by accident.
| Choice | Gain | Cost | Lean toward it when |
|---|---|---|---|
| Static zones for known networks | Precise, predictable, easy to explain | Needs upkeep when networks change | You control the network and it rarely changes |
| Dynamic zones for broad categories | Okta maintains the data, covers wide ground | Approximate, occasionally wrong, changes without notice | The decision is about risk class, not exact identity |
| Blocklist at the front gate | Stops bad sources before any other check | Mistakes block honest people completely | Evidence of abuse is strong and the list is small |
| Step-up instead of deny | Honest users can still get through | More prompts, more support requests | The signal is uncertain |
| Trusted office and VPN zones | Smoother day for staff | Trust can be inherited by an attacker on that network | Devices are managed and strong factors stay on for sensitive systems |
| Automation of zone updates | Fresh, consistent, reviewable | A bad source spreads quickly | Networks change often and an inventory exists |
| Many fine-grained zones | Clear logs, exact access | More to maintain and review | Partners and applications vary a lot |
| Few broad zones | Simple | Hard to see what applies to whom | Environment is small and uniform |
quadrantChart
title Choosing zone strength
x-axis Low confidence in signal --> High confidence in signal
y-axis Low impact of mistake --> High impact of mistake
quadrant-1 Verify before acting
quadrant-2 Step up and observe
quadrant-3 Log and watch
quadrant-4 Enforce firmly
Known abuser list: [0.85, 0.7]
Anonymizer category: [0.45, 0.4]
Foreign country: [0.5, 0.55]
Hosting provider: [0.6, 0.35]
Office zone: [0.8, 0.3]
The picture above is a way of thinking, not a measurement. Place each zone you use where you honestly believe it belongs. Signals you trust highly and whose errors are cheap can drive firm actions. Signals you trust less, or whose errors lock out the wrong people, deserve a gentler response such as a stronger factor. Whenever you feel torn, choose the response that is easiest to reverse.
A smoke alarm can be set to chirp at the first wisp or only at thick smoke. Too sensitive and you take the battery out after burning toast; too relaxed and it misses the fire. Zone strictness is the same dial.
29Best Practices and Common Mistakes
A short checklist you can use at the start, and a list of slips to look for when something feels off.
Best practices
- Write down the purpose. Each zone gets a name, an owner, a reason, and a review date in its description.
- Start narrow. Add zones and exemptions in the smallest form that solves the problem.
- Observe first. Watch matches in the log before turning on enforcement.
- Pair trust with proof. Reduce friction in trusted places, but keep strong factors for sensitive actions.
- Prefer step-up for uncertainty. Reserve denial for strong evidence.
- Protect zone editing. Few editors, review for changes, alert on every edit.
- Include backups. Failover links, secondary VPN endpoints, and disaster recovery sites belong in the right zones.
- Declare proxies exactly. Trust forwarded addresses only from proxies you operate.
- Keep automation tied to one address. Restrict service tokens to the zone of the servers that use them.
- Test emergency access. Make sure the break-glass path works and is monitored.
- Review regularly. Every quarter, check matches, owners, and need.
Common mistakes
| Mistake | How it shows up | Better approach |
|---|---|---|
| Forgetting the VPN exit address | Remote staff challenged more than office staff | Add VPN gateways to a dedicated zone |
| Using the blocklist for policy decisions | Honest users never even see a sign-in prompt | Use policy zones and conditions for nuanced rules |
| Mixing the gateway and proxy fields | Wrong addresses are trusted or ignored | Know what each field does and fill only what you need |
| Treating location as precise | Staff in border towns or on mobile networks blocked | Use approximate location as a hint with step-up |
| Leaving expired partner zones | Former vendors still trusted | Put end dates in descriptions and review |
| Exempting a zone from threat checks too broadly | Attackers inside the range avoid detection | Narrow the exemption and review it |
| Forgetting API-token restrictions | Stolen tokens work from anywhere | Bind tokens to automation zones |
| Ignoring the logs | Problems found by users, not by you | Dashboards and alerts on matches and edits |
Print the best-practice list and walk through it with your team once a quarter. Ten minutes of honest review beats a month of cleanup after an incident.
Pilots run a checklist even after thousands of flights, because small slips hide in familiar routines. A regular checklist protects experts as much as beginners.
30Worked Example: A Zone Strategy for Harbor and Pine
To pull everything together, here is an invented company and a complete zone design. The company, its numbers, and its addresses are made up for illustration.
The company
Harbor and Pine is a fictional furniture retailer with 2,400 employees. It has one headquarters in Portland, four regional warehouses, around 600 remote staff, a logistics partner, a payroll provider, and a set of cloud servers that run its inventory and ordering software. Customers do not sign in through Okta; this is workforce identity only. The security team is small, and the network team is separate.
The design
| Zone | Type | Purpose | Used for |
|---|---|---|---|
| HP-Office-Portland | Static IP | Headquarters outgoing addresses, including backup link | Lighter proof for managed devices |
| HP-Warehouses | Static IP | Four warehouse networks | Warehouse scanning applications only |
| HP-VPN | Static IP with gateway | Company VPN exits | Remote staff on full tunnel |
| HP-Automation | Static IP | Cloud servers running scheduled jobs | API token restrictions |
| Partner-Logistics | Static IP | Logistics partner outgoing addresses | Shipping portal only |
| Partner-Payroll | Static IP | Payroll provider outgoing addresses | Payroll application only |
| Region-Expected | Dynamic, location | United States and Canada | Baseline for staff |
| Region-Other | Dynamic, location | All other countries | Stronger proof |
| Risk-Anonymizers | Dynamic, service categories | Anonymizing services | Step-up, deny for admin console |
| Risk-Hosting | Dynamic, providers | Selected cloud and hosting networks except own | Step-up for interactive sign-ins |
| Block-Known-Abusers | Blocklist | Addresses with confirmed abuse | Refused at the front gate |
The rules, in plain words
- Anyone in Block-Known-Abusers is refused before anything else.
- Administrators must be on the Portland office or VPN zones with a managed device and a strong factor. Anonymizer and other-country sign-ins to the admin console are denied.
- Staff on a managed device from the office or VPN zones get the standard experience with a long session.
- Staff from expected countries on other networks are asked for a strong factor on every new device.
- Staff from other countries, anonymizers, or hosting networks must use a strong factor and a short session, and each such sign-in is logged for review.
- Partner staff reach only their one application and use strong factors.
- API tokens work only from the automation zone.
flowchart TD
S["Sign-in"] --> A{"Block-Known-Abusers?"}
A -- "Yes" --> R["Refuse"]
A -- "No" --> B{"Admin console?"}
B -- "Yes" --> B1{"Office or VPN, managed device, strong factor?"}
B1 -- "Yes" --> OK1["Allow"]
B1 -- "No" --> R2["Deny"]
B -- "No" --> C{"Office or VPN with managed device?"}
C -- "Yes" --> OK2["Standard experience"]
C -- "No" --> D{"Anonymizer, hosting, or other country?"}
D -- "Yes" --> ST1["Strong factor, short session, log"]
D -- "No" --> ST2["Strong factor on new devices"]
How the first quarter went
The team started in log-only mode and spotted two surprises. Warehouse tablets used a mobile carrier connection at one site, so they appeared to come from a shared carrier address instead of the warehouse network. Rather than trusting the carrier range, the team moved those tablets to device-based sign-in. They also found that a few sales staff traveled often and were challenged repeatedly in other countries. A short travel notification process and a stronger device-based factor reduced the prompts without lowering protection.
In the second month, an attack wave from cloud servers hit several accounts. Hosting-provider and anonymizer rules stepped up the sign-ins, and the extra factor stopped the attackers, who only had passwords. The alerts were reviewed the next morning, passwords were reset for the targeted accounts, and no account was taken over. In the third month a portion of the Portland office moved to a new internet provider. Because the network team had agreed to warn the identity team, the new addresses were added a day before the move, and staff noticed nothing.
Result
The design uses eleven zones, each with an owner and a purpose, and the rules fit on a single page. Staff on managed devices at trusted networks have a smooth day, and the unusual cases get stronger proof. The most valuable work was agreeing on the process, especially between the network and identity teams, more than choosing the technology.
Think of a neighborhood watch that knows the regular delivery vans, the neighbors’ cars, and the usual visitors. Strangers are welcome but get a friendly question at the gate. The watch works not because it is clever but because everyone agrees on how to behave.
31Troubleshooting Guide
When zones behave strangely, work through a few questions in order. Most problems fall into a small number of causes.
First questions
- What did Okta actually see? Open the sign-in event in the System Log. Note the address, the location, the provider, and the zones that matched.
- What did you expect? Compare with the person’s real situation: office, home, VPN, hotspot, or travel.
- What changed recently? Look for zone edits, rule changes, network changes, and partner announcements.
- Which rule applied? Find the policy and rule that handled the sign-in, and check the order of the rules.
- Is a proxy involved? If the address is the same for everyone, look at forwarded headers and trusted proxies.
| Symptom | Likely cause | Check | Fix |
|---|---|---|---|
| Office staff are challenged | Office address changed or failover link in use | Address in the log versus the zone | Add address to the office zone |
| Everyone appears from one address | Proxy or load balancer hiding the client address | Forwarded header and trusted proxies | Pass the original address and declare the proxy |
| Remote users blocked from a country they are in | Location data or rule too strict | Location shown in the log | Use step-up, add exception, or open a case with the provider of the data |
| Partner cannot sign in | Their outgoing address changed or a shared address was flagged | Partner’s address in the log | Update the partner zone, review threat exemption |
| Token fails from a server | Server moved or its address changed | Server’s outgoing address | Update the automation zone |
| Rule never seems to match | Wrong zone, rule order, or inactive rule | Policy simulation and rule order | Fix the condition and order |
| Anonymizer rule hits honest users | Staff using privacy tools or a company VPN categorized as such | Which service category matched | Add a specific static zone for the company VPN, use step-up |
| Admin cannot reach the console | Blocklist or policy zone too strict | Break-glass access and the System Log | Use the emergency path and correct the zone |
Keep a short “known good” record for each important zone: the addresses, who confirmed them, and the date. When a problem occurs, comparing against that record answers the first question in seconds.
When a car will not start, a mechanic checks the simple things first: fuel, battery, and connections. Zone problems also usually have simple causes. Start with what changed, not with a theory.
32Frequently Asked Questions
Short answers to questions that come up often. Details such as feature names and license tiers change, so confirm them in your own Okta documentation.
What makes a zone “dynamic”?
A dynamic zone is described by a rule such as a country, a provider, or a service category, and Okta maintains the underlying data. A static zone is a list of addresses that you maintain yourself.
Is location based on the person’s real position?
No. It is based on where the network address appears to be, which is approximate and can be wrong, especially on mobile networks and with VPNs.
Can a zone prove someone is who they say they are?
No. A zone tells you about the network, not about the person. Identity needs factors and devices.
Should I block entire countries?
Only with a clear business reason. Blocking helps with noise but does not stop attackers who use local proxies, and it can hurt honest travelers. Many organizations use step-up instead of a hard block for most countries.
What is the difference between a blocklist zone and a zone used in a policy?
A blocklist zone refuses requests from its sources before policies are evaluated. A policy zone is a condition that rules use to decide allow, step-up, or deny, giving more nuanced choices.
How do trusted proxies work?
When a request passes through a proxy, the original client address is carried in a forwarded header. Okta uses that header only if the proxy’s address is in a zone declared as a trusted proxy. Otherwise it uses the address it actually sees.
Why do all my users look like they come from one address?
Usually a proxy or load balancer in front of the sign-in is hiding the original address. Pass the forwarded header correctly and declare the proxy as trusted.
Can I restrict an API token to a zone?
Yes, in many setups tokens can be limited to requests that come from certain network zones. That way a stolen token is useless away from your servers.
Do zones replace multi-factor authentication?
No. Zones decide when to ask for stronger proof. They work alongside factors and never take their place.
How often should I review zones?
At least quarterly for important zones, and whenever the network team announces a change. Review exemptions and blocklists as often.
What happens when a VPN is used?
Okta sees the VPN exit address. With a full tunnel to your own VPN, that is a known address you can place in a zone. With a consumer VPN, the address may fall into an anonymizer category.
Can attackers edit zones?
Only with administrator rights or tokens that allow it, which is why you should limit those rights, protect them with strong factors, and alert on every zone change.
What if the location data is wrong for my office?
Create a static zone with the office addresses and use it ahead of the location rule. Static zones are precise where you know the answer, so they are the right override.
Do dynamic zones cost extra?
Some dynamic features depend on your license or edition, and names change over time. Check what your own organization has before you design around a feature.
Where should a beginner start?
Create a small number of static zones for your office, VPN, and automation servers. Add one or two dynamic zones for expected countries and anonymizers. Use them in log-only mode first, and expand as you learn.
33Summary and Key Takeaways
Network zones give Okta a sense of where a sign-in comes from. Used well, they reduce friction for trusted places and add care for the unusual ones.
Key Takeaways
- Zones describe the network, not the person. Use them to decide how much proof to ask for, and never as proof by themselves.
- Static zones are precise; dynamic zones are broad. Use static zones for networks you control and dynamic zones for categories such as countries, providers, and anonymizers.
- Prefer step-up to denial when unsure. Reserve blocking for strong evidence and keep it narrow.
- Treat trust with care. Office and VPN zones should lower friction, not remove strong factors on sensitive systems.
- Keep zones fresh and owned. Name, describe, review, and clean up zones, and protect who can edit them.
- Test and roll out in rings. Observe in the logs, pilot with small groups, and keep a tested break-glass path.
- Combine signals. Zones, devices, behavior, and strong factors together beat any single clue.
Feature names, limits, and licensing in Okta change over time. Use this post to understand the ideas, and confirm the exact settings in your own admin console and the current Okta documentation before you build.