Risk-Based Authentication Scoring in Okta
A plain-English guide to how a sign-in can be judged by its surroundings: what clues Okta looks at, how those clues add up to a level of risk, how policies turn that level into a decision, and how to tune the whole thing so it stops attackers without annoying everyone else.
Imagine two people knocking on the door of the same office at the same moment. The first is a colleague who arrives at nine every morning, wears the usual badge, carries the usual laptop, and walks in from the usual direction. The second says he is a colleague too, but he arrives at three in the morning, from a city nobody has seen him in, carrying a laptop nobody recognizes, and he has already tried four different doors. Both know the right password. Should the guard treat them the same way?
Of course not. A sensible guard looks at the whole situation, not just the password. That is the idea behind risk-based authentication: instead of asking everybody for the same proof every time, the system weighs the surrounding clues, estimates how risky this particular sign-in looks, and asks for more proof only when the risk is higher. This guide explains how that works in Okta from zero. You will learn what the clues are, how they combine into a score or level, how to turn that level into policy, how to test and tune it, where it can fail, and how to keep it fair and understandable for the people who live with it every day.
1Why One Rule for Everyone Does Not Work
Before learning how risk scoring works, it helps to feel the problem it solves. The problem is a tug-of-war between safety and convenience.
The two simple choices, and why both disappoint
A company that wants to protect its systems has two simple choices. It can ask for strong proof every single time, for every person, in every situation. This is safe, but it is tiring. People sign in dozens of times a day, and constant prompts teach them to tap “approve” without thinking, which is exactly what attackers hope for. Or the company can ask for strong proof rarely, trusting the password most of the time. This is pleasant, but a stolen password then opens the door wide.
Neither extreme is right, because the situations are not equal. Signing in from your own managed laptop in your usual office is very different from signing in from an unknown device in a country you have never visited. A fair system should notice the difference.
Think of airport security. A traveler who flies the same route every week, checks in normally, and carries ordinary luggage walks through quickly. A traveler who bought a one-way ticket with cash a few minutes before departure, and whose bag looks strange on the scanner, is pulled aside for a closer look. Nobody thinks this is unfair. The extra effort is spent where the risk is higher, so that everyone else can move along.
What risk-based authentication changes
With a risk-based approach, the strength of the check follows the level of risk. When everything about a sign-in looks familiar, the person may pass with little friction. When something looks unusual, the system raises the bar: it may require a second factor, a stronger factor, or a fresh sign-in. When the signs are alarming, it may refuse the attempt altogether. Security effort is no longer a flat tax on everyone but a targeted response to real warning signs.
The honest promise and the honest limit
Risk scoring does not make sign-in perfectly safe. It is an estimate made from clues, and clues can mislead. A real employee on holiday may look suspicious. A clever attacker using a nearby network and a stolen device may look ordinary. The promise of risk-based authentication is not perfection but better aim: more of the extra effort lands on risky sign-ins and less on safe ones. This guide returns to this point many times, because good designs are built around it.
Whenever you hear “risk-based”, ask two questions: “What clues are being used?” and “What happens at each level of risk?” Everything else in this guide is a detailed answer to those two questions.
2What “Risk” Means in a Sign-In
The word risk is used loosely in everyday talk. For a design to work, we need to say exactly what it is a risk of.
Risk as likelihood and impact
In security, risk combines two ideas: how likely something bad is, and how damaging it would be if it happened. A sign-in that is very likely to be fake but only opens a lunch-menu page carries little risk, because little can go wrong. A sign-in that is only slightly suspicious but opens the payroll system carries much more risk, because the possible damage is large. Good designs consider both halves.
This is why Okta policy has two sides. The signals about the sign-in describe the likelihood that it is not who it claims to be. The application and its sensitivity describe the impact. A rule written for the payroll system can be much stricter than one written for the lunch menu, even when the signals are identical.
What exactly are we afraid of?
Stolen password
Someone else has the person’s password, from a data leak, a fake website, or a guess, and is trying to use it.
Stolen session
An attacker has taken over an already signed-in browser session, so no password is needed at all.
Tricked approval
The real person is pestered or fooled into approving a prompt they did not start.
Compromised device
The sign-in comes from the real person’s own computer, but the computer is infected or unmanaged.
Automated guessing
Software tries huge numbers of passwords against many accounts, hoping some will work.
Insider misuse
A real person with real access does something outside their normal pattern, for bad reasons or by accident.
Risk at sign-in and risk during the session
Risk is not only checked at the front door. A person can pass every check and then, ten minutes later, something changes: their session suddenly appears from a different country, or their device falls out of compliance. A thoughtful design therefore thinks about risk at two moments. The first is at sign-in, where the decision is whether to let the person in and with what proof. The second is during the session, where the decision is whether to keep trusting the session. Later chapters cover both.
flowchart LR
L["Likelihood: how suspicious do the clues look?"] --> R["Risk"]
I["Impact: how damaging if wrong?"] --> R
R --> D["Decision: how much proof to demand"]
A bank guard does not worry equally about every visitor. A stranger who asks for the time is no concern. A stranger who asks to see the vault is a big concern. The same strange behavior matters more or less depending on what the person is trying to reach.
3Signals: The Clues a Sign-In Leaves Behind
Every sign-in leaves a trail of small facts. On their own they say little. Together they paint a picture.
The main families of clues
A signal is a single fact about the sign-in that helps judge risk. Signals fall into a few families. Understanding the families makes it easy to understand any specific feature Okta offers.
| Family | Examples | What it helps reveal |
|---|---|---|
| Network | Internet address, known company network, anonymizing service, address reputation | Whether the traffic comes from a trusted place or a suspicious one |
| Location | Country, region, city, distance from last sign-in, travel speed | Whether the person could really be where the sign-in says |
| Device | Managed or not, operating system, encryption, screen lock, previously seen | Whether the machine is known and healthy |
| Behavior | Usual hours, usual apps, usual devices, speed of repeated attempts | Whether this fits the person’s normal pattern |
| Identity state | Recent password reset, new factor added, failed attempts, account age | Whether the account itself shows signs of tampering |
| Threat intelligence | Addresses seen attacking other organizations, reports from partner tools | Whether outside knowledge flags this sign-in as dangerous |
| Application | Sensitivity of the app being opened | How much damage is possible (the impact side) |
Strong and weak clues
Not every clue is equally trustworthy. A strong signal is hard for an attacker to fake: for example, a device that proves it holds a secret key, or a sign-in that arrives through a company-managed secure channel. A weak signal is easy to fake or often wrong: for example, a location guessed from an internet address, which can be hidden by a VPN, or the name of the web browser, which any program can claim to be. Good designs weigh strong signals heavily and treat weak ones as hints, never as proof.
Device proves a secret
A managed device that cryptographically proves it is the registered one is very hard to imitate from afar.
Phishing-resistant factor
A hardware key or similar method is tied to the real website address and cannot be replayed from a fake page.
Behavior baseline
A long history of normal habits is useful, but a patient attacker can sometimes mimic habits once they have stolen a device.
Location from address
Easily blurred by VPNs, mobile networks, and company proxies. Useful as a hint, unreliable as a verdict.
Browser description
Any program can say it is any browser, so this is useful only in combination with other clues.
Time of day
People work odd hours for many good reasons. A rare hour alone should not alarm anyone.
Do not build a rule that treats one weak clue as a verdict. “Sign-in from a new country means block” will block honest travelers all day long. Combine clues, and match the strength of your reaction to the strength of the evidence.
A detective does not arrest someone because they were wearing a hat near the scene. A fingerprint on the broken window counts for much more than a hat. Strong clues carry weight; weak clues just help build the picture.
4From Clues to a Score: The Idea of Scoring
Many clues point in different directions. A score is a way to combine them into one simple summary the system can act on.
The basic recipe
A risk score is a number, or a short label such as low, medium, or high, produced by combining many signals. The basic recipe has three steps. First, each signal contributes some amount of suspicion or reassurance. Second, the contributions are added up, with more important signals counting for more. Third, the total is placed into a band, a range that maps to a risk level, such as “low” for small totals and “high” for large ones. The system then acts according to the band.
A teaching model you can reason with
Okta computes its own risk assessments internally, and the exact weights and methods are not something administrators set point by point. To help you think clearly, the table below shows an illustrative teaching model with made-up numbers. It is not Okta’s algorithm. It simply shows the logic of adding up clues.
| Clue observed | Points (illustration) | Why |
|---|---|---|
| Device is managed and previously seen | -20 | Familiar, healthy device is reassuring |
| Sign-in from a known office network | -10 | Familiar place |
| New device never seen before | +20 | Unfamiliar machine |
| New country for this person | +25 | Unusual place |
| Travel too fast to be physically possible | +40 | Strong sign of two different people |
| Address belongs to an anonymizing service | +20 | Hides true origin |
| Address reported as attacking others | +50 | Outside knowledge of bad behavior |
| Many failed attempts just before | +30 | Possible guessing |
flowchart LR
S1["Signal 1: device"] --> SUM["Add contributions with weights"]
S2["Signal 2: network"] --> SUM
S3["Signal 3: location"] --> SUM
S4["Signal 4: behavior"] --> SUM
SUM --> B{"Which band?"}
B -- "Low" --> LOW["Light check"]
B -- "Medium" --> MED["Step-up proof"]
B -- "High" --> HI["Deny or strongest proof"]
Bands and thresholds
The boundaries between bands are called thresholds. Setting a threshold is a choice between two kinds of mistakes. If the threshold for “high” is set too low, many honest sign-ins are treated as dangerous. These are false alarms, also called false positives. If it is set too high, real attacks slip through as ordinary. These are misses, or false negatives. No threshold removes both. Moving it only trades one for the other, which is why tuning is a continuing job, not a one-time setting.
False alarm
An honest person is treated as risky. Costs: annoyance, help desk calls, lost work time, and people learning to ignore warnings.
Miss
A real attack is treated as normal. Costs: stolen data, fraud, and a long cleanup after the damage is done.
Think of a smoke alarm. If it is too sensitive, it screams every time you make toast and you stop trusting it. If it is not sensitive enough, it stays quiet during a real fire. Choosing the sensitivity is the same balancing act as choosing risk thresholds.
Because Okta’s own scoring is not something you can reweight number by number, your control comes from what you do with the result and from the other conditions you combine in each rule. Think of Okta’s level as one ingredient, and your policy as the recipe.
5Okta’s Building Blocks for Risk
Okta offers several features that gather clues, summarize them, or react to them. Knowing what each one contributes lets you assemble a design from parts you understand.
Okta renames features and moves settings between menus, and some capabilities depend on license and on whether your org uses Okta Classic Engine or Okta Identity Engine. This chapter names the lasting ideas. Before building anything real, confirm exact names, locations, and availability in the current Okta documentation for your org.
Network zones
Named groups of network locations, such as your offices, a partner’s addresses, or categories like known anonymizing services. Rules can treat sign-ins from each zone differently.
ThreatInsight
Uses information gathered across many Okta customers to recognize addresses that are attacking sign-in pages, and can log or block them.
Behavior detection
Learns each person’s usual patterns and notices departures, such as a new device, a new place, or travel that is too fast.
Risk level in policy rules
A summary of sign-in risk, expressed as levels, that policy rules can use as a condition to choose stronger or lighter checks.
Device assurance and Okta Verify
Describes what a healthy device looks like and lets sign-in rules require it. Okta Verify also supports strong, device-bound sign-in methods.
Risk provider integrations
Ways for partner security tools to send their own risk judgments into Okta so policy can use them.
Continuous risk and Universal Logout
Newer capabilities that reassess risk during a session and can end sessions across connected apps when danger appears.
System Log
The detailed record of sign-ins and policy decisions, which is how you learn what actually happened and tune your design.
How the pieces relate
Think of the features as a team. Network zones and ThreatInsight look at where a sign-in comes from. Behavior detection looks at how it compares with the person’s past. Device features look at what machine is being used. The risk level summarizes some of these into a single condition. Risk provider integrations bring in outside opinions. Policy rules then decide what to do, and the System Log tells you what happened.
Picture a security team in a building lobby. One guard watches the street cameras (network), another knows regular visitors by face (behavior), another inspects equipment (device), a supervisor reads the daily alert bulletin from the police (threat intelligence), and a manager decides who gets escorted or turned away (policy). Together they make decisions no single guard could.
6The Architecture of a Risk Decision
Putting it together, every risk-aware sign-in follows the same broad path: gather clues, judge, decide, act, and record. Seeing the path makes every later topic easier to place.
The path in six steps
The exact internal workings are Okta’s own, so treat this as a conceptual model. It is accurate enough to design policy and to explain behavior.
A sign-in arrives
A person or a program tries to open an application. Okta notes who, from where, on what device, and with what request.
Clues are gathered
Network, location, device, and behavior signals are collected, along with any outside risk information that is available.
Risk is assessed
The clues are summarized into a risk level and made available as conditions that rules can read.
The matching rule is chosen
Rules are checked in priority order and the first whose conditions match is used, just as in any Okta policy.
The action is applied
The rule says allow, ask for a certain proof, apply a session limit, or deny. The person completes any required step.
Everything is recorded
The decision and its context are written to the System Log, which feeds monitoring, investigation, and tuning.
flowchart TD
A["Sign-in attempt"] --> B["Gather signals: network, location, device, behavior, outside risk"]
B --> C["Assess risk level"]
C --> D{"First matching policy rule"}
D -- "Low risk rule" --> E1["Allow with normal proof"]
D -- "Medium risk rule" --> E2["Step-up: stronger or extra factor"]
D -- "High risk rule" --> E3["Deny or require strongest proof"]
E1 --> L["Record in System Log"]
E2 --> L
E3 --> L
L --> T["Review and tune"]
T -. "feedback" .-> D
The loop is the point
Notice the last arrow of the picture: results feed back into tuning. A risk design is not a switch you flip once. It is a loop. You release a policy, watch what it does, learn from the false alarms and the misses, and adjust. The most successful teams treat risk policy as a living thing with an owner, a review schedule, and a record of why each rule exists.
Name an owner for the risk policy, usually someone from the security team, and give them a regular meeting with the help desk lead. The help desk hears about false alarms first, and security hears about misses first. Together they see the whole picture.
A thermostat does not just heat the room once; it keeps measuring and adjusting. A risk policy works the same way. It measures outcomes, compares them with what you wanted, and gets nudged back toward the target.
7Network Signals: Where the Traffic Comes From
Every sign-in travels over a network and arrives from an internet address. That address is one of the oldest and most useful clues.
The internet address as a clue
An IP address is the number that identifies where internet traffic comes from, a bit like the return address on a letter. By itself it does not say who is typing. But it says a lot about the kind of place the traffic comes from: your own office, a home internet provider, a mobile phone carrier, a large cloud data center, or a service that deliberately hides the real origin.
Network zones
Okta lets you define network zones, which are named collections of network locations. A zone can be a list of your office addresses, the range used by your company VPN, a partner’s addresses, a list of countries, or a category of risky services. Policy rules can then say “if the sign-in comes from the office zone, ask for less; if it comes from the blocked zone, deny”. Zones are reusable, so one carefully built zone can power many rules.
Trusted office and VPN
Addresses you control. Sign-ins from them are generally more familiar, though a VPN can also be misused if credentials are stolen.
Partner and vendor
Addresses of companies you work with, so their staff are not wrongly treated as strangers.
Anonymizers and proxies
Categories of services that hide a person’s true origin. Okta provides ways to recognize some such categories, so rules can treat them with suspicion.
Blocked locations
Countries or address ranges where you have no business or that have been abused. Use with care, since location can be misleading.
Address reputation and ThreatInsight
Reputation means what is known about an address from past behavior. If an address has been used to try thousands of passwords against many organizations, it has a bad reputation. Okta ThreatInsight draws on sign-in activity across its customers to recognize such addresses. It can be set to only log what it would have done, which is a gentle way to learn, or to log and enforce, where it acts on the threat, for example by blocking the suspicious attempts. Starting in log-only mode and reviewing the results is a wise first step, as the next chapters discuss.
flowchart TD
IP["Sign-in from an address"] --> Z{"Which zone does it match?"}
Z -- "Office or VPN" --> F["Familiar: lower risk contribution"]
Z -- "Partner" --> P["Expected: neutral"]
Z -- "Anonymizer or proxy" --> A["Hidden origin: higher risk contribution"]
Z -- "Blocked zone" --> B["Deny or strongest proof"]
Z -- "Unknown" --> U["Neutral, rely on other signals"]
Pitfalls of network clues
- Shared addresses. Thousands of people may share one company or mobile carrier address. A bad actor on the same address can make an honest person look risky.
- Moving addresses. Home internet and mobile phones change addresses often, so “new address” alone is common and weak.
- VPNs and proxies. Many honest people use them for privacy or work. A rule that blocks all of them may punish good behavior.
- Cloud-hosted attackers. Attackers can rent addresses in respectable-looking data centers, or use home-internet addresses of infected computers, both of which are hard to flag.
- Stale lists. Office addresses change. An outdated zone can make your own staff look foreign.
Zones are shared building blocks. Editing one zone changes every rule that uses it. Before you edit a zone, search for every policy that refers to it, and test the change with a few real examples.
The return address on an envelope tells you something, but anyone can write any return address, and many people share a post office box. It is a useful hint when you combine it with the handwriting, the stamp, and the postmark, and a poor judge on its own.
8Location and Velocity: Could They Really Be There?
If a person signs in from one city and, twenty minutes later, from a city on another continent, something is wrong. This simple idea is called velocity checking.
Geographic location
From the internet address, services can estimate a rough location: country, region, or city. This is not exact. Accuracy varies, and some addresses map to the location of the provider rather than the person. Still, even a rough location helps. A company with staff in three countries can reasonably treat a sign-in from a fourth, never-seen country as unusual.
Velocity: impossible travel
Velocity, in this context, means how fast a person appears to have travelled between two sign-ins. If the distance between the two places could not be covered in the time between them, even by plane, then at least one of the sign-ins is not from the real person. Okta’s behavior detection includes a velocity-style check that looks for travel faster than is realistic, which is often described as impossible travel.
sequenceDiagram
participant U as Person
participant O as Okta
U->>O: Sign-in 1 from City A at 10:00
O->>O: Record location and time
U->>O: Sign-in 2 from City B at 10:20
O->>O: Distance divided by time is too fast
O-->>U: Treat as higher risk and ask for stronger proof
Why location clues mislead
| Situation | What the clue says | What is really happening |
|---|---|---|
| Person uses a VPN that exits in another country | Sudden move to a foreign country | Honest person, changed exit point |
| Mobile carrier routes traffic through a distant hub | Person appears in a city they never visited | Honest person on a phone |
| Person lands on a flight and signs in on airport Wi-Fi | Possible fast jump between places | Genuine travel, though fast |
| Company routes all traffic through one headquarters proxy | Everyone seems to be at headquarters | Location hidden by corporate design |
| Attacker uses a home-internet address near the victim | Looks local and normal | Fraud hidden by a nearby proxy |
Fair handling of travelers
Business travel is normal, so a good design plans for it. Instead of blocking new countries outright, many companies use location as a reason to ask for a stronger factor and not as a reason to refuse access. If a traveler can complete a strong, phishing-resistant check, the trip proceeds with a small delay, while an attacker who has only a password is stopped. Blocking is reserved for places where you have no legitimate business at all.
Give frequent travelers and global teams a clear, documented path, such as a prior notice process or a group with slightly different rules, so that normal travel does not generate a wave of help desk tickets.
A shop’s card system sees a purchase in London and, fifteen minutes later, another in Sydney. It phones the cardholder. It does not blame the cardholder, but it knows that both purchases cannot be real. Impossible travel in sign-in works the same way.
9Behavior Detection: Learning What Normal Looks Like
The strongest clue is often not what a sign-in looks like in general, but how it compares with this particular person’s past. Okta calls this behavior detection.
Building a baseline
A baseline is a picture of what is normal for someone. As a person signs in over days and weeks, Okta records which devices they use, which addresses and places they appear from, and which patterns they follow. After a period of learning, deviations from this baseline can be noticed. The same sign-in that is perfectly ordinary for one person can be unusual for another, which is exactly what a fair risk judgment needs.
The behaviors Okta can look for
New device
A device the person has not used before. Very common when people get new laptops or phones, so it is a mild signal alone.
New IP address
An address not seen for this person before. Extremely common for people on the move, so it is a weak signal.
New location
A new city, state, or country for this person. Moderately interesting, especially when combined with other clues.
Velocity
Travel between sign-ins that is faster than is physically plausible. A strong clue.
How rules use behaviors
In Okta, behaviors are defined as named detections, and policy rules can use them as conditions: “if the behavior new device is detected, require a second factor”. You can often choose how sensitive the detection is, such as how long a device must be unseen before it counts as new. Combining several behaviors in one rule, such as “new device and new location”, makes the rule more precise because it demands two clues at once.
flowchart LR
H["History: devices, places, patterns"] --> BL["Baseline for this person"]
NEW["New sign-in"] --> CMP{"Compare with baseline"}
BL --> CMP
CMP -- "Matches" --> N["Normal: no extra signal"]
CMP -- "Differs a little" --> M["Mild signal"]
CMP -- "Differs a lot or in several ways" --> S["Strong signal"]
The new-person problem
A baseline needs history. A brand-new employee has none, so everything about their first sign-ins looks “new”. If your rule treats “new device” as risky, every new hire is challenged at first. That is not a bug, but you should expect it and design for it: new hires may need an enrollment step where they set up a strong factor in a trusted setting, such as the office or a supervised video call, so that their baseline starts from a trustworthy place.
A baseline can be poisoned. If an attacker gets in once, the attacker’s device and place may be learned as “normal” for that account, making later visits look familiar. This is why stronger factors and device checks matter more than behavior alone, and why a confirmed compromise should include resetting the history of trusted devices for that person.
A neighbor who has lived next door for years knows your habits: when you leave for work, who visits, what car you drive. If a stranger one day lets themselves into your house at midnight, the neighbor notices at once, without any written rule. Behavior detection is that neighbor.
10Device and Context Signals
Where a sign-in comes from matters, but so does what it comes on. The health and identity of the device are some of the most reliable clues available.
Known, managed, and healthy
A device can be described in three useful ways. It can be known, meaning it has been seen before or registered. It can be managed, meaning the company controls it through a device management system. And it can be healthy, meaning it meets requirements such as an up-to-date operating system, disk encryption, and a screen lock. A device that is known, managed, and healthy deserves more trust than an unknown one, and a rule can reflect that by asking for less from such devices.
Device assurance
Okta’s device assurance policies describe what a healthy device looks like, per operating system. Authentication policy rules can then require that a device meet that description. This turns a fuzzy question, “is this computer okay?”, into a clear rule: “only devices meeting this description may open the finance system”.
Device-bound proof
Some sign-in methods tie the proof to the device itself. Okta Verify supports a passwordless method, known as Okta FastPass, that relies on a secret key stored on the device. Because the secret never leaves the device and the proof is bound to the real website, such methods are difficult for an attacker to imitate from another machine, and they resist fake login pages. In risk terms, a successful device-bound sign-in is a strong, positive signal: it lowers the likelihood that the sign-in is fraudulent.
| Device state | Risk contribution | Typical response |
|---|---|---|
| Managed, healthy, registered, device-bound proof | Lowers risk | Smooth access, few prompts |
| Managed but out of date | Raises risk slightly | Allow low-risk apps, block sensitive apps until fixed |
| Personal but registered | Neutral to slightly higher | Allow with MFA for normal apps |
| Unknown device | Raises risk | Require stronger proof, limit sensitive apps, shorter session |
| Device reported as compromised by a security tool | Raises risk strongly | Deny and alert |
Context beyond the device
Other context also matters. Is the person using a browser or a native app? Are they signing in to a regular application or an administrator console? Are they using a company-approved path or a direct link? Each gives a hint. As always, context should be combined, never used alone.
Investing in device-bound sign-in is one of the best ways to make risk-based design work well. When most sign-ins carry a strong device signal, the unusual ones stand out sharply, and you can use gentler rules for the majority.
A hotel recognizes a guest more easily if they show a room key card issued by the hotel itself than if they merely say their room number. The key card is a proof tied to a physical object only the guest should hold. Device-bound sign-in is the key card.
11Outside Opinions: Threat Intelligence and Risk Providers
Your own signals are only part of the picture. Other tools in your company, and other companies, know things Okta does not. Bringing their opinions in makes the picture richer.
What threat intelligence is
Threat intelligence is knowledge about attackers: which addresses are attacking, which kinds of devices are infected, which tricks are currently popular. Security companies and large platforms collect it. Okta ThreatInsight is an example built into Okta, using its view across many customer organizations.
Risk providers and shared signals
Your company probably runs other security tools: an endpoint protection tool on laptops, a mobile device management system, a tool that watches network traffic, a platform that detects suspicious behavior in cloud accounts. Each may notice danger that Okta cannot see. Okta supports ways for such tools to send their risk judgments into Okta, through risk provider integrations and through standard approaches for sharing security signals between systems. Once received, those judgments can be used by policy, for instance “if the endpoint tool says this laptop is infected, deny sign-in”.
flowchart LR
EDR["Endpoint protection tool"] --> OK["Okta risk assessment"]
MDM["Device management system"] --> OK
NDR["Network monitoring tool"] --> OK
TI["Threat intelligence feeds"] --> OK
OK --> POL["Policy rules"]
POL --> ACT["Allow, step up, deny, end sessions"]
The other direction
The flow can also go outward. When Okta sees something alarming, such as a confirmed account takeover, other systems should hear about it quickly: logs can be streamed to a central monitoring platform, alerts raised, and in modern setups, signals sent so that connected applications can end sessions or reduce access. A risk design works best when information moves in both directions, instead of each tool keeping its knowledge to itself.
Device health alerts
Endpoint and device management tools report infections or non-compliance, which can raise risk for that device.
Cloud behavior alerts
Tools watching cloud accounts report unusual activity that suggests a stolen session.
Log streaming
Okta events flow to a central security platform where analysts can correlate them with other data.
Session revocation signals
Okta can notify connected apps to end a session when risk jumps, in setups that support it.
Every outside signal you trust is also a new dependency and a new attack surface. If a partner tool can raise or lower risk, then someone who compromises that tool may influence your decisions. Treat these integrations as privileged: protect their credentials, limit what they can change, and monitor them.
A neighborhood watch works because neighbors share what they see. One neighbor spots a suspicious van, another notices the same van later. Alone, each sighting means little. Shared, they become a warning. Risk providers are the neighbors telling Okta what they saw.
12Turning Risk into Policy: Rules by Level
A risk level means nothing until a rule acts on it. This chapter shows how to translate low, medium, and high risk into concrete decisions.
The shape of a risk-aware policy
A typical authentication policy for a sensitive application is a short list of rules, ordered from most specific and most dangerous to most general. The most dangerous situations come first, so they are caught before a broad “allow” rule can accept them. A common shape looks like this.
| Priority | Conditions | Action | Reason |
|---|---|---|---|
| 1 | Address in blocked zone, or high risk | Deny | Clear danger, stop immediately |
| 2 | Medium risk, or new device plus new location | Require phishing-resistant factor | Unusual, so demand the strongest proof |
| 3 | Unmanaged or unhealthy device | Require MFA, limit session length | Less trust in the machine |
| 4 | Managed, healthy device and low risk | Allow with standard proof, longer re-prompt interval | Reward trusted situations with smoothness |
| Last | Catch-all | Require MFA | Safe default for anything not described above |
The menu of actions
Allow
Let the person in with the normal checks. Use for familiar, healthy, low-risk sign-ins.
Step up
Ask for an additional or stronger factor before proceeding. The workhorse of risk-based design.
Limit the session
Allow access but require re-checking sooner, so a risky session cannot last all day.
Restrict the scope
Allow only less sensitive applications until the risk falls or the device is fixed.
Deny
Refuse the sign-in. Keep for clear danger, because a denial with no way forward hurts honest people.
Alert
Notify the person or the security team that something unusual happened, even when access was granted.
Always provide a way forward
A well-designed policy leaves an honest person a path to continue. If a traveler is stepped up, they should be able to complete a strong factor. If a device is unhealthy, the message should say how to fix it. If a denial happens, the person should be told whom to contact. A system that only says “no” creates anger and workarounds, while one that explains and offers a route builds cooperation.
Put your catch-all rule to work for you. Make it the safe default, such as “require MFA”, so that any situation you did not predict gets a reasonable, protective response instead of an open door.
flowchart TD
A["Sign-in to sensitive app"] --> R1{"Blocked zone or high risk?"}
R1 -- "Yes" --> D["Deny and log"]
R1 -- "No" --> R2{"Medium risk or several new signals?"}
R2 -- "Yes" --> S["Require phishing-resistant factor"]
R2 -- "No" --> R3{"Managed, healthy device?"}
R3 -- "No" --> M["Require MFA, short session"]
R3 -- "Yes" --> OK["Allow with standard proof"]
A hospital emergency room sorts patients into levels. The most serious cases go first, moderate cases wait for a doctor, and minor cases are handled quickly. Nobody is ignored, but effort follows urgency. A risk-aware policy sorts sign-ins the same way.
13Step-Up Authentication: Raising the Bar
Step-up is the most common response to medium risk. It means asking for more proof, but only when the situation justifies it.
What step-up means
A person who has already signed in with a password and a basic second factor may be asked to prove themselves again, or in a stronger way, when they try something riskier or when their situation looks unusual. This extra proof is called step-up authentication. The name captures the idea: the person steps up to a higher level of assurance before being allowed further.
Not all factors are equal
A factor is a kind of proof. Factors differ in how hard they are for an attacker to steal, trick, or imitate. Understanding the ladder helps you choose the right step.
| Factor | Strength | Main weakness |
|---|---|---|
| Password only | Weakest | Easily stolen, guessed, reused, or phished |
| Text message or voice code | Low to medium | Can be intercepted, redirected by SIM swapping, or phished |
| One-time code from an app | Medium | Can be typed into a fake website and replayed |
| Push approval on a phone | Medium | Can be abused by repeated prompts until someone taps approve |
| Push with number matching | Medium to high | Harder to tap blindly, but still a human decision under pressure |
| Device-bound, phishing-resistant method (such as FastPass or a security key) | Highest | Needs compatible devices and a rollout plan |
Matching the step to the risk
The logic is simple: the higher the risk, the higher up the ladder you ask the person to climb. For mild unusualness, a push approval with number matching may be enough. For stronger unusualness, or for very sensitive applications, require a phishing-resistant method. This keeps everyday life light and puts the heavy proof where it counts.
flowchart TD
R["Risk level and app sensitivity"] --> Q{"How high?"}
Q -- "Low" --> A["Existing session or simple second factor"]
Q -- "Medium" --> B["Push with number matching or code"]
Q -- "High" --> C["Phishing-resistant factor"]
Q -- "Critical" --> D["Deny, or strongest factor plus approval"]
Re-authentication timing
Step-up also involves when to ask. Rules can require fresh proof after a set period, for example every few hours for a sensitive application, or every sign-in for the most critical one. Short intervals protect against stolen sessions but add friction. Pick the interval to match the sensitivity of the application, not a single number for everything.
Be careful with push prompts. Attackers who hold a stolen password sometimes trigger many prompts in a row hoping an annoyed person will approve one just to make it stop. Prefer number matching, limit the number of attempts, alert when many prompts go to one person, and train staff never to approve a prompt they did not start.
Entering a building you might show a visitor sticker. Entering the server room, you also scan your fingerprint. Entering the vault, you need two managers together. Each step asks for stronger proof as the place gets more sensitive, and no one complains because the reason is obvious.
14Application Sensitivity: The Impact Side of Risk
The same risk level should lead to different actions in different applications. Sorting your applications by how much damage they could cause is the other half of a good design.
Tier your applications
Not all applications are equally important. A company canteen menu, an expense tool, a customer database, and a production cloud console are very different. Group applications into tiers by the damage a misuse could cause, and attach a matching authentication policy to each tier. A small number of tiers, perhaps three or four, is easier to manage than a custom policy for every application.
Low sensitivity
Public or low-value tools, such as a canteen menu or a company news page. Light checks are fine.
Moderate sensitivity
Everyday business tools such as chat, calendar, and documents. Standard MFA with step-up for unusual sign-ins.
High sensitivity
Systems with personal, financial, or customer data. Managed or healthy devices preferred, stronger factors on any unusual signal.
Critical
Administrator consoles, production infrastructure, and payment systems. Phishing-resistant factors and strict device rules always.
The matrix: risk level against application tier
| App tier | Low risk | Medium risk | High risk |
|---|---|---|---|
| Tier 1: low | Allow | Allow with MFA | MFA required, alert |
| Tier 2: moderate | Allow with MFA | Step-up with number matching | Phishing-resistant factor or deny |
| Tier 3: high | MFA on healthy device | Phishing-resistant factor | Deny and alert |
| Tier 4: critical | Phishing-resistant factor, managed device | Deny, or strongest factor plus approval | Deny, alert, investigate |
Why a matrix beats a one-size rule
Without a matrix, teams tend to drift to one of two bad extremes: a single strict rule that frustrates everyone, or a single loose rule that under-protects the crown jewels. The matrix gives each cell a deliberate answer, makes discussions concrete, and gives reviewers something to check. It also reveals gaps, for example an application that has no tier at all.
Ask the application owner, not only the security team, to help choose the tier. Owners know what is really stored in the application and how bad a breach would be. A joint decision is more accurate and easier to defend later.
Example: a hospital network
A hospital group, in the style of a large system such as the Mayo Clinic, places its appointment-reminder tool in tier two and its electronic patient record in tier four. The same medium-risk sign-in from a travelling doctor is stepped up to a push with number matching for the reminder tool, but to a hardware key for the patient record. The data’s sensitivity, not the doctor’s identity, sets the bar.
A school has an unlocked library, a locked staff room, and a safe for exam papers. The rules differ because the stakes differ, not because anyone distrusts a particular person.
15Continuous Risk: Watching After the Door Opens
Passing the front door check is not the end of the story. Sessions last for hours, and the situation can change while they run.
Why a one-time check is not enough
Consider what can happen after a successful sign-in. An attacker may steal the session, for example through malicious software or a fake page that relays the person’s login in real time. The person’s laptop may become infected. Their device may stop meeting health requirements. A partner tool may flag the account. If risk is only judged at the moment of sign-in, all of these go unnoticed until the session ends.
Reassessing during the session
Continuous risk evaluation means that risk is assessed again while the session continues, using new signals as they arrive. Okta’s newer identity threat protection capabilities aim to do this: they watch for changes in risk during active sessions and can respond, for example by asking for a fresh check, by ending the session, or by telling connected applications to do so. A related capability, Universal Logout, lets Okta ask supported applications to end a person’s sessions across the board when danger appears. Availability depends on your license and on whether each application supports the necessary integration.
sequenceDiagram
participant P as Person
participant O as Okta
participant A as Connected app
participant S as Security tool
P->>O: Sign in, risk judged low
O-->>P: Session starts
P->>A: Works in app
S->>O: Alert: device now suspected infected
O->>O: Raise risk for this session
O->>A: Ask app to end sessions for this person
A-->>P: Session ended, sign in again
Session length and token lifetimes
Even without advanced tools, simple settings reduce exposure. Shorter session lifetimes limit how long a stolen session is useful. Shorter lifetimes for access tokens, the small digital passes applications use, limit the damage from a stolen token. Re-authentication requirements for sensitive actions, such as changing payment details, add another check at the exact moment when it matters most. These measures cost some convenience, so apply them in proportion to the sensitivity of the application.
Session lifetime
How long a session may last, and how long it may sit idle, before the person must sign in again.
Token lifetime
How long the passes given to applications remain valid before being renewed and rechecked.
Re-authentication for actions
Asking for fresh proof before especially sensitive actions, regardless of the existing session.
Session revocation
The ability to end sessions quickly across applications when risk spikes.
Ending sessions across applications is powerful and disruptive. A false alarm can interrupt many people in the middle of work. Start by applying automatic session ending to clear, high-confidence signals, and use softer responses, such as an extra check, for weaker ones.
A museum guard checks your ticket at the entrance but also walks the galleries all day. If someone starts behaving strangely inside, the guard steps in without waiting for them to leave and re-enter. Continuous risk is the guard walking the galleries.
16Higher Standards for Administrators and Privileged Users
Some accounts are worth far more to an attacker than others. Risk policy should reflect that and ask more of them.
Why administrators are special
An administrator account can change settings, create accounts, and reach sensitive data. Taking one over gives an attacker leverage over the whole organization. Attackers know this and target administrators with the most persuasive tricks. Risk policy should therefore treat an administrator’s sign-in more strictly than an ordinary user’s, at every risk level.
A stricter profile
- Always phishing-resistant. Require a device-bound or hardware method for administrator access, not just at medium risk but always.
- Managed devices only. Admin consoles should open only from managed, healthy devices, ideally dedicated machines.
- Tighter locations. Limit administrator sign-ins to known networks or require stronger checks from anywhere else.
- Shorter sessions. Require fresh authentication for administrator work more often.
- Immediate alerts. Notify the security team whenever an administrator signs in from an unusual place or device.
- Separate identities. Use a separate admin account distinct from the everyday account, so that email-based tricks do not reach admin power.
Do not lock yourself out
Strict administrator rules carry a danger of their own: you might block the very people who can fix problems. Keep a tested emergency path, a break-glass account, with strong protection, clear ownership, and alerts on every use. Test it regularly, and make sure at least two trusted people can use it. Plan this before tightening anything.
| Control | Ordinary user | Administrator |
|---|---|---|
| Factor strength | MFA, stronger on risk | Phishing-resistant always |
| Device requirement | Healthy preferred | Managed and healthy required |
| Session length | Hours | Shorter, with re-check for sensitive tasks |
| Reaction to medium risk | Step-up | Deny or strongest factor plus review |
| Alerting | On clear threats | On any unusual sign-in |
Apply the administrator profile through a dedicated group so it is easy to see who is covered and easy to audit. Review membership regularly so former administrators do not keep elevated treatment, and new ones are not forgotten.
The people who carry the keys to the bank vault go through extra background checks, extra training, and extra supervision, not because they are distrusted, but because the cost of a mistake or a theft involving their keys is enormous.
17Calibration and Tuning
No risk design is right on the first day. Calibration is the patient work of adjusting it until it fits your people, your places, and your attackers.
What you are tuning
You cannot reweight Okta’s internal assessment point by point, but you control a great deal around it: which behaviors are enabled and how sensitive they are, which zones exist and what they contain, which conditions you combine in each rule, which actions follow each level, and how long sessions last. Calibration means adjusting those controls based on evidence.
The evidence to collect
Step-up rate
What share of sign-ins are being challenged? A sudden rise may mean a rule got too sensitive.
Challenge success rate
How many challenged people pass? A very high pass rate suggests many were honest, so the rule may be too eager.
Denial rate and tickets
How often are sign-ins refused, and how many people call for help? Rising tickets signal friction.
Confirmed attacks
How many real account takeovers were found, and what clues did they show? These teach you what to catch.
A tuning loop
Measure the baseline
Record the current step-up rate, denial rate, ticket volume, and known incidents before changing anything.
Change one thing
Adjust a single setting, such as the sensitivity of one behavior, so the effect can be traced to a cause.
Watch for a full cycle
Observe long enough to see normal weekly patterns, including quiet days and busy ones.
Compare and decide
Look at both kinds of mistakes: did false alarms fall without misses rising? Keep, adjust, or revert.
Record the reason
Write down what you changed and why, so the next person understands the history.
Beware of tuning to quiet
A natural temptation is to loosen a rule whenever people complain. Complaints are real and valuable, but a perfectly quiet system might simply be one that checks nothing. Balance the loud signal of complaints with the quiet signal of missed attacks. Where possible, review samples of both challenged and unchallenged sign-ins, and look for attacks that passed without notice.
Attackers adapt. A rule that catches today’s pattern may be bypassed next quarter when attackers switch to residential proxies or stolen devices. Treat tuning as ongoing, and review the design against current attack trends on a regular schedule.
Tuning a guitar is not done once. Strings stretch and weather changes, so the player keeps adjusting by ear. A risk policy is the same: you keep listening to the results and nudging it back into tune.
18Testing Risk Policies Safely
A risk rule that goes wrong can lock out honest people or leave doors open. Test before you trust.
Learn first, enforce later
The gentlest way to start is to observe before enforcing. Several Okta features can run in a mode that only logs what they would have done. ThreatInsight can be set to log without acting. Policies can be created in an inactive state, or applied to a small test group. Review the logs for a week or two and ask: how many sign-ins would this have affected, and were they honest or hostile? Only then turn on enforcement.
Test with personas
Create pretend users who represent real situations: a regular office worker, a remote worker, a frequent traveler, a new hire with no history, a contractor, an administrator, and a person with a lost factor. Predict, in writing, what should happen to each under the new rule, then try each and compare. Surprises are findings. Include negative cases that should be refused, and boundary cases such as a person in two groups.
| Test persona | Situation | Expected result |
|---|---|---|
| Office worker | Managed laptop, office network, normal hours | Allowed with standard proof |
| Remote worker | Managed laptop, home network | Allowed with standard proof |
| Traveler | Managed laptop, new country | Stepped up to stronger factor |
| New hire | New device, no history | Guided enrollment, not a dead end |
| Attacker simulation | Unknown device, anonymizer, many failures | Denied and alerted |
| Administrator | Unmanaged device | Denied for admin console |
| Lost factor | No usable second factor | Recovery path works with identity checks |
Use a test org and staged rollout
Where your agreement allows, rehearse in a separate preview or test org first, so mistakes affect nobody real. Then release to production in rings: your own security team, a group of volunteers, one department, one region, and finally everyone, with a health check and a rollback plan at each step. Use the policy simulation tool in the Admin Console, where available in your org, to see which rule would match a described situation without needing a real sign-in.
flowchart LR
O["Observe in log-only mode"] --> P["Persona tests in test org"]
P --> R1["Ring 1: security team"]
R1 --> R2["Ring 2: volunteers"]
R2 --> R3["Ring 3: one department"]
R3 --> R4["Ring 4: everyone"]
R4 --> M["Monitor and tune"]
Before testing any rule that could block administrators, confirm your break-glass account works and keep a second administrator session open in another window. A rule that locks out everyone who can fix it turns a small mistake into an outage.
Fire engineers do not test a new sprinkler system by setting the real building alight. They run a drill in a controlled space, watch what happens, adjust, and only then rely on it. Testing a risk rule is the drill before the fire.
19Attack Patterns That Risk Scoring Helps Catch
To design good rules, it helps to know the tricks they must stop. Each attack leaves its own trail of clues.
Credential stuffing
When a website’s passwords leak, attackers try the stolen pairs of usernames and passwords on many other services, betting that people reuse passwords. This is credential stuffing. It is automated and fast. The clues: many attempts from a small set of addresses, many different usernames, a high failure rate, and addresses that appear in threat intelligence. ThreatInsight and rate limiting are aimed squarely at this pattern.
Password spraying
In password spraying, the attacker tries one or two very common passwords against a huge number of accounts, deliberately going slowly so no single account is locked. The clues are spread out: a few failures per account, but across the whole company, often from related addresses. Detecting it needs a view across accounts, not just per-account lockout rules.
MFA fatigue
With a stolen password in hand, the attacker triggers push prompt after push prompt, hoping the real person will approve one out of annoyance or confusion. The clues: many prompts to one person in a short time, prompts at odd hours, and approvals followed by a sign-in from an unfamiliar place. Number matching, rate limits, and alerts on bursts of prompts reduce this risk.
Phishing and adversary-in-the-middle
A fake login page copies the real one. In the simple version it steals the password. In the more advanced adversary-in-the-middle version, the fake page also relays the person’s one-time code to the real site in real time and steals the resulting session. The clues are subtle: a sign-in from an address unlike the person’s, a new device, or a session that suddenly appears elsewhere. The best defense is not a score but a method that cannot be relayed: phishing-resistant factors tied to the true website address.
Session theft
Malware or a malicious browser extension can copy a valid session and use it from another machine. The clues: the same session suddenly appearing from a different place or device, or a sudden jump in risk signals during a session. Continuous risk evaluation and short sessions address this.
| Attack | Signals that reveal it | Best response |
|---|---|---|
| Credential stuffing | Many usernames from few addresses, many failures, known bad addresses | Block bad addresses, rate-limit, enforce MFA |
| Password spraying | Few failures per account across many accounts, related addresses | Cross-account detection, common-password blocking, MFA |
| MFA fatigue | Burst of prompts to one person, odd hours | Number matching, prompt limits, alerts, user training |
| Adversary-in-the-middle phishing | New device or place right after a successful sign-in | Phishing-resistant factors, device-bound sign-in |
| Session theft | Same session appears from two places, sudden risk change | Continuous evaluation, short sessions, session revocation |
| Insider misuse | Unusual apps, volumes, or hours for that person | Behavior alerts, access reviews, least privilege |
Notice that the strongest defenses against the cleverest attacks are not scores at all but stronger methods that attackers cannot relay or replay. Use risk scoring to decide when to demand them, and invest in making them available to everyone.
A shopkeeper learns the common tricks: the distracting customer, the counterfeit note, the fake delivery driver. Knowing each trick tells the shopkeeper exactly what to watch for. Knowing the attack patterns tells you which clues deserve a rule.
20Limits, Evasion, and Honest Expectations
Risk scoring is valuable, and it is not magic. Understanding how it can be fooled keeps you from relying on it too much.
How attackers try to look normal
- Residential proxies. Attackers rent home-internet addresses in the victim’s own city, so the location and network look ordinary.
- Stolen devices and sessions. If the attacker has the victim’s actual device or session, many device and behavior signals look perfect.
- Slow and low. Spreading attempts across time and addresses keeps each one below the threshold.
- Mimicking habits. Patient attackers watch a victim and sign in during normal hours from a familiar place.
- Poisoning the baseline. One successful intrusion can teach the system that the attacker’s device is normal.
- Targeting the human. Phone calls to the help desk, pretending to be a locked-out employee, bypass the technical signals completely.
What to do about the limits
Layer defenses
Never depend on a single signal or a single control. Combine network, device, behavior, strong factors, and monitoring.
Prefer unforgeable proof
Use device-bound, phishing-resistant methods for sensitive access, since they do not depend on guessing from context.
Protect recovery paths
Apply strict identity checks to password and factor resets, since attackers aim at the easiest door.
Plan for compromise
Assume some attacks succeed. Limit damage with least privilege, short sessions, and fast revocation.
flowchart TD
ATT["Attacker"] --> L1["Layer 1: network and threat intelligence"]
L1 --> L2["Layer 2: device and behavior signals"]
L2 --> L3["Layer 3: strong, unrelayable factor"]
L3 --> L4["Layer 4: continuous risk and short sessions"]
L4 --> L5["Layer 5: monitoring and response"]
An honest summary of what scoring can claim
Risk scoring can make most attacks harder and noisier. It can reduce the number of unnecessary prompts. It can focus your attention. It cannot guarantee that no attacker gets through, and it should never be presented to leaders as a complete answer. Setting honest expectations early protects both the program and the people running it.
Be wary of the false comfort of a high-sounding feature. “We have risk-based authentication” is not the same as “our risks are covered”. Ask regularly what the design would miss, and test it with realistic exercises, such as simulated phishing and red-team attempts.
A good lock stops most burglars, but a determined thief with the right tool can still open it. That is why homes also have alarms, lights, and neighbors. Risk scoring is one very useful lock among several protections.
21User Experience: Friction as a Budget
Every prompt costs a little patience. A thoughtful design spends that patience carefully, where it buys the most protection.
The friction budget
Think of each person as having a limited friction budget, an amount of interruption they will tolerate before they start looking for ways around the system. Spend it on risky moments, and people accept it. Spend it on routine moments, and they stop paying attention, tap approve automatically, or complain loudly. Risk-based authentication is, in essence, a tool for spending the friction budget wisely.
Make the prompts understandable
- Explain why. A short line such as “We noticed a new device, so we need an extra check” turns confusion into understanding.
- Offer a clear next step. Show exactly what to do, and which options are allowed.
- Avoid dead ends. A person with a lost phone needs a recovery route, not a loop.
- Keep messages calm. Alarming language makes people panic or ignore it.
- Teach the reflex. Tell staff that if they get a prompt they did not start, they should deny it and report it.
| Moment | Poor experience | Better experience |
|---|---|---|
| New device | Blocked with no explanation | Short message and guided extra step |
| Traveling | Locked out in another country | Stronger factor offered, with travel guidance |
| Lost phone | Endless prompts to a missing device | Visible recovery option with identity checks |
| Frequent re-prompts | Same check every hour for low-risk apps | Longer sessions for trusted, healthy devices |
| Suspicious prompt | Person approves to make it stop | Number matching and clear “this was not me” option |
Accessibility and inclusion
Not everyone can use every method. Some people cannot use a phone app, have no mobile signal at work, wear gloves in a factory, use assistive technology, or share a computer. A fair design provides several strong methods, and does not assume one kind of device or ability. Test prompts with a wide variety of users, not only the technical team.
Measure the human side. Track support tickets about sign-in prompts, time-to-complete for challenged sign-ins, and a simple periodic question to staff such as “how easy was it to sign in this month?”. A design that looks good on paper but irritates staff will be quietly undermined.
A good doorman greets familiar residents with a nod and asks strangers politely who they are visiting. Everyone understands why the questions are asked. Prompts that explain themselves feel like the doorman, not like a locked gate with no sign.
22Privacy, Fairness, and Legal Considerations
Risk scoring looks at people’s behavior and locations. That deserves care, honesty, and respect for rules and for the people affected.
Data minimization
Risk systems collect information such as approximate location, device details, and sign-in history. Privacy laws in many regions, for example the European Union’s General Data Protection Regulation, expect organizations to collect only what they need, keep it only as long as needed, protect it, and be open about its use. Review which signals you actually rely on, avoid collecting extra detail “just in case”, and set sensible retention limits for logs.
Transparency
Employees and, where relevant, customers should know that sign-ins are assessed for risk, what kinds of information are used, and why. Many organizations describe this in an acceptable-use policy or privacy notice. Transparency builds trust and makes people more cooperative when they are challenged.
Fairness and unintended bias
Signals can affect groups of people unequally without anyone intending it. For example, a rule that distrusts sign-ins from certain countries will burden staff who travel there or who come from there. A rule that distrusts unknown devices may burden contractors or lower-paid staff who use personal equipment. Rules that rely on mobile phone prompts may disadvantage people without suitable phones. Watch for patterns in who gets challenged or blocked, and ask whether the cause is real risk or an accident of design.
Who is challenged most?
Look for groups that see far more prompts than others and ask why.
Is there an alternative?
Make sure everyone has at least one acceptable strong method available.
Can people appeal?
Provide a clear, humane route to resolve a wrongful block quickly.
Is data protected?
Restrict who can view sign-in details, since they reveal habits and movements.
Legal requirements differ between countries and industries, and employee-monitoring rules can be strict in some places. This guide is general education and not legal advice. Involve your privacy officer or legal counsel when designing location or behavior rules.
A neighborhood camera can deter burglars, but it also records the comings and goings of every neighbor. Responsible owners say that the camera exists, point it at their own property, keep footage only briefly, and restrict who can watch it. Risk scoring needs the same respect.
23Monitoring, Logging, and Metrics
A risk design that nobody watches decays. Monitoring is how you notice drift, attacks, and annoyance before they become crises.
The System Log as your evidence
Okta’s System Log records sign-ins, policy decisions, factor prompts, failures, and administrator changes, along with context about the attempt. It is the source for almost everything in this chapter. Because retention is limited and depends on your plan, stream logs to a central monitoring platform if you need long-term history, correlation with other tools, or alerting.
Key measures
flowchart LR
SL["Okta System Log"] --> ST["Stream to monitoring platform"]
ST --> DB["Dashboards: challenge rate, pass rate, denials"]
ST --> AL["Alerts: bursts of failures, prompt floods, admin anomalies"]
ST --> IN["Investigation and reports"]
DB --> TU["Tuning decisions"]
AL --> RE["Response actions"]
Alerts worth having
- A sharp rise in failed sign-ins for one application or from one address range.
- A burst of push prompts to one person, or many prompts across the company.
- An administrator signing in from an unusual place or device.
- A successful sign-in immediately after many failures for the same account.
- A change to risk-related policy, zones, or behavior settings by anyone.
- Use of an emergency account.
- A jump in help desk tickets mentioning sign-in prompts.
Review rhythms
Set a rhythm. Look at dashboards weekly. Review a sample of challenged and unchallenged sign-ins monthly. Run a full policy review each quarter, comparing the design with current attack trends and business changes such as new offices, mergers, or new applications. Record decisions in a short log so that the reasons survive staff changes.
Include the help desk in your monitoring. They notice patterns that dashboards miss, such as one office suddenly having trouble because its internet provider changed addresses. A short weekly chat with the help desk lead is cheap and valuable.
A doctor checks a patient’s blood pressure and temperature at every visit, and compares them with earlier visits. A single reading says little; the trend tells the story. Metrics over time are the vital signs of your risk policy.
24Reliability: When the Signals Fail
Risk decisions depend on information arriving on time. Plan for the days when it does not.
What can go wrong with signals
Signals come from many places: Okta’s own detection, device management tools, partner security products, and your network configuration. Any of them can become unavailable, slow, or wrong. A device management tool might be offline, so Okta cannot tell whether a device is managed. A partner risk feed might stop sending updates. An address list might be out of date. Each failure forces a choice, because the system must still decide what to do.
Fail open or fail closed?
When a signal is missing, the design must decide between two behaviors. Failing closed means treating missing information as risky and asking for more proof or denying access. This is safer, but can cause outages and frustration. Failing open means treating missing information as neutral and continuing. This keeps people working, but may let attackers through while a signal is down. The right choice depends on the application: be stricter for critical systems and more forgiving for low-value ones.
| Application tier | If a signal is missing | Reason |
|---|---|---|
| Tier 1: low | Fail open | Little to lose, avoid needless outages |
| Tier 2: moderate | Step up to standard MFA | Balanced protection |
| Tier 3: high | Require stronger factor | Do not rely on missing information |
| Tier 4: critical | Fail closed with emergency path | Safety matters more than convenience |
Keep the lifeline
Strict failure behavior only works if you keep a safe emergency path. Maintain tested break-glass accounts, document how to reach them, and rehearse their use. Know where to check Okta’s service status. Prepare user messages in advance so that people hear a clear explanation, rather than rumors, when something is wrong.
flowchart TD
S["Signal source unavailable"] --> T{"App tier?"}
T -- "Low" --> O["Fail open, log the gap"]
T -- "Moderate" --> M["Require standard MFA"]
T -- "High or critical" --> C["Require strongest factor or deny"]
O --> A["Alert operations team"]
M --> A
C --> A
Do not let temporary exceptions made during an outage become permanent. After any incident, review each exception that was made, and remove the ones no longer needed. Emergency shortcuts left in place quietly become the weakest part of the design.
When the power goes out, a hospital’s operating theater switches to a backup generator, while a corridor light may simply stay dark. Each area has a planned behavior for failure, based on how critical it is. Sign-in design needs the same planned behavior.
25Failure Scenarios and Recovery
Walking through failures on paper is cheaper than meeting them live. These are the scenarios risk-based designs meet most often.
Scenario 1: a wave of honest people is challenged
After a change, many staff are suddenly asked for extra proof. Causes include a rule that became too sensitive, an office whose internet addresses changed so everyone looks “new”, or a zone that was edited wrongly. Check the System Log for the common factor among the challenged sign-ins, look at recent changes to rules and zones, and correct the cause. Tell staff what happened in plain words.
Scenario 2: an attack passes quietly
An account is taken over and nothing was challenged. Review the sign-in record to find which signals looked normal. The attacker may have used a nearby proxy, a stolen session, or a baseline that learned the attacker’s device. Contain first: end sessions, reset credentials and factors, remove the attacker’s device from the trusted list. Then improve the design, for example by requiring a phishing-resistant method for the affected application tier.
Scenario 3: a device management feed stops
Okta can no longer confirm that devices are managed. Depending on your failure choices, people may be stepped up or blocked. Restore the feed, and meanwhile decide whether to temporarily relax rules for low tiers while keeping strict rules for critical ones. Document each exception and remove it afterward.
Scenario 4: ThreatInsight or a zone blocks a legitimate partner
A partner’s staff are suddenly refused. Their shared address was flagged or sits in a blocked range. Confirm with the log, add the partner address to a trusted zone with care, and verify that this does not weaken protections more widely. Agree with the partner on a stable list of addresses for the future.
Scenario 5: prompt flood against one person
An attacker with a stolen password triggers repeated push prompts to an employee. Contact the person, confirm they did not approve anything, reset the password and review sign-ins, and tighten prompt limits and number matching. Use the event to remind all staff to deny unexpected prompts and report them.
| What you see | Likely cause | First steps |
|---|---|---|
| Sudden spike in step-up prompts | Rule too sensitive, address change, zone edit | Compare with recent changes; look for common network or device among affected |
| Honest traveler blocked repeatedly | Location rule denies instead of stepping up | Change action to a strong factor, add a travel path |
| Attack found with no alert | Signals looked normal; baseline poisoned; stolen session | Contain, revoke sessions, reset trusted devices, review rule coverage |
| New hires always challenged | No baseline yet | Create an enrollment process; consider a gentler rule for the first days |
| Partner staff refused | Shared address flagged or blocked | Review the log; adjust zones with care |
| Administrators locked out | Policy too strict or factor not enrolled | Use break-glass account; fix the rule; enroll factors first next time |
flowchart TD
I["Incident noticed"] --> Q1{"Honest users affected?"}
Q1 -- "Yes" --> F1["Find the common factor, check recent changes, correct rule or zone"]
Q1 -- "No" --> Q2{"Attack suspected?"}
Q2 -- "Yes" --> F2["Contain: end sessions, reset credentials and trusted devices"]
Q2 -- "No" --> F3["Check signal sources and service status"]
F1 --> V["Verify with test personas and record lessons"]
F2 --> V
F3 --> V
Run a game day once a year. Simulate a prompt flood or a stolen session in a safe window and time how long the team takes to notice and respond. The lessons from a rehearsal cost far less than those from a surprise.
Ships run lifeboat drills even though they hope never to need them. When the alarm is real, everyone already knows where to stand and what to do.
26Design Patterns for Risk-Based Authentication
Patterns are proven shapes for common problems. These ones appear again and again in well-run organizations.
Risk ladder
Each rising risk level maps to a stronger factor or tighter limit, giving a predictable ladder everyone understands.
Tiered applications
Applications are grouped by sensitivity, and each tier has its own policy, so the same risk produces different responses.
Trust the device, reward the user
Managed, healthy, device-bound sign-ins get fewer prompts and longer sessions, making the secure path the easy path.
Observe, then enforce
New detections run in log-only mode first, and are enforced only after evidence shows they behave well.
Strong default catch-all
The final rule requires MFA, so any unforeseen situation lands on a protective response.
Admin overlay
A stricter profile is applied to administrators through a dedicated group, regardless of other conditions.
Signals in, actions out
Outside tools feed signals into Okta, and Okta shares risk events and session revocations back out.
Feedback loop
Dashboards, help desk input, and incident reviews feed regular tuning with documented reasons.
The ladder in practice
The risk ladder pattern is the one most teams start with, so it is worth seeing in full. It defines, ahead of time, what each rung means. This pre-decision makes behavior predictable, simplifies explanations to staff, and gives auditors a clear statement of the control.
Rung 0: trusted and routine
Managed, healthy device, familiar network, device-bound sign-in. Allow with minimal friction and a longer session.
Rung 1: slightly unusual
One mild signal, such as a new address. Require a standard second factor with number matching.
Rung 2: clearly unusual
Several signals, such as a new device and a new country. Require a phishing-resistant factor and shorten the session.
Rung 3: dangerous
Known bad address, impossible travel, or an outside alert. Deny, alert the security team, and review the account.
flowchart LR
R0["Rung 0: trusted"] --> A0["Minimal friction"]
R1["Rung 1: slightly unusual"] --> A1["Second factor with number matching"]
R2["Rung 2: clearly unusual"] --> A2["Phishing-resistant factor, short session"]
R3["Rung 3: dangerous"] --> A3["Deny, alert, review"]
A weather warning system has colors: green for calm, yellow for caution, orange for danger, red for emergency. Everyone knows in advance what each color means and what to do. A risk ladder gives sign-ins the same shared language.
27Anti-Patterns to Avoid
These are common, tempting mistakes. Spotting them early saves months of trouble.
What it looks like
Blocking every sign-in from a new country or from any anonymizing service.
Why it hurts
Honest travelers and privacy-conscious staff are refused, while attackers simply use a proxy in an allowed country. You punish the innocent and barely slow the guilty.
Do this instead
Use such signals to step up to a strong factor, and reserve blocking for places you have no business with at all.
What it looks like
Relying on one weak signal, such as location or browser name, as the whole judgment.
Why it hurts
Weak signals are easily faked or often wrong, leading to many false alarms and easy bypasses.
Do this instead
Combine several signals and weigh stronger ones, like device-bound proof, more heavily.
What it looks like
Switching on strict enforcement in production without observing first.
Why it hurts
You learn the false-alarm rate only when staff are already locked out and the help desk is overwhelmed.
Do this instead
Observe in log-only mode, test with personas, then roll out in rings.
What it looks like
Asking for the same heavy check for every application and every sign-in, “to be safe”.
Why it hurts
Constant prompts teach people to approve without thinking, which is exactly what attackers want, and they erode goodwill toward security.
Do this instead
Spend friction where risk and sensitivity are high, and make trusted situations smooth.
What it looks like
Treating the risk level as a verdict and never reviewing outcomes.
Why it hurts
Attackers adapt and businesses change. An unreviewed design slowly drifts into being wrong in both directions.
Do this instead
Name an owner, schedule regular reviews, and keep a record of changes and reasons.
What it looks like
Strengthening sign-in while leaving password and factor recovery weak.
Why it hurts
Attackers go around the strong door and use the help desk or a weak recovery flow.
Do this instead
Apply strict identity checks and risk-aware rules to recovery paths too.
A seventh, quieter anti-pattern is hiding risk logic in many scattered rules that nobody can explain. If a new colleague cannot describe in a few sentences how your policy decides, the design has become too tangled to maintain or audit. Simplify before you add more.
28Advantages, Disadvantages, and Trade-offs
Risk-based design is powerful, but it is not free. Seeing both sides lets you adopt it with open eyes.
Advantages
- Fewer prompts for trusted situations, so a smoother day
- Stronger checks exactly where danger appears
- Better use of the friction budget and less prompt fatigue
- Faster detection of takeovers through unusual patterns
- Flexible policy that adapts to application sensitivity
- Rich logs that support investigation and audits
Disadvantages
- More complex than a single flat rule, so harder to explain
- False alarms and misses are unavoidable and need tuning
- Depends on signal quality and on tools that can fail
- Collects behavioral data, raising privacy and fairness duties
- Can be evaded by determined attackers using realistic cover
- Needs ongoing ownership and review
Key trade-offs in detail
| Decision | Leans toward convenience | Leans toward security | How to choose |
|---|---|---|---|
| Threshold for “high risk” | Higher, fewer alarms | Lower, more alarms | Set by app tier; stricter for critical systems |
| Response to unusual location | Allow with alert | Block | Step up to a strong factor in most cases |
| Session length | Long | Short | Long for healthy trusted devices, short for others |
| New-device handling | Ignore | Always challenge | Challenge, but with a guided, clear experience |
| Failure of a signal | Fail open | Fail closed | Open for low tiers, closed for critical tiers |
| Data collected | Minimal | Extensive | Collect only what you use and can justify |
29Best Practices and Common Mistakes
If you remember only a few habits from this guide, make them these.
Best practices
Tier your applications
Decide sensitivity first, so the same risk leads to different, deliberate responses.
Invest in strong factors
Roll out device-bound, phishing-resistant sign-in widely so risk decisions rest on firm ground.
Combine signals
Never act on one weak clue. Pair clues for precision.
Observe before enforcing
Use log-only modes, personas, and rings before turning on strict rules.
Give every block a way forward
Explain the reason and offer a route to continue.
Protect admins and recovery
Apply stricter profiles to administrators and strong checks to resets.
Plan failure behavior
Decide in advance what happens when signals are missing, and keep tested emergency access.
Review and record
Own the policy, review it regularly, and write down changes and reasons.
Common mistakes
- Assuming a score is a fact. It is an estimate that can be wrong either way.
- Forgetting new hires and travelers. They have little history or unusual locations, and will be challenged first.
- Ignoring service accounts. Rules built for people can break automation silently.
- Editing shared zones carelessly. One edit can change many rules at once.
- Skipping the help desk. They see problems before dashboards do.
- Neglecting privacy. Collecting and keeping more behavior data than needed creates duties and risks.
- Declaring victory. A quiet period does not prove the design is perfect.
Keep a one-page “risk policy statement” in plain language: which signals you use, what each risk level triggers, who owns the policy, and when it was last reviewed. It helps staff, auditors, and your future self.
30A Worked Example: Northwind Pay
Let us design a risk-based policy for a made-up payments company, Northwind Pay, with five thousand employees. All names and numbers are invented for teaching.
Starting point
Northwind staff sign in with a password and a phone prompt. Two accounts were recently taken over after staff approved unexpected prompts. Auditors want stronger control over the payment console. Staff complain about too many prompts in the office. The company has managed laptops for most staff, many travelers, and a contractor workforce on personal devices.
Applications by tier
| Tier | Examples at Northwind |
|---|---|
| Tier 1 | Intranet news, canteen menu |
| Tier 2 | Chat, calendar, documents, expenses |
| Tier 3 | Customer support console, HR system |
| Tier 4 | Payment processing console, cloud administration, Okta administration |
The design
flowchart TD
A["Sign-in"] --> B{"Blocked zone or high risk?"}
B -- "Yes" --> DEN["Deny, alert security"]
B -- "No" --> C{"App tier 4?"}
C -- "Yes" --> D{"Managed, healthy device with device-bound proof?"}
D -- "Yes" --> OK4["Allow, short session"]
D -- "No" --> DEN4["Deny"]
C -- "No" --> E{"Medium risk or new device plus new place?"}
E -- "Yes" --> S["Phishing-resistant factor"]
E -- "No" --> F{"Managed, healthy device?"}
F -- "Yes" --> OK["Allow, longer session"]
F -- "No" --> M["MFA with number matching, shorter session"]
Observe
Turn ThreatInsight to log-only and enable behavior detections in monitoring. Review two weeks of data to learn how many sign-ins would be affected, and which offices share addresses.
Fix the basics
Enable number matching for push prompts, add office and partner network zones, and set an alert for bursts of prompts to one person.
Roll out strong factors
Enroll all administrators and payment-console users in a device-bound, phishing-resistant method first, then the rest of staff over several months.
Introduce the ladder
Apply the tiered policies in rings: security team, volunteers, one department, then all. Tier four comes with a tested emergency account.
Handle contractors and travelers
Contractors on personal devices get tier one and two access with MFA, no tier four. Travelers are stepped up to a strong factor instead of being blocked.
Monitor and tune
Track challenge rate, pass rate, tickets, and incidents weekly. Review quarterly with the help desk lead and application owners.
The result
After four months, office staff on managed laptops are rarely prompted, which pleases them. Unusual sign-ins meet a strong factor that cannot be relayed from a fake page. The payment console opens only from managed, healthy devices. Prompt-flood attempts trigger alerts within minutes. Auditors receive clear evidence of the control. No single clever feature did this: it was tiering, strong factors, careful observation, staged rollout, and steady tuning.
31Troubleshooting Risk Decisions
When someone asks, “Why was I challenged?” or “Why was that attacker not stopped?”, a calm method finds the answer.
Find the event
Search the System Log for the person and time. Read the result, the rule that matched, and the context recorded.
Identify the matching rule
Remember that the first matching rule wins. A broader rule above may have caught the sign-in before the intended one.
Look at the signals
Check the network zone, location, device state, and behavior flags. Which clue pushed the decision?
Check what changed
Review recent edits to rules, zones, behaviors, and device policies, and any change in the person’s setup.
Reproduce with a test persona
Try a similar situation with a test account or the policy simulation tool, where available, to confirm your explanation.
Fix and record
Adjust the rule or process, retest, and note the lesson for next time.
| Question | Likely explanation | Where to look |
|---|---|---|
| Why was this person challenged? | New device, new place, or an address in a flagged zone | System Log context for that event |
| Why was nobody challenged during the attack? | Signals looked normal, or no rule covered that app | Rule list for the app, device and behavior history |
| Why do all office staff get prompts today? | Office internet address changed | Network zone contents versus current addresses |
| Why did the new rule not apply? | Earlier rule matched first, or group condition missed the person | Rule order and group membership |
| Why is a partner blocked? | Shared address flagged or in a blocked zone | ThreatInsight and zone settings |
| Why did the session end unexpectedly? | Risk rose mid-session or session limit reached | Session settings and risk events in the log |
Give your help desk a short guide with screenshots of the common prompts and their usual causes. First-line staff who recognize a travel challenge or an office address change solve in minutes what would otherwise bounce between teams.
32Frequently Asked Questions
33Summary and Key Takeaways
Risk-based authentication spends effort where danger is real, and leaves trusted moments smooth.
Key Takeaways
- Judge the situation, not just the password: combine network, location, device, behavior, and outside signals into a risk level, and match the proof demanded to that level.
- Weigh clues by strength: prefer strong signals such as device-bound, phishing-resistant sign-in over weak ones such as raw location, and never act on one weak clue alone.
- Pair risk with sensitivity: tier applications by impact, then use a matrix so the same risk leads to deliberate, different responses for different systems.
- Step up instead of blocking: use stronger factors for unusual but plausible sign-ins, keep denial for clear danger, and always offer honest people a way forward.
- Watch after sign-in and protect the top: use shorter sessions and continuous evaluation where available, apply stricter profiles to administrators, and keep a tested emergency account.
- Observe, test, roll out, tune: log first, test with personas, release in rings, and tune with evidence about both false alarms and misses, recording every decision.
- Be honest about limits: scoring is an estimate that attackers can try to evade, so layer defenses, respect privacy and fairness, and review the design regularly.