Import Safeguards in Okta

Import Safeguards in Okta

The circuit breaker that stops one bad import from quietly locking thousands of people out of their jobs. A complete guide to how safeguards work, how to tune them, how to secure and monitor them, and what to do when one trips.

It is early on a Monday morning. A company with twelve thousand employees runs its usual scheduled import, the routine job that copies the list of people from the company directory into Okta. Nobody is watching, because this job has run smoothly every night for years. But over the weekend, someone changed a setting on the directory server, and the server now answers every request with an empty list. Okta asks, “Who works here?” The directory replies, “Nobody.” Okta, doing exactly what it was designed to do, concludes that every employee has left the company.

Within minutes, thousands of accounts could be deactivated. People would arrive at their desks and find that email, chat, payroll, and the building badge system all refuse to let them in. Support lines would melt down. Nothing was hacked. A computer simply believed a wrong answer and acted on it with full confidence.

Import safeguards exist to stop exactly this story. They are a safety check inside Okta that looks at the size of the changes an import is about to make and says, “Wait. That is far more than normal. Let a human look at this first.” This guide explains the idea from the very beginning. We will cover what an import is, what the safeguard watches, how the decision is made, how to set it up sensibly, how it fits with security and monitoring, which mistakes teams make, and what to do at two in the morning when a safeguard trips.

1What Are Import Safeguards?

A plain-language definition, a simple picture, and the one sentence worth remembering.

Okta is an identity platform. In simple words, it is the service that keeps the official list of who your people are, which tools each person may open, and how they prove it is really them. That list is stored in a place called Universal Directory. But your company probably did not type thousands of names into Okta by hand. Names usually come from somewhere else, such as Microsoft Active Directory, an LDAP directory, or a human resources system like Workday. Okta copies them in using a process called an import.

An import is Okta reading a list from another system and then updating its own records to match. New people on the list are created in Okta. Changed details are updated. And, importantly, people who are no longer on the list can be deactivated or removed from the app that the import belongs to. That last part is powerful, and powerful things need brakes.

Import safeguards are those brakes. They are a protective setting that compares the size of the changes an import is about to make against a limit, called a threshold. If the changes stay below the limit, the import carries on as normal. If the changes go above the limit, Okta pauses the import, tells the administrators, and waits for a person to decide whether to continue or cancel.

Everyday Analogy

Imagine a nightclub where the bouncer works from a guest list. One evening, the person who prints the list accidentally hands over a blank page. A careless bouncer would throw out every guest because “nobody is on the list.” A smart bouncer would notice that the list has gone from three hundred names to zero and call the manager before doing anything. The safeguard is that smart bouncer. It does not refuse to follow the list. It simply refuses to follow a list that looks suspiciously different from yesterday’s without a second opinion.

Pause
Okta stops before a risky change is applied
Notify
Administrators are told that a decision is needed
Decide
A human approves or cancels the import

What it is not

Import safeguards are not antivirus software, a firewall, or a way to detect hackers. They do not judge whether a single user’s data is correct. They look at the volume of change, not the meaning of each change. Think of them as a seatbelt rather than a steering wheel. They do nothing during a normal drive and matter enormously in the one moment something goes wrong.

!
The Sentence to Remember

Import safeguards turn a possible mass-deactivation disaster into a small, reviewable pause that a human can resolve in minutes.

2The Problem: When an Import Goes Wrong

To feel why this feature matters, look at the ways a perfectly healthy import can turn harmful.

Automation is wonderful because it never gets tired. It is also dangerous for the same reason: it never gets suspicious. A script that runs every night does exactly what it was told, even on the one night when the information it receives is wrong. Imports have several classic ways of receiving wrong information, and none of them involve a villain.

Cause 1: The source returns an empty or partial list

A directory server restarts, a network link drops halfway through, or a search filter is edited by mistake. The source then answers with nothing, or with only a slice of the real list. Okta sees many people missing and treats them as departures. This is the most common story and the one in our opening.

Cause 2: A configuration change at the source

Someone moves a group of employees into a different folder, called an organizational unit, that the import is not set to read. Or an administrator renames a field that the import used for matching. From Okta’s point of view, those people vanished, even though they are still sitting happily at their desks.

Cause 3: A broken connector

Okta often talks to on-premises directories through a small program called an agent that runs on a server inside your company network. If the agent loses its permissions, its password expires, or its host machine is rebuilt, its answers can become incomplete in confusing ways.

Cause 4: Human error in a bulk edit

An administrator runs a bulk update in the source system to fix one department and accidentally selects too many rows. The import faithfully copies the mistake into Okta.

Cause 5: A real but unexpected event

Sometimes the data is correct. A company really does shrink a division, or sells a subsidiary, and hundreds of people really should lose access. Here the safeguard is not catching a bug. It is asking for a deliberate confirmation of a very big decision, which is also valuable.

1

Saturday: a quiet change

An engineer edits a directory search filter during maintenance. It looks harmless and nobody tests the nightly import afterward.

2

Sunday night: the import runs

The import reads the source and gets back almost no people. Without a safeguard, Okta starts deactivating the “missing” users.

3

Monday morning: the damage lands

Thousands of people cannot sign in. Downstream apps, which trust Okta, begin removing their licenses and data access too.

4

Monday afternoon: slow recovery

Accounts must be reactivated, group memberships rebuilt, and trust restored. Even when it works, it takes hours or days.

Automation does not ask “does this look right?” unless you teach it to.

Now replay the same timeline with a safeguard. On Sunday night the import reads the source, sees that a huge share of users would be removed, and pauses. An administrator receives a notice, checks the source, spots the filter mistake, cancels the import, and fixes the filter. By Monday morning nobody noticed that anything happened. That difference, from a company-wide outage to a quiet note in a ticket queue, is the entire value of the feature.

3Core Concepts and Vocabulary

Eight terms unlock the rest of the topic. Each one is explained with what it is, why it exists, and where you will meet it.

Term 01

Source System

The place a list of people comes from, such as Active Directory, LDAP, or an HR system. It is the “master copy” for that data. Okta only reads from it during an import.

Term 02

Import

The act of Okta reading the source’s list and updating its own records to match. Imports can run on a schedule or be started by an administrator.

Term 03

Full Import

An import that reads the whole list. Because Okta sees everybody, it can notice who is missing. This is where mass-removal risk lives.

Term 04

Incremental Import

An import that reads only what changed since the last time. It is faster, but it is a different kind of operation from a full import.

Term 05

Matching

The step where Okta decides whether an incoming person is the same as someone it already knows, usually by comparing a field such as username or email.

Term 06

Deactivation or Unassignment

The removal side of an import. A person who disappears from the source may be deactivated in Okta or unassigned from the app, depending on how the integration is set up.

Term 07

Threshold

The limit that separates normal change from suspicious change. It is often expressed as a share of the user population, and in some setups as a count of users.

Term 08

Review and Decision

When a threshold is crossed, the import waits. An authorized administrator reviews the situation and chooses to let it proceed or to cancel it.

The two directions of an import

Every import does two kinds of work. The first is adding and updating: people who appear in the source are created or refreshed in Okta. The second is removing: people who no longer appear are deactivated or unassigned. Adding mistakes are usually easy to undo. A hundred extra accounts can be deleted. Removing mistakes are harsh, because people lose access immediately, and downstream systems react to that loss. For that reason safeguards care most about the removing direction.

Why percentages instead of fixed numbers

A company with fifty users and a company with fifty thousand users should not share the same definition of “too many removals.” Losing ten people is a disaster for the first and a normal week for the second. Percentages scale with size, which is why they are the usual way to describe a threshold. Where a count-based option is available, it is useful for very small or very stable populations.

Everyday Analogy

Consider a school teacher taking attendance. If two children are absent from a class of thirty, that is a normal day. If twenty-five children are absent, the teacher does not assume that twenty-five families quit school overnight. The teacher suspects a bus breakdown, a snowstorm, or a mistake in the list. The threshold is the teacher’s gut feeling about what counts as normal, written down as a rule.

i
Good to Know

Which integrations support safeguards, where the setting sits in the Admin Console, and which threshold styles are offered can differ between Okta releases and plans. Treat this guide as the mental model, and confirm the exact screens and options in the current Okta documentation for your org.

4How an Okta Import Works

Before we add the brake, let us watch the car move. Here is an ordinary import from start to finish.

Understanding safeguards is easy once you can picture a normal import. The steps below describe a typical full import. Real products add detail, but the shape stays the same.

1

Trigger

A schedule fires, or an administrator clicks the button to import now. Many organizations run a full import once a day and rely on faster incremental updates in between.

2

Read the source

Okta asks the source system for its users and groups. For on-premises sources, the request travels through an agent. Large lists arrive in pages, a few hundred at a time, like a book delivered chapter by chapter.

3

Match

For each incoming person, Okta uses matching rules to decide whether it already knows them. A match means “update this existing person.” No match means “this looks like a new person.”

4

Work out the change list

Okta compares what it just read with what it already holds. The result is a to-do list: create these, update those, and deactivate or unassign the ones that are gone.

5

Apply

Okta carries out the to-do list. Each change may trigger further automation, such as removing the person’s app assignments or notifying other systems.

6

Record

Okta writes the results to its import history and to the System Log, so that people can later see what changed and when.

Where the safeguard fits

Notice step four. At that moment Okta holds a complete to-do list, but has not yet touched anything. That is the perfect point for a safety check. The list is finished, the consequences are known, and nothing irreversible has happened. A safeguard sits between steps four and five. It reads the finished list, measures how big the removing part is, and decides whether to continue to step five or to stop.

Why the removing side is special

Creating and updating users is forgiving. If a wrongly created account appears, an administrator can delete it. Deactivating users is different. It is fast, it is visible to people immediately, and it fans out to every connected application. Many apps respond to a deactivated Okta user by deleting sessions, revoking licenses, or archiving data. That chain reaction is what makes a mass deactivation so expensive to clean up, and it is why the safeguard focuses on the moment before step five.

Everyday Analogy

Think of a librarian updating the catalog from a delivery list. The librarian compares the list with the shelves, writes a note of which books to add and which to remove, and only then walks the aisles. A safety rule might say, “If the note says to remove half the library, call the head librarian before touching a single shelf.” The safeguard is that rule, applied after the note is written and before the walking begins.

!
Key Insight

A safeguard works because the plan is known before the action starts. It judges the plan, not the damage. That is far cheaper than fixing damage afterward.

5Full Imports, Incremental Imports and Why the Difference Matters

Two kinds of import behave very differently. Knowing which one you are running tells you where the risk is.

When people say “the import,” they often mean one of two quite different operations. Understanding the difference explains why safeguards care so much about one of them, and why a quiet day of incremental updates can hide a loud problem waiting inside the next full run.

The full import: counting everyone

A full import reads the complete list of users, and usually groups, from the source. Because Okta receives the whole list, it can compare that list with everyone it already manages and spot the people who are no longer present. That ability to notice absence is exactly what makes a full import capable of deactivating or unassigning users. It is also what makes it capable of catastrophe if the list is wrong.

Full imports are heavier. They take longer, they touch every record, and for very large directories they can run for a long time. For that reason most organizations schedule them less often, perhaps nightly or even weekly, and rely on lighter updates between runs.

The incremental import: reading the changes

An incremental import asks the source only for what has changed since the last time. It is faster and gentler, so it can run frequently, often every few minutes for sources that support it. Because it receives only changes, it generally learns about new people, updated details, and in some sources explicitly flagged departures. It does not do the same “who is missing from the whole list” comparison that a full import does.

The exact behavior varies between source types and between Okta releases. Some sources can report deletions in their change feed. Others cannot. Check how your specific integration behaves, because it affects where your risk sits.

QuestionFull importIncremental import
What does it read?The whole listOnly changes since last time
How heavy is it?Heavier, longerLighter, quicker
How often does it typically run?Less often, such as dailyMore often, such as every few minutes where supported
Can it notice who is missing?Yes, by comparing complete listsGenerally not in the same way
Biggest riskA bad or empty list looks like mass departureMissed or delayed changes, and small wrong updates
Where do safeguards matter most?Here, because removals can be largeLess directly, but check your integration
Everyday Analogy

Think of a shopkeeper managing stock. A full import is the yearly stock count, where every shelf is checked and missing items are discovered. An incremental import is reading the day’s receipts: three cartons arrived, two were sold. The receipts are quick and useful, but only the full count can discover that a whole shelf has vanished. And if the person doing the count writes down zero for every shelf by mistake, the books will say the shop is empty. That is the failure the safeguard protects against.

Why the schedule matters for risk

Imagine a source that is broken on Tuesday afternoon. If you only run full imports nightly, the damage window opens at the next full run, and you can prepare the safeguard and alert path around that time. If you run full imports every hour, the exposure is more frequent, but a problem is also noticed sooner. Neither is automatically better. What matters is that each schedule has a matching monitoring plan, so someone is awake when the risky run happens.

Partial reads and timeouts

Another subtle trouble is the partial read. A large list arrives in pages. If the connection drops at page forty of one hundred, a poorly behaving connector may deliver only forty percent of the people. Okta may then see sixty percent of the population as missing. Well-built integrations try to detect an incomplete read and fail the import instead of acting on it, but you should not assume perfection. The safeguard is the second line of defense when the first line fails.

!
Practical Tip

Make a short note for each integration: which source it uses, whether it runs full or incremental imports, how often, and when the next full run happens. That one page answers most questions during an incident.

6Matching, Profile Mastering and Attribute Surprises

Some of the biggest import surprises come from how Okta decides who is who, not from the size of the source.

Every import must answer a deceptively simple question for each incoming record: is this person someone I already know? The way that question is answered, and the way each attribute is assigned, can create large unexpected changes even when the source is perfectly healthy.

How matching decides identity

Okta uses matching rules to connect an incoming record to an existing user. A rule might compare username, email address, or an employee identifier. When the rule finds a match, the existing user is updated. When it finds no match, the person is treated as new. Good matching depends on a field that is stable, unique, and present in both places.

The double change problem

Suppose the source team changes the format of a field that your matching rule uses. Maybe every email address moves to a new company domain after a rebrand. On the next full import, Okta looks for the old addresses and cannot find them, so it concludes that thousands of people have left. At the same moment it sees thousands of unfamiliar addresses and concludes that thousands of new people have arrived. The result could be a large wave of removals and a matching large wave of creations, even though nothing about the people changed.

This is a perfect example of a case in which the safeguard earns its keep. The number of apparent removals jumps above the threshold, and the import pauses. The administrator sees both numbers climbing together and recognizes the signature of a matching problem rather than a staffing event.

Stable

Employee identifier

Usually the best matching field, because it rarely changes when a person’s name, email, or department changes.

Fragile

Email address

Common, but it changes with marriages, rebrands, and domain moves. A change across the whole company can break matching at once.

Fragile

Display name

Not unique and often edited. Avoid it as a matching field.

Careful

Username format

Reasonable when controlled centrally, but any change to the naming convention must be coordinated with the import.

Profile mastering: who wins when two sources disagree

Profile mastering means deciding which system is the authority for each attribute. Perhaps the HR system is the authority for job title and manager, while the directory is the authority for the login name. If the rules for mastering change, an import can overwrite many profile values at once. That does not remove anyone, so a removal-focused safeguard may not pause it. The impact, however, can still be wide: wrong departments, wrong managers, and broken group rules that depend on those attributes.

Attribute mapping changes

Mappings describe how a field in the source becomes a field in Okta. If someone edits a mapping, for example swapping the source field that feeds the department attribute, the next import will rewrite the department for everyone. Group rules that grant access based on department could then move many people in or out of groups, which in turn changes their application access. The chain of consequences can be long, even though the original change looked tiny.

Everyday Analogy

Imagine a school that identifies students by locker number. If the school renumbers every locker over the summer, the front office may conclude that every old student left and every locker holds a brand new student. The fix is to identify students by a student ID that does not change when lockers move. Matching rules are the front office’s way of recognizing students, and they work best when based on something that stays still.

!
Watch Out

Treat any change to matching rules, attribute mappings, or mastering settings as a high-risk change. Test it with a small group first, and expect a pause on the next full import if the change is large.

7Architecture and Components

The moving parts, from the source system all the way to the administrator’s inbox.

The diagram below shows a simplified model of an import with a safeguard. It is a teaching picture rather than an exact internal blueprint of Okta, but it captures the roles every part plays.

flowchart LR
  SRC["Source System such as Active Directory, LDAP or an HR App"] --> CONN["Connector or On-Premises Agent"]
  CONN --> IMP["Okta Import Engine"]
  IMP --> MATCH["Matching Rules"]
  MATCH --> PLAN["Change Plan: create, update, deactivate"]
  PLAN --> SAFE{"Import Safeguard Check"}
  SAFE -->|"Within threshold"| APPLY["Apply Changes"]
  SAFE -->|"Over threshold"| HOLD["Import Paused for Review"]
  HOLD --> ADMIN["Authorized Admin Approves or Cancels"]
  ADMIN -->|"Approve"| APPLY
  ADMIN -->|"Cancel"| DISCARD["Changes Discarded"]
  APPLY --> UD["Okta Universal Directory"]
  SAFE --> LOG["System Log and Notifications"]
  APPLY --> LOG
    
Fig 1. A simplified view of an import with a safeguard check placed before changes are applied.

Walking through the boxes

Source system. The origin of the list. It could be a directory your IT team runs, or an HR platform your people team owns. Okta never changes the source during a normal import. It only reads.

Connector or agent. The bridge between Okta in the cloud and the source. For cloud applications it is an integration using their APIs. For on-premises directories it is an agent installed on a server in your network that makes an outbound connection to Okta. If the bridge is unhealthy, answers can be missing or late, which is a leading cause of suspicious imports.

Import engine. Okta’s own machinery that runs the schedule, requests the data, and pages through results.

Matching rules. The logic that connects “a person in the source” to “a person in Okta.” Good matching prevents duplicates. Bad matching can make existing people look like strangers, which is another way for large numbers of surprising changes to appear.

Change plan. The to-do list from the previous chapter. It is the object the safeguard inspects.

Safeguard check. The decision point. It reads the plan and compares the size of the removals with the configured threshold.

Paused state and review. If the threshold is crossed, the import waits instead of failing. Nothing is lost. The plan is held until an authorized administrator approves or cancels it.

Universal Directory. Okta’s user store, where approved changes land.

System Log and notifications. The record keeping and the alarm bell. They make sure that the pause is noticed, and that the final decision is traceable.

Everyday Analogy

Picture an airport baggage system. Bags arrive on a belt (the source), pass through a scanner (the safeguard), and either continue to the plane (apply) or get pulled aside for a person to open (review). The scanner does not slow down normal bags. It only intervenes when something looks unusual.

!
Design Hint

Most safeguard incidents are traced back to the connector or the source, not to Okta itself. When you investigate, start at the left side of the diagram and work rightward.

8Internal Working: How the Safeguard Decision Is Made

Inside the check there is nothing mysterious. It is counting and comparing, followed by a pause or a green light.

When a full import finishes reading the source, Okta builds its change plan. The safeguard then asks one core question: how many people would this plan remove, compared with how many people the import currently manages? If the answer is a small share, the import continues without any human involvement. If the answer is a large share, the import stops and waits.

flowchart TD
  A["Full import finishes reading the source"] --> B["Compare the list with users currently managed by the import"]
  B --> C["Count users that would be deactivated or unassigned"]
  C --> D{"Is the count above the threshold?"}
  D -->|"No"| E["Proceed and apply the change plan"]
  D -->|"Yes"| F["Pause the import and notify administrators"]
  F --> G{"Administrator decision"}
  G -->|"Approve"| E
  G -->|"Cancel"| H["Discard the plan and leave users unchanged"]
  E --> I["Record the outcome in import history"]
  H --> I
    
Fig 2. The decision flow of a safeguard check, from reading the source to recording the outcome.

A worked example with real numbers

Suppose an import manages ten thousand people and the threshold is twenty percent. Twenty percent of ten thousand is two thousand. The safeguard will allow up to two thousand removals without asking anyone. Anything beyond that triggers a pause.

SituationPeople who would be removedShare of 10,000Result at a 20% threshold
A normal week with some leavers400.4%Proceeds automatically
A planned quarterly staff reduction6006%Proceeds automatically
A company sells a subsidiary2,50025%Pauses for review, then approved
The source returns an empty list10,000100%Pauses for review, then cancelled
A filter mistake hides one big department3,20032%Pauses for review, then cancelled

Look closely at the middle of the table. A planned reduction of six hundred people goes through without a pause, because it is below the limit, even though it may be a painful event for those people. The safeguard is not a judge of whether a change is wise. It is a detector of changes that are unusually large compared with the normal rhythm of the organization.

Why a pause rather than a rejection

A design that simply refused big imports would be harmful. If a company truly sold a subsidiary, the import would be stuck forever. By pausing and asking, the system keeps the human in charge. The administrator can approve a legitimate large change in one click, and can cancel a faulty one just as easily. The safeguard converts a silent automatic decision into an explicit human decision, which is the real purpose.

What counts as a removal

Depending on how an integration is configured, a person who is missing from the source might be deactivated in Okta, or unassigned from the application the import belongs to, which may in turn deactivate them if they have no other assignments. The safeguard counts the people who would lose standing through the import. Check your integration’s settings to see which action applies, because that determines how serious a mistake would be.

Everyday Analogy

An electrical fuse in your home does not decide whether you should be using the oven. It only notices that too much current is flowing and cuts the circuit until someone checks. Once you see that the toaster was the problem, you reset it. The safeguard works the same way: it does not judge the cause, it just refuses to continue past a dangerous level until a person looks.

!
Verify Before You Rely

Okta decides which operations the safeguard counts and what its default limits are. Those rules can change between releases, so test the behavior in a non-production org before you depend on it for a critical import.

9Data Flow and Lifecycle of a Safeguarded Import

Follow one import through all of its possible states, including the unhappy ones.

Every import lives through a short life. It begins when something triggers it and ends when its changes are applied or discarded. The safeguard adds one extra branch to that life: a waiting room where the import sits until a human decides.

sequenceDiagram
  participant Trigger as Schedule or Admin
  participant Okta as Okta Import Engine
  participant Src as Source System
  participant Admin as Okta Administrator
  Trigger->>Okta: Start a full import
  Okta->>Src: Request all users and groups
  Src-->>Okta: Return the user list
  Okta->>Okta: Build the change plan and run the safeguard check
  Okta-->>Admin: Safeguard tripped so send a notification
  Admin->>Okta: Review the pending change plan
  Admin->>Okta: Approve or cancel
  Okta->>Okta: Apply the plan or discard it
  Okta-->>Admin: Outcome recorded in import history
    
Fig 3. The sequence of a full import in which the safeguard threshold is crossed and a person decides.

The states, step by step

1

Scheduled or requested

The import is queued because a timer fired or an administrator started it by hand.

2

Reading

Okta is pulling pages of users and groups from the source. A slow or broken connector shows up here.

3

Planning

Okta matches records and builds the change plan. No user has been touched yet.

4

Safeguard check

The plan is measured against the threshold. This takes moments and produces one of two outcomes.

5a

Applying

If the plan is within limits, the changes are carried out and the import completes.

5b

Waiting for review

If the plan is over the limit, the import waits, administrators are notified, and the plan is held safely.

6

Resolved

The administrator approves, in which case the held plan is applied, or cancels, in which case it is discarded. Either way, the outcome is recorded.

What data moves where

Three kinds of information flow through this lifecycle. First is the source data: names, identifiers, group memberships, and attributes, traveling from the source to Okta over an encrypted connection. Second is the change plan, a temporary summary Okta builds internally. Third is the audit trail: notes in the import history and System Log about who triggered what and who approved it. The safeguard touches only the second kind, but it creates a valuable new entry in the third.

What happens while an import waits

While an import is paused, the users in question keep their current status. Nobody is deactivated. This is the whole point. The cost of waiting is that legitimate changes in that batch, such as new hires or real leavers, are also delayed. For that reason it matters to review a paused import promptly. An import that sits unreviewed for days is a quiet source of stale data.

Everyday Analogy

Think of an online store that holds a very large order for manual review before charging a card. The goods are not shipped and the money is not taken. The customer’s cart is simply parked until a person confirms that the order is real. Parked is safer than shipped wrongly, but a parked order should not sit forever.

i
Good to Know

Later imports can run while an earlier one is still waiting. Decide in your runbook whether a new run should be allowed, and make sure whoever resolves the pause also understands the newer state of the source.

10Choosing and Tuning Thresholds

A threshold that is too tight cries wolf. A threshold that is too loose sleeps through the fire. Here is how to find the middle.

The threshold is the single most important decision you make when using safeguards. Every organization has a natural rhythm of people leaving and joining, and the right threshold sits comfortably above that rhythm but far below the size of a catastrophe.

Step 1: Measure your normal

Look at several months of import history. How many people typically leave in a single import cycle? Note the busiest days, such as the end of a quarter or the day after a company event. That busiest ordinary day becomes your baseline.

Step 2: Add headroom

Set the threshold comfortably above the baseline, so normal busy days do not trigger a pause. A common approach is to allow several times the busiest ordinary day while staying well under the point where a mistake would be devastating.

Step 3: Think about the worst day

Ask what the largest mistake you could survive looks like. If losing five percent of staff for an hour would be tolerable but twenty percent would be a crisis, that tells you where the ceiling is.

Step 4: Revisit regularly

Companies grow, merge, and reorganize. A threshold chosen for a small startup becomes wrong at ten times the headcount. Add a review of the threshold to your quarterly checklist.

PopulationTypical situationThreshold thinking
Very small, around 40 usersA single resignation is 2.5% of the whole populationA percentage alone is awkward. Prefer a small absolute count if available, and expect occasional manual approvals.
Mid-size, around 2,000 usersA handful of leavers per weekA modest percentage works well and leaves comfortable room for normal turnover.
Large, around 50,000 usersDozens of leavers per day, occasional reorganizationsA percentage covers ordinary change. Consider temporary adjustments around planned large events.
Seasonal workforceHundreds of contractors end on the same datePlan for a known spike. Either raise the limit temporarily or expect and approve the pause.

Planned big events

If you know a large removal is coming, such as a divestiture or the end of a seasonal contract, you have two sensible choices. You can leave the threshold alone, let the safeguard pause the import, and have an administrator approve it knowingly. Or you can raise the threshold for exactly that one run and lower it again afterward. The first choice is safer because it keeps the safety net in place and creates a clear approval record. The second is quicker but easy to forget to undo.

Too Tight

Cries wolf

Normal days trigger pauses. Administrators learn to click approve without looking. The safeguard becomes background noise and loses its value.

Too Loose

Sleeps through trouble

A disaster stays under the limit and proceeds. The safeguard exists on paper but protects nothing meaningful.

Just Right

Quiet and alert

Normal days pass silently. Rare, truly unusual days produce a pause that deserves attention.

Drifted

Out of date

A good threshold from three years ago no longer fits a company that has doubled in size. Review it on a schedule.

Everyday Analogy

A car alarm that goes off every time a leaf falls on the hood teaches the whole street to ignore it. A car alarm set so insensitive that it stays silent while the window is smashed protects nothing. The goal is an alarm that stays quiet through ordinary life and speaks up only when something genuinely different happens.

!
Practical Tip

Write down why you chose each threshold and who approved it. When someone asks a year later, “Why twenty percent?”, the answer should be in a document, not in a departed employee’s memory.

11What Safeguards Protect Against, and What They Do Not

An honest map of the coverage. Good engineers know the edges of their tools.

A safeguard is a specific tool for a specific job. If you expect it to solve every identity problem, you will be surprised. The table below states plainly where it helps and where it does not.

RiskDoes a safeguard help?Why
Source returns an empty listYesThe removal count is huge, so the threshold is crossed.
Source returns a large partial listYes, if the missing share exceeds the limitThe number of apparent leavers is above the threshold.
A small number of wrong removalsNoSmall changes stay under the limit by design.
A wrong attribute value for one personNoThe safeguard counts volume, not the correctness of each field.
An attacker adds a fake account in the sourceNoThat is a creation, not a mass removal. Other controls apply.
An administrator edits users manually in OktaNoSafeguards apply to imports, not to manual actions.
Duplicate accounts from poor matchingNot directlyMatching rules and review steps handle this, not the threshold.
A legitimate large reorganizationIt pauses for confirmationYou decide knowingly instead of automatically.

Three important limits

Small changes slip through. If a bug removes only a few users, no threshold will notice. For those, you rely on good monitoring, careful change control at the source, and quick support response.

Correct but harmful changes slip through. If the source is wrong in a believable way, such as marking a single executive as terminated by mistake, the safeguard cannot tell. It has no way to know the truth about any individual.

It only guards imports. Changes made by hand in the Admin Console, through the API, or by other automation do not pass through the import safeguard. Those paths need their own protections, such as limited administrator roles and approval processes.

A safeguard guards against big, loud mistakes. Quiet mistakes need other defenses.

Think in layers

Safety experts talk about layers of defense, sometimes called the Swiss cheese model. Each layer has holes, but if you stack several layers, the holes rarely line up. Safeguards are one useful layer. Others include change control on the source system, careful agent permissions, test imports before production changes, monitoring dashboards, alerts, and a rehearsed recovery plan. Together they make a mass-deactivation incident extremely unlikely.

Everyday Analogy

A hospital double-checks a dangerously large drug dose with a second nurse. That check catches wild mistakes such as a misplaced decimal point. It does not catch a subtle error that looks plausible. The hospital also uses labels, barcode scans, and pharmacist review. No single check carries the whole load, and neither should the import safeguard.

12Safeguards Compared with Other Okta Protections

Okta offers several tools that sound related. Knowing which one answers which question saves a lot of confusion.

Import safeguards are part of a family of controls around the identity lifecycle. They are often confused with neighbors. Here is how they differ.

Neighbor 01

Matching rules

Decide whether an incoming person is the same as an existing one. They prevent duplicates. Safeguards decide whether the total volume of change is acceptable.

Neighbor 02

Deprovisioning settings

Decide what happens to an account when a person leaves, such as deactivate or suspend. Safeguards decide whether to allow a large batch of such actions to proceed unreviewed.

Neighbor 03

Admin roles

Decide who may change settings or approve decisions. Safeguards produce the decisions that those roles then approve.

Neighbor 04

Event hooks

Send a notification to your own system after something happens. They can alert you about activity, while safeguards stop a risky import before it applies.

Neighbor 05

Workflows

Automate follow-up tasks inside Okta, such as ticket creation or messaging. They react to events, whereas safeguards protect the import itself.

Neighbor 06

System Log

The diary that records what happened. Safeguards both write to it and benefit from it, but the log itself blocks nothing.

Prevention, detection, and response

A useful way to sort these tools is by the job they perform. Prevention stops harm before it occurs: safeguards, careful matching, and limited admin roles belong here. Detection notices that something unusual is happening: System Log searches, dashboards, and alerts belong here. Response repairs what went wrong: runbooks, reactivation procedures, and restoring from the source belong here. A healthy design uses at least one tool from each group.

ToolMain jobWhen it acts
Import safeguardsPreventionBefore an import applies its changes
Matching rulesPreventionWhile building the change plan
Admin role designPreventionWhenever someone tries to change settings
System Log and alertsDetectionAfter events are recorded
Event hooksDetection and automationShortly after an event occurs
Runbooks and reactivationResponseAfter a problem is discovered
Everyday Analogy

In a building, a sprinkler system tries to stop a fire from spreading, a smoke detector tells you a fire has started, and the fire department puts it out. Nobody asks which of the three is the real fire protection. You need all three, and each does a different job at a different moment.

!
Design Hint

If your team only has detection (alerts after the fact), add prevention. If your team only has prevention, add a rehearsed response. The weakest layer sets the real level of safety.

13Advanced Topics: Cascades, Scale and Edge Cases

Once the basics feel comfortable, these deeper ideas explain the odd situations you will meet in large environments.

The cascade effect

An import never acts alone. When a user changes status in Okta, other automation reacts. Group rules might remove the person from groups. Group membership might remove their application assignments. Application assignments might trigger provisioning actions in downstream tools such as email, chat, or ticketing systems. A single deactivation can therefore ripple outward through many systems within minutes.

flowchart LR
  SRC["Source System"] --> IMP["Okta Import"]
  IMP --> UD["User Status in Universal Directory"]
  UD --> GR["Group Rules and Memberships"]
  GR --> APPS["Application Assignments"]
  APPS --> DS["Downstream Apps and Licenses"]
  UD --> SESS["Active Sessions and Tokens"]
  IMP -.->|"Safeguard check stops the chain at its start"| UD
    
Fig 4. A bad import can ripple outward. The safeguard cuts the chain at its first link.

This is why it is so much cheaper to stop a bad import than to repair its effects. Stopping at the first link prevents every later link from moving. Repairing afterward means undoing each link separately, often in systems you do not own.

Multiple sources for the same person

Some people appear in more than one source. A contractor might exist both in an HR system and in a directory. Removal from one source does not necessarily mean the person should be deactivated overall. How Okta treats this depends on how the integrations are set up, particularly whether the import unassigns the person from an application or deactivates the account entirely. Design these relationships on purpose and write them down, because the safeguard counts what the import would do, not what you intended.

The slow drip

A threshold looks at one import at a time. A fault that removes two percent of users on each of twenty nights never crosses a ten percent limit, yet it quietly empties a large share of your workforce. This pattern is sometimes called the boiling frog problem. The defense is trend monitoring: chart the removal percentage across many runs and alert on sustained abnormal levels, not only on single spikes.

Scale and duration

In very large organizations, an import may take hours. During that time the source may change under your feet. People are hired and fired while the pages are being read. This is normal, and the next import will reconcile it. It does mean you should schedule heavy full imports for quiet periods and avoid running two overlapping imports against the same source.

Restoring a source from backup

A sneaky scenario happens during disaster recovery. Suppose the directory fails and is restored from last week’s backup. People who joined this week are missing from the restored copy. The next full import will see them as gone. A safeguard may or may not pause it depending on how many people are affected. Add a line to your recovery plan: after any source restore, pause scheduled imports until the data is verified.

Multiple forests and domains

Large companies often have several directory forests after mergers. Each connection can have its own import settings and its own safeguard behavior. Keep a map of which agent serves which domain, who owns it, and what its threshold is. When one forest has trouble, you want to know instantly which part of the workforce is exposed.

Case: The overlapping imports

Two imports against the same directory start within minutes of each other, because a manual run was launched during the scheduled one. The source is slow, and one run reads an incomplete list. The team’s runbook says to avoid launching a manual full import while a scheduled one is running. Writing that single rule prevented a repeat of the incident.

Everyday Analogy

A row of dominoes shows the cascade. Placing a hand to stop the first domino is easy and quick. Trying to stand up forty fallen dominoes in a dark room is slow and frustrating. The safeguard is the hand on the first domino.

14Security Considerations

Safeguards are a safety feature, but they sit in the middle of a security-sensitive path. Treat the whole chain with care.

Import safeguards protect against accidents. Security thinking asks a harder question: what if someone is doing this on purpose? The identity list controls who can enter your company’s digital doors. Anyone able to tamper with that list, or with the safeguard that watches it, holds a lot of power.

Threat 1: Using imports as a weapon

An attacker who gains control of the source directory, or of the connector agent, could try to make many people disappear on purpose. The goal might be disruption, a distraction while something else happens, or pressure for a ransom. A safeguard raises the cost of this attack, because a huge sudden removal would pause and alert administrators. A patient attacker might remove people in smaller slices across many days, so detection and source-side controls remain important.

Threat 2: Weakening the safeguard

If someone can raise the threshold to a very high number or turn the safeguard off, the protection quietly vanishes. Restrict who can change safeguard settings, require strong sign-in for those people, and record every change in an audit log. Treat a change to a safeguard setting as an important event that deserves its own alert.

Threat 3: A compromised approver

The review step relies on a person clicking approve or cancel. If an attacker takes over that person’s account, they could approve a harmful import. Strong multi-factor authentication for administrators is essential. For high-risk environments, consider a process in which a second person must agree to approve very large removals, a pattern known as separation of duties.

Threat 4: Poisoned or tampered source data

Okta trusts the source. If an attacker edits records in the source, the import will copy those edits. Safeguards cannot detect a believable but malicious edit to a few accounts. Protect the source system with the same seriousness as Okta itself, including strong administrator controls and change logging.

Threat 5: The agent host

For on-premises directories, the agent runs on a server you manage. If that server is compromised, the attacker sits next to your directory credentials. Give the agent only the permissions it needs, which for an import is read access. Patch the host, limit who can sign in to it, and monitor it like any sensitive server.

Control

Least privilege

Give people and service accounts only the permissions needed. A read-only agent cannot damage the source, and a narrow admin role cannot change safeguard settings.

Control

Strong admin sign-in

Require phishing-resistant multi-factor authentication for anyone who can approve imports or edit safeguards.

Control

Separation of duties

Make sure the person who changes a setting is not the only person who can approve its consequences.

Control

Audit everything

Record who changed thresholds, who triggered imports, and who approved or cancelled paused ones. Review those records on a schedule.

Control

Group notifications

Send safeguard alerts to a shared team mailbox or channel, not to one person who may be on vacation or may have left.

Control

Protect the source

Apply change control and logging to the directory or HR system. The import is only as trustworthy as its source.

!
Do Not Skip This

An alert that reaches nobody is the same as no alert. Test your notification path. Confirm that safeguard emails arrive at a monitored address and that the people on that list know what to do.

Everyday Analogy

A bank vault has a thick door, but it also has rules about who holds the keys, cameras that record every opening, and a requirement that two managers turn their keys together. The door alone is not security. The safeguard is a thick door, and the surrounding habits are what make it a vault.

15Governance, Change Management and Compliance

Technology works best when people agree who owns it, who may change it, and how decisions are remembered.

Safeguards are a technical setting, but they live inside a human organization. Several teams touch the chain: the people who manage the source, the identity engineers who run Okta, the security team who watch for abuse, and the business leaders whose employees are affected. Without clear agreements, even a perfect setting can fail through confusion.

Who owns what

RoleTypical responsibility
Identity engineeringConfigures imports and safeguards, tunes thresholds, runs the runbook
Source system ownerKeeps the directory or HR data healthy, announces changes that could affect imports
People or HR teamAnnounces planned large changes such as divestitures and seasonal contract ends
Security teamReviews settings changes, watches for abuse, owns incident response
Service deskFirst to hear from affected users, needs a clear message and a contact path
Business ownerAccepts the risk trade-offs between speed and safety

Change management for safeguard settings

Treat any change to a threshold, or any decision to switch a safeguard off, as a controlled change. A sound process requires a ticket that states the reason, a named approver, a planned end date for temporary changes, and a check afterward that the setting returned to normal. This tiny amount of paperwork prevents the quiet drift that causes most safeguard failures.

Joiner, mover, leaver

Identity teams describe the employee life as joiner, mover, and leaver. Joiners are new hires who need accounts. Movers change roles and need access adjusted. Leavers depart and need access removed quickly. Imports serve all three, and safeguards guard the leaver step. A well-run organization can show an auditor that leavers lose access promptly and that large automated removals are reviewed by a human before they take effect.

Evidence for auditors

Frameworks such as SOC 2, ISO 27001, and financial control regimes commonly expect organizations to demonstrate that access removal is timely and that changes to access controls are approved and logged. Safeguards help produce that evidence. Each pause and each approval leaves a trail of who decided, when, and why. Keep tickets linked to the corresponding entries in the import history and System Log so an auditor can follow the story from alert to decision.

Evidence

Approval records

Who approved each large import, when they did it, and what they checked first.

Evidence

Setting history

Every change to thresholds or safeguard status with a reason and an owner.

Evidence

Test results

Proof that safeguards were tested on a schedule and that alerts reached a monitored place.

Evidence

Runbook and drills

The written procedure and a record that the team rehearsed it.

Everyday Analogy

A restaurant passes a health inspection not because the kitchen is clean on one day, but because it keeps temperature logs, cleaning schedules, and training records that show cleanliness is a habit. Governance records do the same for identity controls. They prove the safety is routine rather than lucky.

!
Practical Tip

Create one shared page that lists every import integration, its owner, its threshold, the reason for that threshold, and the date of the last review. It becomes the first thing opened during both audits and incidents.

16Monitoring, Logging and Metrics

A safeguard that trips silently is just a delay. The value comes from people noticing and acting.

Monitoring turns the safeguard from a private mechanism into a team habit. There are three layers of things to watch: the live state of imports, the historical record, and the numbers that show trends.

Where to look inside Okta

Okta keeps an import history for each integration. It shows when each import ran, how many users were read, and how many were created, updated, or removed. The System Log records events related to imports and administrative changes. Search it for import-related activity and for changes to integration settings. Learn what the events look like on a quiet day, so that an unusual one stands out.

Where to send alerts

Email notifications are useful but easy to miss. Many teams forward them to a chat channel or a ticketing system, so someone owns each one. If your org allows it, event-driven tools such as Okta Event Hooks or Okta Workflows can react to relevant events and open a ticket or page an on-call person. Check the event type catalog to see which import-related events are available to subscribe to.

Numbers worth tracking

Churn
Share of users removed per import, tracked over time
Trips
How many safeguard pauses happen per month
Time
How long a paused import waits before review
Trend

Removal percentage per run

Plot it over months. You will see your normal rhythm, and you will see the spikes that deserve questions.

Health

Import duration

A sudden jump in run time often means a slow connector or a growing source. A sudden drop may mean the source is returning too little.

Volume

Users read per import

This number should be steady. A sharp fall compared with yesterday is the clearest early warning of a source problem.

Response

Time to review

Measure the gap between a pause and its resolution. Long gaps mean the alert path or the on-call habit is weak.

Quality

False alarm rate

What share of pauses were approved without any problem? A high share suggests the threshold is too tight.

Config

Settings changes

Count and review every change to thresholds or safeguard settings. Each one should have a known reason.

A simple weekly routine

Once a week, someone should spend ten minutes on the import dashboard. They check that every scheduled import ran, glance at the number of users read, scan for any paused imports, and note any unusual removals. This small habit catches slow problems that thresholds can never catch, such as a gradual trickle of removals caused by a source misconfiguration.

Everyday Analogy

Think of a car’s dashboard. You rarely look at the temperature gauge, but if the needle creeps upward over a week, you notice before the engine fails. The warning light is like the safeguard, bright and rare. The gauge is like your trend charts, quiet and steady and the thing that prevents the light from ever coming on.

!
Practical Tip

Create a regular test that you can recognize. For example, keep a dedicated test integration in a non-production org and intentionally trip its safeguard once a quarter. This proves the alert path still works and keeps everyone’s skills fresh.

17Testing Safeguards Safely

A safety net you have never tested is only a hope. Here is how to rehearse without risking real people.

Most teams discover how their safeguard really behaves during an emergency, which is the worst possible time. A better approach is to rehearse in a safe place, so that when the real alert arrives, every person already knows what the screens look like and what each button does.

Build a safe practice area

Use a non-production Okta org, such as a development or preview environment, so that nothing you do can touch real employees. Connect it to a small test source. A tiny directory, a spreadsheet-based source, or a test instance of a cloud application with a few dozen fake users is enough. Because the population is small, you can make the threshold crossing happen easily by removing only a few test people.

Scenarios worth rehearsing

1

The empty source

Make the test source return no users. Confirm that the import pauses, that nobody is deactivated, and that the alert arrives in the right place.

2

The partial source

Hide a large slice of test users. Confirm that a removal share above the threshold triggers the pause.

3

Just below the line

Remove a number of users that sits just under the threshold. Confirm that the import proceeds, so you understand the edge precisely.

4

Just above the line

Remove one more user than the limit. Confirm that this tips the import into a pause.

5

Approve path

Approve a paused import and confirm that the held changes are applied as expected and recorded.

6

Cancel path

Cancel a paused import and confirm that users remain unchanged and that the next import behaves correctly.

What to observe

During each scenario, look at four things. Did the import pause or proceed as predicted? Did the right people receive the alert, and how quickly? Are the entries in the import history and System Log clear enough for someone new to understand? Did the approver have all the information they needed to decide, or did they need to hunt for it? Every gap you find is a free improvement to your runbook.

Make it a regular drill

Schedule a drill every quarter or after any major change to the integration. Rotate who plays the on-call role, so more than one person gains confidence. Keep the drill short, ideally under an hour, and finish with a few written notes about what to improve. Teams that practice resolve real pauses in minutes, while teams that never practice take hours.

What to checkHealthy signWarning sign
Alert deliveryArrives within minutes at a team channelArrives late, or only in one person’s inbox
Pause behaviorNo user status changes while pausedAny user changes appear before approval
Approval clarityApprover can see counts and compare with history quicklyApprover cannot tell what is being changed
Audit trailDecision and approver clearly recordedMissing or confusing entries
Team confidenceAnyone on call can follow the runbookOnly one expert knows what to do
Everyday Analogy

A fire drill in a school is not held because fires are common. It is held so that on the rare real day, children walk calmly to the right door without thinking. A safeguard drill gives your team the same automatic calm.

!
Never Practice in Production

Do not trip a safeguard on a real integration just to see what happens. Use a test environment. Real people should never be the practice dummies.

18Design Patterns That Work

Patterns are shapes that many teams have found reliable. Borrow them freely.

Pattern: Safeguard on, always

Treat the safeguard as a default that must be justified when turned off, rather than an option that must be justified when turned on. Keep it enabled for every production integration that can remove users. Document any exception with an owner and an end date.

Pattern: Staged rollout of new imports

When connecting a new source, start in a test org or with a small group. Review the first several change plans by hand. Only after the behavior is predictable should you enable full scheduled imports in production.

Pattern: Pre-announced large changes

Require the people team or IT to announce planned large removals, such as a divestiture, in advance. The identity team then expects the pause and approves it knowingly, with a ticket as evidence.

Pattern: Source health check before import

Where you control the schedule, verify that the source looks healthy before the import starts. A quick check that the source answers and holds a plausible number of records prevents many pauses before they begin.

Pattern: Two-person approval for big pauses

For removals above a high bar, require a second administrator to confirm the approval. This reduces the chance that one tired or compromised person approves a harmful import.

Pattern: Recovery rehearsal

Practice what you would do if a mass deactivation did happen. Time how long it takes to reactivate users in a test org. A rehearsed plan is dramatically faster than an improvised one.

How the patterns fit together

No single pattern is enough. Staged rollout reduces surprises when a new source appears. Pre-announcements make legitimate large changes boring instead of scary. Health checks reduce false alarms. Two-person approval protects the final decision. Rehearsal keeps recovery fast. Together, they form a lifecycle that wraps around the safeguard itself.

Everyday Analogy

Pilots use checklists before every flight, even though the plane is usually fine. The checklist is a pattern that turns care into a habit. These patterns do the same for identity imports. They are boring on a good day and priceless on a bad one.

19Anti-Patterns to Avoid

Mistakes that many teams make, so you do not have to.

ANTI-PATTERN 01Avoid
What It Looks Like

An administrator is annoyed by pauses and turns the safeguard off, or sets the threshold to the maximum, “just for now.”

Why It Hurts

“Just for now” quietly becomes permanent. The protection disappears at the exact moment nobody is looking, and the next faulty import runs unchecked.

Do This Instead

Fix the cause of the false alarms by tuning the threshold sensibly. If a temporary change is truly needed, record an owner, a reason, and a date to restore it.

ANTI-PATTERN 02Avoid
What It Looks Like

Pauses are always approved quickly because “it is probably fine.”

Why It Hurts

An approval given without checking is the same as no safeguard at all. This habit is called alert fatigue, and it wears down every safety system over time.

Do This Instead

Require a short checklist before approving. Compare the number of users read today with yesterday, confirm with the source owner, and note the reason in a ticket.

ANTI-PATTERN 03Avoid
What It Looks Like

Alert emails go to one person’s inbox.

Why It Hurts

That person goes on vacation, changes roles, or leaves. The pause sits unseen while users wait for updates and stale data builds up.

Do This Instead

Send alerts to a monitored team mailbox or chat channel with a clear on-call owner.

ANTI-PATTERN 04Avoid
What It Looks Like

Believing the safeguard makes testing unnecessary, so changes to the source or the agent go straight to production.

Why It Hurts

Safeguards only catch big problems. Smaller faults, such as a wrong mapping affecting a few hundred people, can slip beneath the limit.

Do This Instead

Test source and connector changes in a non-production org first, and treat the safeguard as the last line of defense, not the first.

ANTI-PATTERN 05Avoid
What It Looks Like

A set-and-forget threshold that nobody has reviewed since the system was first configured.

Why It Hurts

The company changes size and shape, and the original number no longer fits. It becomes too tight or too loose without anyone noticing.

Do This Instead

Put a threshold review on a quarterly or twice-yearly calendar, tied to headcount changes and reorganizations.

20Advantages, Disadvantages and Trade-offs

Every safety feature has a price. An honest ledger helps you decide how much to lean on it.

Advantages

  • Stops mass deactivation caused by a bad source answer before any user is touched
  • Keeps a human in charge of very large changes
  • Costs almost nothing to run on a normal day
  • Creates a clear approval record for big changes
  • Protects downstream applications from chain reactions
  • Reduces the pressure on support teams during the worst possible incidents

Disadvantages

  • Delays legitimate changes in the same batch until a person reviews the pause
  • Can create false alarms when the threshold is too tight
  • Does not catch small or believable errors
  • Only guards imports, not manual or API changes
  • Depends on a person actually reading and acting on the alert
  • Needs periodic tuning as the company changes

Trade-offs to think through

Safety versus speed. A tighter threshold catches more mistakes but pauses more often. A looser threshold is quieter but riskier. The right balance depends on how harmful a mass removal would be in your organization. A hospital or a bank usually leans toward safety.

Automation versus oversight. The whole reason to import automatically is to avoid manual work. Each pause reintroduces some manual work. A good design keeps pauses rare, so the automation benefit remains.

Central control versus team autonomy. If many teams own different integrations, you must decide who sets each threshold and who approves each pause. Too much central control slows the teams down. Too little leaves safeguards inconsistent.

Simplicity versus precision. A single percentage is easy to explain and operate, but crude. Count-based limits, or different values per integration, are more precise but demand more care to maintain.

!
Rule of Thumb

Ask how bad a wrong removal would be. If the answer is “a few annoyed people,” a loose threshold is fine. If the answer is “a stopped hospital ward or trading floor,” keep the threshold tight and the review path fast.

21Best Practices and Common Mistakes

A checklist to read before every launch and every incident review.

Best practices

  • Keep safeguards enabled on every production integration that can deactivate or unassign users.
  • Choose thresholds from data. Study several months of import history, find the busiest normal day, and set the limit comfortably above it.
  • Route alerts to a team, not a person. Test the route regularly.
  • Write a short runbook that explains who reviews a pause, what to check, and who can approve.
  • Limit who can change safeguard settings, and protect those accounts with strong multi-factor authentication.
  • Test connector and source changes in a non-production org before touching production.
  • Announce big organizational changes early so a pause is expected instead of surprising.
  • Track trends, not just alerts. Chart the share of users removed per import and the number of users read.
  • Review thresholds at least twice a year or whenever headcount shifts significantly.
  • Keep a rehearsed recovery plan in case a harmful import slips through anyway.
  • Document ownership. Every integration should have a named technical owner and a business owner.

Common mistakes

Mistake 01

Approving without looking

Clicking approve out of habit defeats the purpose. Always compare the numbers with a normal day first.

Mistake 02

Leaving it disabled

A temporary disable becomes permanent because nobody owns the reminder to switch it back on.

Mistake 03

Wrong threshold for small orgs

A percentage that suits a large company trips on a single resignation in a tiny one, causing endless noise.

Mistake 04

Ignoring the source

Teams tune Okta endlessly while the real fault is an unstable directory, agent, or HR export.

Mistake 05

No owner for alerts

Everyone assumes someone else is watching the mailbox. Nobody is.

Mistake 06

Forgetting the delay

A pause also delays new hires and real changes in the batch. Review quickly so people are not left without accounts.

Mistake 07

Treating it as complete security

The safeguard catches large volume swings. It does not replace access reviews, monitoring, or admin controls.

Mistake 08

Never testing it

A safeguard that has never been tripped in a test is a guess. Practice in a safe environment so you know the alerts and approval screens work.

22Real-World Usage Scenarios

Five stories showing how safeguards behave in practice. These are illustrative designs built to teach the idea, not descriptions of any named company’s real setup.

Scenario 1: The directory restart that returned nothing

Imagine a global retailer with roughly forty thousand employees and an on-premises directory. After a weekend patch, the directory service starts slowly and answers the nightly import with an empty list. The import calculates that forty thousand people appear to have left, and the safeguard pauses it. The on-call administrator sees the alert, notices that the import read zero users compared with forty thousand yesterday, restarts the agent, and cancels the paused import. Nothing was deactivated. The only evidence is a ticket.

Scenario 2: The legitimate divestiture

Picture a technology company selling a business unit of three thousand people. The people team warns the identity team two weeks ahead. On the transfer date, the import reports three thousand removals, and the safeguard pauses it as expected. Two administrators verify the list against the transfer agreement and approve the import. The pause did not block the change. It turned it into a deliberate, documented decision.

Scenario 3: The filter edit

A company with eight thousand users has a directory team that tidies the folder structure and moves the entire finance department into a new folder that the import does not read. Okta sees nearly eight hundred people vanish. Because the threshold is set at a tighter percentage for this integration, the import pauses. An administrator spots that the missing people all share one department, contacts the directory team, and the folder is added to the import scope before any account is touched.

Scenario 4: The tiny nonprofit

A nonprofit with thirty-five staff finds that its percentage threshold pauses the import every time two volunteers end their service. The administrators realize that a percentage on a very small population is too sensitive. They switch to a small absolute count, document the reason, and review it again when the organization grows.

Scenario 5: The seasonal workforce

A logistics company hires several thousand temporary workers each autumn and releases them in January. The identity team knows the January import will remove a large share of users. They keep the safeguard on, expect the pause, and have a pre-approved ticket template. An administrator verifies the list against the contract end dates and approves within minutes. The approval trail is exactly what auditors later ask for.

Everyday Analogy

Across all five stories the safeguard behaves like a thoughtful colleague who says, “That is a big change. Are you sure?” Sometimes the answer is “No, thank you for catching that.” Sometimes it is “Yes, I am sure, and here is why.” Both answers are better than no question at all.

23Runbook: What to Do When a Safeguard Trips

A calm, step-by-step routine for the moment an alert arrives.

When an alert lands, the right feeling is calm curiosity, not panic. Nothing has been deactivated yet. You have time to investigate, and the steps below keep you organized.

1

Acknowledge

Tell the team you are looking at it, so nobody duplicates the work. Open a ticket or incident channel to keep notes in one place.

2

Read the numbers

Look at how many users the import read, and how many it plans to remove. Compare with a normal day from your history.

3

Ask the key question

“Did the world change, or did the data change?” Did a real event cause this, such as a divestiture, or does the source look broken?

4

Check the source and connector

Confirm the source system is healthy, the agent is running, and nothing was changed recently. Ask the source owner and the people team whether any planned change happened.

5

Sample the affected users

Pick a few people from the removal list and confirm with their managers or the source whether they have really left. A quick sample often settles the question.

6

Decide

If the changes are real and expected, approve, with a second approver for large numbers. If they look wrong, cancel. If you are unsure, leave the import paused while you gather more facts. Waiting is safe.

7

Fix the cause

Repair the source, the filter, or the connector. Then run another import and confirm that the numbers look normal.

8

Write it down

Record what happened, who decided, and what you changed. If the threshold was wrong, adjust it and note why.

!
Golden Rule

When in doubt, do not approve. A paused import costs a little time. A wrongly approved import can cost a whole workforce its access.

Waiting is safe. Guessing is not.

24Frequently Asked Questions

Short answers to the questions that come up most often.

Q1What exactly is an import safeguard?
It is an Okta protection that compares the size of the removals an import is about to make against a threshold. If the changes are too large, Okta pauses the import and asks an administrator to approve or cancel it.
Q2Does the safeguard stop users from being created?
Its main purpose is to guard against mass removals, such as deactivations or unassignments, because those are the most disruptive mistakes. Creating accounts is easier to undo.
Q3What happens to users while an import is paused?
They keep their current status. Nothing in the held change plan is applied until an administrator decides.
Q4Who can approve a paused import?
Administrators with the appropriate permissions. Limit this to a small, trusted group protected by strong multi-factor authentication, and confirm the exact roles in current Okta documentation.
Q5Is a percentage or a number of users better for the threshold?
Percentages scale with company size, so they suit most organizations. Very small or very stable populations may prefer an absolute count if their integration offers it.
Q6Can I turn safeguards off?
Typically yes, but it is rarely wise for production integrations that can remove users. If you do, record the reason, the owner, and a date to switch it back on.
Q7Will the safeguard catch a hacker who removes only a few users?
No. Small changes stay under the threshold. Use monitoring, access reviews, source-side controls, and restricted admin roles for those cases.
Q8Do safeguards apply to changes made manually in the Admin Console?
No. They are designed for imports. Manual and API changes need their own controls, such as limited admin roles and approval processes.
Q9Why did my safeguard trip when the source looked fine?
Common reasons include a real large change, a threshold that is too tight for your size, a matching rule problem that made known users look new, or an incomplete read that has since recovered. Compare users read today versus a normal day.
Q10Should I approve a paused import quickly to avoid delays?
Review promptly, but verify first. Approving without checking defeats the protection. Waiting a short while is far cheaper than repairing a wrong mass change.
Q11How often should I review my thresholds?
At least twice a year, and any time headcount, structure, or the source system changes significantly.
Q12How do safeguards relate to Event Hooks?
They are complementary. The safeguard prevents a risky import from applying. Event hooks can notify your own systems about events, which supports faster alerting and automated tickets, subject to which event types are available in your org.
Q13Is this the same for every kind of integration?
Not necessarily. Support, defaults, and where settings live can differ across integrations and Okta releases. Always confirm the details for your specific source in the current documentation.
Q14What is the best single habit to build?
Compare the number of users read today against a normal day every time an alert fires. That one habit catches the majority of source and connector faults.

25Summary and Key Takeaways

If you remember nothing else, remember the box below.

Import safeguards are a simple idea with a large payoff. Automation is excellent at doing routine work and terrible at noticing when the world has gone strange. A safeguard adds that missing sense of suspicion at the one moment it matters most: after the plan is built and before the changes are applied. Used well, with a sensible threshold, a monitored alert path, protected approvers, and a calm runbook, it turns a possible company-wide outage into a quiet ticket.

Key Takeaways

  • Imports can remove people. When a source returns bad data, Okta may treat everyone as missing, which is why the removal side needs a brake.
  • Safeguards judge the size of the plan. They compare the number of planned removals with a threshold, and pause the import for human review when it is exceeded.
  • Pause, not fail. The held plan is applied only if an authorized administrator approves, and is discarded if they cancel.
  • Tune the threshold from your own data. Set it above your busiest normal day, review it regularly, and prefer counts for very small populations.
  • Know the limits. Safeguards miss small or believable errors and do not cover manual or API changes, so layer them with monitoring, change control, and admin controls.
  • Secure the whole chain. Protect the source, the agent, the approvers, and the safeguard settings with least privilege, strong sign-in, and audit trails.
  • Make it a team habit. Route alerts to a monitored channel, follow a runbook, and when in doubt, leave the import paused. Confirm exact product behavior in current Okta documentation.