Profile Source Priority in Okta: Who Wins When Many Systems Describe the Same Person

Profile Source Priority in Okta: Who Wins When Many Systems Describe the Same Person

A plain-English, in-depth guide to how Okta decides which system's data becomes a person's profile, how to rank your sources, and how to avoid the tug-of-war that breaks access.

Think about one employee, Maria. Your HR system says she is a Senior Analyst in Finance. Your Active Directory says she is an Analyst in a department called “FIN”. A contractor system, left over from last year, says she is an external consultant. All three are describing the same human, and all three want to tell Okta who she is. Which one is right?

Profile source priority is the part of Okta’s identity model that answers this question. It lets you rank the systems that feed Okta, so that one clear voice speaks for each person and the others stay in their lane. This guide explains the idea from the ground up, shows how the pieces fit, and walks through the design choices, the traps, and the habits that keep your profiles clean.

1What Is Profile Source Priority?

Three simple ideas sit behind the name: a profile, a source, and a ranking.

Okta keeps one record for every person, stored in a place called Universal Directory. That record is called a profile. A profile is like an identity card that holds attributes, which are named pieces of information such as first name, email, department, job title, manager, and start date. Every app that Okta connects to reads from this card.

A profile source is any system that is allowed to feed information into that card. Common examples are an HR system such as Workday, a directory such as Active Directory, or another business app that Okta can import people from. Okta itself can also be a source, when administrators or people edit the profile directly.

Profile source priority is the ranking you give to those sources. When more than one system claims the same person, the ranking tells Okta whose version of the profile to trust first. In short, it answers one question: when two systems disagree, who wins?

Everyday Analogy

Imagine three editors who each send corrections to the same company phone book. If nobody says who has the final word, the printed book changes every time a different editor writes in. A ranked list of editors solves it. The top editor’s page wins, and the others only fill in what the top editor left blank.

Three questions it helps you answer

Question 1

Who owns this person?

Which system is the main authority for the whole profile of a given user.

Question 2

Whose value wins?

When two systems send different values for the same attribute, which value Okta keeps.

Question 3

What if the top source goes quiet?

How Okta behaves when the leading source no longer has the person or stops sending updates.

1
profile per person in Universal Directory
2+
sources can describe the same person
1
clear winner needed for each decision

Everyday phrases and what they really mean

Identity teams use short phrases that can confuse newcomers. Knowing them saves time in meetings. When someone says “HR is the master”, they mean that the HR system is the source whose values win for the attributes it owns. When they say “Okta is mastered by the directory”, they mean the profile is filled mainly from directory data. When they say “the import overwrote it”, they mean a source wrote a value that replaced one already stored.

Another common phrase is “flapping”, which describes a value that keeps switching between two answers. A “stale” value is one that no longer matches reality because the source stopped updating it. An “orphan” is an account whose source record has vanished, leaving nobody responsible for it. Spotting these three words in a log or a ticket quickly tells you what kind of problem you face, and which part of this guide to open first.

Finally, people often say “source of truth” when they really mean “the system I trust most”. Be gentle with the phrase. Truth in identity data is rarely about one system being right about everything. It is about agreeing, in writing, which system answers which question, and holding every other system to that agreement.

!
Check your own console

Menu names, available options, and exact behavior can differ between Okta Classic and Okta Identity Engine, and they change over time. Use this guide to understand the concepts, then confirm the current screens and rules in Okta’s own documentation before you change a live setup.

2The Problem: Many Sources, One Profile

Every rule exists because something went wrong without it. Here is what goes wrong without clear priority.

In a small company, one system usually knows everyone. As the company grows, it adds a dedicated HR system for contracts and pay, a directory for computers and logins, and special systems for contractors, students, or partners. Each is correct about its own corner of the business. None of them is correct about everything.

Now connect them all to Okta. Each source sends updates on its own schedule. If there is no ranking, whichever source ran last overwrites the profile. This causes a quiet but damaging problem called flapping, where a value keeps switching back and forth as different sources take turns writing it.

What goes wrong without a ranking

1

Flapping values

A job title changes from “Manager” to “Analyst” and back every few hours as two sources overwrite each other.

2

Wrong access

Group rules read the department. When the department flips, people gain and lose apps for no real reason.

3

Duplicate people

Two sources create two profiles for the same human, each with its own apps and its own history.

4

Stale leavers

HR says the person left, but another source still lists them as active, so access lingers.

Everyday Analogy

Picture three secretaries, each with a key to the same filing cabinet, each told to “keep the address cards up to date”. Without a rule about who is in charge, they erase each other’s changes all day. The cabinet is never wrong for long, but it is never right for long either.

Why this matters even for small teams

Some teams believe ranking is only for giant enterprises. In truth, trouble starts as soon as a second people system appears. A startup that adds a payroll tool beside its directory already has two voices describing the same employees. The earlier the ownership rules are written, the cheaper they are to keep. Fixing a tangled profile design after five systems and three thousand users is far harder than writing a one-page ownership table on the day the second system arrives.

The habit is also cheap to start. Pick the five attributes that drive access, name one owner for each, and record the answer where the whole team can read it. That small exercise already removes most of the confusion, and it prepares you for the day a merger, a new HR platform, or an audit makes the question urgent.

A fictional example: Northwind Traders

Northwind Traders, a made-up company used here for teaching, has 6,000 employees in an HR system, 6,200 accounts in Active Directory, and about 400 contractors in a separate vendor system. Before ranking its sources, the company saw hundreds of profile changes every week that nobody had made on purpose. After agreeing a priority order, those mystery changes disappeared.

i
The core idea

You cannot stop systems from disagreeing. You can only decide in advance who wins when they do.

3Core Concepts to Know First

A short vocabulary list makes the rest of this guide much easier to follow.

Identity work has its own words. Most of them describe either where data comes from, or who is allowed to change it. The table below puts the key terms next to a simple picture.

TermPlain meaningEasy picture
Universal DirectoryOkta’s cloud store of user profiles.The company’s central address book.
ProfileThe set of attributes describing one person.One person’s card in the address book.
AttributeOne piece of information, such as department.One line on the card.
Profile sourceA system allowed to feed profile data into Okta.An editor who sends corrections.
Profile masterThe source whose data is treated as the authority.The editor with the final word.
PriorityThe ranking among sources for the same person.The order of editors by seniority.
ImportBringing records from a source into Okta.The editor delivering the new pages.
MatchingDeciding that two records describe the same person.Recognizing the same face in two photos.
MappingA rule that links a field in one system to a field in another.A translation chart between two forms.
Attribute-level sourcingChoosing a source separately for each attribute.Different editors owning different pages.

Source of truth, explained

The phrase source of truth means the one system whose answer is final for a given piece of data. For a hire date, that is almost always the HR system. For a login name, that may be the directory. For a preferred display name, it may be the person themselves. A healthy design names a source of truth for every attribute that matters.

Priority versus ownership

Priority is the ranking between sources. Ownership is the decision about who may change a value at all. They work together. Ownership says the HR system is allowed to set the job title. Priority says that if two systems both try, the higher-ranked one wins. A good design uses both: clear owners most of the time, and a clear ranking for the rare disagreements.

Everyday Analogy

In a hospital, the lab owns blood test results and the pharmacy owns medication lists. That is ownership. If a rare conflict appears, such as two records of the same allergy, a ranking rule says which department’s note counts. You need both rules for safe records.

i
Remember

A profile source feeds Okta. It is not the same as an authentication source, which decides where passwords are checked. A person’s profile can come from HR while their password is checked in Active Directory. Chapter 14 covers this split.

4Architecture and Components

Here is the full picture of how profile data flows in, gets ranked, and flows back out to apps.

The design has three layers. On the left are the profile sources, which send people and attributes into Okta. In the middle is Okta, where matching, priority, and sourcing rules decide what the final profile looks like. On the right are the downstream apps, which read the finished profile and receive updates. Data enters ranked, and leaves clean.

flowchart LR
  subgraph Sources["Profile Sources"]
    HR["HR system"]
    AD["Active Directory"]
    CT["Contractor system"]
  end
  subgraph OktaZone["Okta"]
    MT["Matching rules"]
    PR["Priority and sourcing rules"]
    UD["Universal Directory profile"]
  end
  subgraph Apps["Downstream Apps"]
    A1["Email suite"]
    A2["Chat tool"]
    A3["Sales CRM"]
  end
  HR -->|"Import"| MT
  AD -->|"Import"| MT
  CT -->|"Import"| MT
  MT --> PR
  PR --> UD
  UD -->|"Provision and update"| A1
  UD -->|"Provision and update"| A2
  UD -->|"Provision and update"| A3
Figure 1: Sources feed Okta, Okta ranks them, and apps read the result.

The components, one by one

Input

Profile sources

HR systems, directories, and other apps that Okta can import people from.

Rules

Matching rules

The logic that decides two incoming records are the same person, so only one profile exists.

Rules

Priority order

The ranked list of sources that settles who wins when several sources claim one person.

Rules

Attribute sourcing

Optional settings that pick a source for individual attributes, rather than the whole profile.

Store

Universal Directory

Okta’s single profile per person, which is the one version everything else reads.

Output

Downstream apps

Apps that receive profile data through provisioning, and group rules that act on it.

Why one profile matters

Apps do not care how many sources a company has. They want one trustworthy answer. By collapsing many voices into one profile, Okta protects every connected app from the confusion. This is the biggest gift of a well-ranked design: the mess stays upstream, and the clean answer goes downstream.

Everyday Analogy

A newspaper receives reports from many reporters, then an editor combines them into one story. Readers never see the disagreements between reporters. They see the final article. Okta’s priority rules play the editor’s role for identity data.

i
Tip

Draw this three-layer picture for your own company before you configure anything. Naming every source and every app on one page often reveals forgotten systems and hidden conflicts.

5Types of Profile Sources

Not every source deserves the same trust. Knowing each type helps you decide where it belongs in the ranking.

Sources differ in how often they change, how carefully their data is kept, and how complete they are. A good ranking reflects these real strengths. The top spot should go to the system that is most authoritative about the person, not the one that is easiest to connect.

Source typeTypically good atTypically weak at
HR systemEmployment facts: hire date, job title, manager, department, employment status.Technical data such as login names, which are usually created elsewhere.
Directory such as Active Directory or LDAPLogin names, group membership, and technical account details.Business facts, which are often typed by hand and may be out of date.
Contractor or vendor management systemContract dates and sponsor information for non-employees.Broad coverage, since it only knows its own people.
Other business apps with importSpecial facts such as sales region or student year.Authority, since the app may copy data from somewhere else.
Okta itselfPreferred names, recovery details, and attributes with no other home.Knowing about hires and leavers without being told.

Qualities of a strong primary source

Quality

Authoritative

It is where changes truly begin, such as a hire entered by HR, not a copy of someone else’s data.

Quality

Timely

New hires and leavers appear quickly, not weeks after the fact.

Quality

Complete

It covers the people you need to manage, with the attributes you plan to use.

Quality

Clean

Its values are consistent, with a stable unique identifier for each person.

Authority beats convenience

Teams are often tempted to rank the directory first, simply because it was connected first and everyone trusts it. But if titles in the directory are copied by hand from HR, the directory is a second-hand source. Ranking the true origin first means mistakes are fixed at the root, not patched downstream.

Everyday Analogy

If you want to know someone’s birthday, you check their birth certificate, not a card a friend wrote from memory. Both may agree most of the time. When they differ, you know which one to trust, because one is the original and the other is a copy.

!
Watch for loops

If System A copies data from System B and System B copies data back from System A, ranking them in either order hides the loop but does not fix it. Find where a change is truly first entered, and make that system the top source.

6Attribute Design: Building a Profile Worth Ranking

A ranking is only as good as the attributes it protects. Good profile design makes every later decision easier.

A profile is made of attributes, and each attribute has a name, a type, and a purpose. Okta provides a standard set of base attributes such as first name, last name, email, and login. It also lets administrators add custom attributes for anything specific to the company, such as cost center, building, or contractor sponsor. Every attribute you add is another thing that sources may write and apps may read.

Questions to ask before adding an attribute

Purpose

Who will read it?

If no app, policy, or report uses the attribute, it is clutter and a privacy burden.

Owner

Who will write it?

Name the one source that owns the value, before the first import runs.

Type

What shape is the value?

Text, number, true or false, or a list. Pick the shape that matches the real data, so comparisons work.

Quality

How clean is the source?

If the source data is messy, plan a cleanup first, or the mess will spread to every app.

Naming and consistency

Short, clear names save a great deal of confusion. A name such as “costCenter” tells the next administrator what the field holds. A name such as “custom1” tells them nothing. Agree a naming style, write it down, and apply it to every new attribute. Consistent names also make mappings and group rules easier to read.

Free text versus controlled values

Free text invites variation. One manager types “Finance”, another types “finance dept”, and a third types “FIN”. Group rules that look for an exact value will miss two of the three. Where possible, let the owner source supply a controlled list of values, and convert odd spellings into the standard form at the mapping step.

Attribute kindExampleDesign advice
IdentifierEmployee numberStable, unique, never reused, and owned by HR.
Access-drivingDepartment, job family, employment typeProtect strictly. Only the owner source may write it.
Contact detailMobile phone, office locationAllow self-service edits where useful, and keep them out of access rules.
Personal preferencePreferred nameOwned by Okta, so that imports never erase it.
TechnicalLogin name, technical emailOwned by the directory or Okta, built from a clear rule.
Everyday Analogy

Designing attributes is like designing a paper form. If you add too many boxes, nobody fills them in properly. If the boxes are vague, people write anything. A short, clear form with one person responsible for each box gives you data you can trust.

i
Tip

Mark each attribute in your documentation as access-driving or not. The access-driving ones need the tightest ownership and the closest monitoring.

7How Okta Decides Who Wins

This chapter walks through the decision in simple steps. The exact screens vary, but the logic is steady.

When a source sends a record to Okta, Okta does not simply paste it onto a profile. It first asks which person this record describes. Then it asks how much authority this source has for that person. Only then does it decide which values to keep. The questions are always asked in this order.

flowchart TD
  R["Record arrives from a source"] --> M{"Does it match an existing user?"}
  M -->|"No"| C["Create a new user from this source"]
  M -->|"Yes"| P{"Is this source the top priority for this user?"}
  P -->|"Yes"| U["Apply this source's values as allowed by mappings"]
  P -->|"No"| L["Keep higher source values and only fill gaps if allowed"]
  C --> D["Profile stored in Universal Directory"]
  U --> D
  L --> D
Figure 2: A simplified view of how Okta chooses between sources.

The decision, step by step

1

A record arrives

An import run, a change event, or an administrator action brings new information about a person.

2

Okta looks for a match

Using your matching rules, such as an employee number or email, Okta decides whether this person already exists.

3

Okta checks the ranking

If the person exists, Okta compares the sending source with the sources that already know this person.

4

Mappings decide the details

Even for the winning source, only the attributes you mapped and allowed to update are changed.

5

The profile is saved and passed on

The final profile is stored, and provisioning sends relevant changes to downstream apps.

Everyday Analogy

Think of airport border staff. They first check who you are by matching your face to your passport. Then they check what type of visa you hold, which decides how much authority you have. Only then do they decide what you may do. Identity first, authority second, action third.

!
Edge cases need testing

Details such as what happens when the top source removes a person, or how blank values are treated, depend on your settings and Okta version. Test these cases with sample users before you rely on them.

8Import and Matching: Linking Records to One Person

Priority only works if Okta correctly knows that two records are the same human. Matching is the foundation.

An import is the process of bringing records from a source into Okta. Each record describes one person in the source’s own words. Before Okta can rank anything, it must decide whether that record belongs to a person it already knows. This decision is called matching.

Matching uses rules you choose. A rule might say “two records are the same person if their employee number is equal”, or “if their email addresses are equal”. When a rule finds a match, Okta links the new record to the existing profile instead of creating a second one. When no rule finds a match, Okta may create a new profile.

Good identifiers and bad identifiers

IdentifierStrengthRisk
Employee numberStable, unique, and owned by HR. Often the best choice.Some contractors or older accounts may not have one.
Email addressFamiliar and often present in every system.Changes after a marriage, rebrand, or domain move, and shared mailboxes can collide.
UsernameEasy to read.Reused over time, so a new hire may inherit an old username.
Full nameAlways present.Not unique. Two people can share a name, so avoid it for matching.

What a wrong match looks like

If matching is too loose, two different people are merged into one profile. One person’s title and manager then appear on another person’s account, which can grant the wrong access. If matching is too strict, the same person appears twice, and each profile fights for its own apps. Both problems look like priority problems, but the real cause lies in matching.

Good habits for matching

1

Pick one shared identifier

Agree a value that exists in every source and never changes, ideally created by HR.

2

Clean the identifier first

Remove spaces, fix leading zeros, and make sure each value is unique inside each source.

3

Test with a small group

Import a small sample, then read the results to see which records linked and which stayed apart.

4

Review exceptions

Check records that did not match. They often reveal data errors that need fixing at the source.

Everyday Analogy

Matching is like a library keeping one card per reader. If a reader borrows from two branches with slightly different spellings of their name, the library must link both loans to one card. A card number printed on every borrowing slip makes this easy. A name alone does not.

!
Fix matching before priority

Do not try to tune the priority order while matching is wrong. You will chase symptoms. Get the same person linked correctly first, then rank the sources.

9Source Priority and Attribute-Level Sourcing

Two related tools help you control who wins. One works on the whole person, and the other works on single attributes.

Source priority works at the level of the person. It ranks the systems that know a person, so that one of them leads. Attribute-level sourcing works at the level of a single attribute. It lets you say that the email should come from one source, the department from another, and the preferred name from Okta itself.

QuestionSource priorityAttribute-level sourcing
Works onWhole person and the ranking of sources.One attribute at a time.
Best forPeople who exist in several systems with overlapping data.Mixing the strengths of several systems in one profile.
SimplicitySimple to explain: one ranked list.More flexible, but more rules to track.
Main riskA top source that is weak on some attributes.A confusing patchwork if the choices are not documented.

A mix-and-match example

Suppose HR is the best source for job title, manager, and employment dates. The directory is the best source for the login name and technical email. Okta is best for the preferred display name, because people know how they want to be called. Attribute-level choices let each system speak where it is strongest, while priority settles disputes over any attribute you did not assign.

HR

Employment facts

Title, department, manager, hire date, and employment status.

Directory

Technical identity

Login name, technical email, and security group membership.

Okta

Personal choices

Preferred name, pronunciation notes, and self-service contact details.

When to use which

Start simple. If one system is strong across the board, a clean priority order may be all you need. When a single system is weak at a few attributes, add attribute-level choices only for those. Every extra rule is something a future administrator must understand, so each one should earn its place.

Everyday Analogy

A film crew has a director who has the final say on the whole movie. That is priority. But the costume designer alone decides what actors wear, and the sound engineer alone decides the sound mix. That is attribute-level ownership. Both ideas can live together, as long as everyone knows which is which.

i
Tip

Keep a one-page table listing each important attribute, its source, and its owner. Treat it as the single reference when anyone asks why a value looks the way it does.

10Mappings: Translating Between Systems

Mappings control exactly which fields move, in which direction, and whether they overwrite what is already there.

Each source names its fields differently. One system says “Surname”, another says “Last Name”, and a third says “sn”. A mapping is a rule that links a field in the source to a field in the Okta profile. Without a mapping, a value simply does not travel, no matter how highly ranked its source is.

Priority decides the winner, mappings decide the details

This point surprises many people. A source can be the top priority and still change nothing if its mappings are empty. In the same way, a lower-ranked source with many mappings can fill gaps that the top source never maps. Always read priority and mappings together when you investigate a value.

Questions to answer for every mapping

Direction

Which way does it flow?

From the source into Okta, or from Okta out to an app. Many mappings only make sense in one direction.

Overwrite

Should it replace existing values?

Some mappings update on every import, others only fill a blank value on first creation.

Blanks

What if the source value is empty?

Decide whether an empty value should erase the Okta value or be ignored. Test the real behavior in your setup.

Shape

Does the value need reshaping?

Dates, phone numbers, and names may need standard formats so that every app can read them.

Transformations in simple terms

Sometimes a value must be changed on the way in. For example, a source may store a full name in one field, while Okta wants first and last name separately. Or a department code such as “FIN” may need to become “Finance”. Okta provides ways to transform values during mapping. Keep these transformations small and well documented, because hidden logic is the hardest to debug later.

Mapping situationRisk if ignoredGood practice
Two sources map the same attributeValues depend on which source wins, so results look random.Map each important attribute from one owner source only.
Source sends blank valuesGood values may be erased.Test blank handling, and fix source data where possible.
Different formats for dates or phonesDownstream apps reject or misread them.Standardize formats at the mapping step.
Mapping copied from a templateFields that your company never uses clutter the profile.Map only what apps and policies need.
Everyday Analogy

Mapping is like a translator at a meeting. The most senior person in the room may speak, but if the translator has no phrasebook for a topic, nobody else understands. Seniority and translation are separate. You need both for a message to arrive.

!
Hidden second writer

An attribute may be mapped from a lower-ranked source and also be editable by people in Okta. Both can quietly overwrite your intended value. When a field keeps changing, list every writer, not only the top source.

11Common Conflict Scenarios

Real life is messier than a diagram. Here are the situations that most often force a priority decision.

Each scenario below shows a common clash and the thinking that resolves it. The companies are fictional teaching examples, but the patterns appear again and again.

Scenario 1: HR and the directory disagree on a title

HR says “Senior Analyst” and the directory says “Analyst”. A person was promoted last month, HR updated at once, and the directory was never changed. Ranking HR above the directory for the title means the correct value wins every time, and the stale one cannot flip it back.

Scenario 2: A contractor becomes an employee

A contractor in the vendor system is hired full time. Now the vendor system and the HR system both describe the same person. A priority order that puts HR above the vendor system lets the new employee record take the lead, while the old contractor record stays as a quiet, lower-ranked source.

Scenario 3: A rehire returns after two years

A former employee comes back. The HR system may issue a new employee number, or reuse the old one. If matching relies on a reused number, the person may link back to their old profile with old data. Decide in advance how rehires should match, and test that case with a sample.

Scenario 4: Two HR systems after a merger

Two companies merge, and each keeps its own HR platform for a year. Both systems are authoritative for their own people. Here the sources rarely overlap, so priority matters less than clear matching. For the few people present in both, such as a shared executive, a documented ranking removes the confusion.

Scenario 5: Preferred name versus legal name

HR stores the legal name, but the person goes by a different name at work. If HR is allowed to overwrite the display name on every import, the preferred name is lost every night. Assign the preferred name to Okta as the owner, and keep the legal name where it belongs.

A simple conflict checklist

1

Identify the attribute

Which exact field shows the disagreement?

2

List every writer

Which sources, mappings, and people can change it?

3

Find the true origin

Where is this fact first entered by a human with the authority to enter it?

4

Make that source the owner

Rank or assign it accordingly, and remove the other writers.

Everyday Analogy

When two witnesses give different accounts, a good investigator asks who was actually there. The witness who saw the event first-hand outranks the one who heard about it later. Profile ranking follows the same instinct: trust the source closest to the original fact.

12Data Flow and the Life of a Profile

Follow one person from hiring to leaving, and watch where the ranking takes part.

Identity teams describe a person’s time at a company in three stages. A joiner is a new hire, a mover is someone whose role changes, and a leaver is someone who departs. At each stage, a source starts the change, Okta applies the priority rules, and apps receive the result.

sequenceDiagram
  autonumber
  participant H as HR system
  participant D as Directory
  participant O as Okta Universal Directory
  participant A as Downstream apps
  H->>O: New hire record arrives
  O->>O: Match to a person and apply priority
  O->>D: Provision the directory account
  D-->>O: Account details imported back
  O->>A: Provision apps based on profile and groups
  H->>O: Promotion changes title and manager
  O->>A: Updated profile values flow out
  H->>O: Termination date reached
  O->>A: Deactivate access
Figure 3: One person’s journey from joiner to mover to leaver.

Stage by stage

1

Joiner

HR enters the hire. Okta creates the profile from the top-ranked source, then provisions the directory account and apps.

2

Mover

HR updates the title or manager. Because HR ranks first for those attributes, Okta accepts the change and passes it to apps. Group rules may add or remove access.

3

Leaver

HR sets an end date or status. Okta follows the leading source and begins deactivation, closing apps in a controlled way.

4

Rehire

If the person returns, matching decides whether the old profile is reactivated or a new one is created. Plan this on purpose.

Timing is the hidden detail

Changes do not appear in Okta the instant they happen in the source. They arrive when the next import or event runs. A promise that “access ends at once” is only as true as your import schedule. Write down the expected delay at every stage, and make sure that what HR, security, and managers expect matches what the system does.

Everyday Analogy

Think of a school record that follows a student for years. The registrar creates it on the first day, updates it with each year’s class, and closes it on graduation. Many teachers read it, but only the registrar writes the official facts. Priority is the registrar rule for identity.

i
Tip

Keep one test user for each stage: a new hire, a promotion, a leaver, and a rehire. Run them through your setup after every change to priority or mappings.

13Deactivation and Fallback Behavior

The most sensitive moment in any ranking is when the top source stops speaking for a person.

A top-ranked source might remove a person because they left the company. It might also lose the person by mistake, for example after a bad data load. Okta cannot tell these cases apart by itself. What happens next depends on your settings, so this is the part to understand and test with the most care.

Three questions to settle in advance

Question

Does the user deactivate?

When the leading source marks a person as gone, should Okta deactivate their profile and close access?

Question

Does a lower source take over?

If a lower-ranked source still lists the person as active, should it keep the profile alive or be ignored?

Question

What about the data?

Should the last good values stay in place, or should some attributes be cleared?

Why the choice matters

If a leaver is still active in a lower-ranked source and that source can keep the profile alive, a person who has left may retain access. That is a security risk. On the other hand, if a data load mistake in the top source deactivates thousands of people at once, that is an outage. Both dangers are real, and the right balance depends on your company and its risk appetite.

Safety nets worth building

1

Limit bulk changes

Where available, use safeguards that pause an import when an unusually large number of users would be deactivated.

2

Alert on spikes

Send a notice to the identity team when deactivations jump well above the normal daily number.

3

Review lower sources

Regularly check which people are active only in a lower-ranked source. Many are forgotten accounts.

4

Document the rehire path

Know how a returning person is reactivated, and who approves it.

Everyday Analogy

A hotel’s front desk marks a guest as checked out. If the cleaning team’s list still shows the room as occupied, the guest’s key card might keep working. Hotels solve this by letting the front desk list overrule all others, and by checking exceptions each morning.

!
Test before production

Use a test source and a few sample users to practice a leaver, a mistaken removal, and a rehire. Seeing the real behavior once is worth more than reading about it ten times.

14Profile Sources Versus Authentication Sources

Two different questions are easy to mix up. Where does a person’s data come from, and where is their password checked?

A profile source feeds the identity card. An authentication source judges the password. These can be the same system, but often they are not. A company might take profile data from its HR system and still check passwords in Active Directory. That is perfectly normal and often the best design.

QuestionProfile sourceAuthentication source
What does it decide?The values on the person’s profile.Whether the typed password is correct.
Who can be one?HR systems, directories, apps, or Okta.Okta itself, or a connected directory.
What does ranking affect?Which source’s attributes win.Nothing directly. Ranking is not about passwords.
Typical exampleHR is top priority for title and manager.Active Directory checks the password.

Why the difference matters

If you change the priority order, passwords do not move. If you change where passwords are checked, the profile does not move. Treating them as one thing leads to wrong fixes, such as reordering sources to solve a sign-in problem. When sign-in breaks, look at the authentication path. When a value is wrong, look at the profile sources.

Symptom

Wrong title in an app

Look at profile sources, mappings, and priority.

Symptom

Cannot sign in

Look at the authentication path, policies, and password status.

Everyday Analogy

Your passport shows who you are, and your boarding pass shows whether you may board. Both are needed to fly, but they come from different offices. If your boarding pass is wrong, changing your passport photo does not help.

i
Tip

Draw two separate diagrams for your company: one for where profile data flows, one for where passwords are checked. Seeing them apart prevents many wrong guesses during incidents.

15Provisioning Outward to Apps

The clean profile is only useful if apps receive it. Here is how the outward journey connects to the ranking.

Once Okta holds one trusted profile, it can create and update accounts in downstream apps. This outward step is called provisioning. The app mappings decide which Okta attributes go to which app fields. Because every app reads from the same ranked profile, they all see consistent values.

Why ranking helps apps

Without ranking, two apps could receive different titles for the same person, depending on when each update ran. With ranking, a change in the winning source reaches every app in the same form. This consistency matters for reports, approvals, and audits, which often rely on department or manager data from several apps at once.

Group rules as a second consumer

Group rules read profile attributes and place people in groups. App access then follows group membership. This makes profile accuracy a security topic, not merely a tidiness one. If the department flips between two values, group membership flips with it, and so does access.

Output

App profile mappings

Define which Okta values reach each app and in which format.

Output

Group rules

Turn attribute values such as department into group membership and app access.

Output

Directory write-back

Okta may write values into a directory account, so that on-premises systems share the same data.

Everyday Analogy

A town’s census office publishes one official population number that schools, hospitals, and road planners all use. If each department counted by itself, plans would clash. One ranked source for the number keeps every plan in step.

!
Loop alert

If Okta writes a value out to a directory, and that directory is also a profile source that sends the same field back, you can create a loop. Decide a single direction for each attribute and protect it with the right mapping.

16Group Rules and Profile-Driven Access

The clearest reason to care about profile priority is what happens next: groups, and the access that follows them.

A group is a named list of people, such as “Finance Team”. Instead of giving an app to forty people one by one, you give it to the group. A group rule goes one step further. It reads attributes from profiles and places people into groups automatically, for example “everyone whose department equals Finance joins the Finance Team”. When the profile changes, group membership follows.

The chain of trust

1

A source states a fact

HR records that a person works in Finance.

2

Priority picks the winner

Okta keeps HR’s value as the department, because HR ranks first for it.

3

A group rule reads the value

The rule places the person in the Finance group.

4

Apps follow the group

The accounting tool is assigned to the group, so the person gets it without a ticket.

Every link in this chain depends on the one before it. If the department flips between two values because two sources are fighting, the person joins and leaves groups with it. Apps are added and removed without any human decision. This is why priority is a security matter, not just a tidiness matter.

Making rules robust

Practice

Use stable values

Base rules on attributes with a single owner and a controlled list of values.

Practice

Handle blanks on purpose

Decide what a blank department should mean. A blank should not silently grant or remove important access.

Practice

Keep rules readable

Short rules with clear names are easier to audit than clever, long ones.

Practice

Review membership

Ask group owners to confirm that members still need their access, a few times a year.

When profile data is late

New hires are the delicate case. If the profile is created before the HR source has supplied the department, group rules may find a blank and place the person in no group, or in a default group. Plan for this gap. Some teams delay account creation until key attributes arrive, while others give a minimal safe set of access first and add more once HR data lands.

Everyday Analogy

A concert wristband color is decided by the ticket type. Staff at each door only look at the color. If the ticket system prints the wrong color, the wrong person walks into the backstage area. Group rules are the wristband readers, and profile priority decides which ticket data is trusted.

!
Dangerous default

A group rule that gives broad access when an attribute is blank can hand out access by accident. Test every rule with blank, odd, and misspelled values before you rely on it.

17Designing Your Priority Order

A good order is not guessed. It comes from a short, repeatable method.

Designing priority is mostly an exercise in listening. You gather facts about each source, you ask who truly owns each piece of data, and you rank accordingly. The technical clicking at the end is small compared with the thinking before it.

A five-step method

1

Inventory the sources

List every system that holds people data, including forgotten ones such as old vendor tools or test directories.

2

Rank the attributes that matter

Pick the attributes that drive access and reporting, such as department, manager, status, and email.

3

Find each true origin

For each attribute, discover where a human first enters it with authority.

4

Write the order and the exceptions

Create the ranked list, then list the attributes where another source or Okta should own the value.

5

Test, then roll out in waves

Try the design on a small group, review results, and widen the scope slowly.

A worked example

RankSourceWhy it sits here
1HR systemIt is the origin of employment facts, so it leads for employees.
2Contractor systemIt is the origin for non-employees, so it leads for contractors.
3DirectoryStrong for technical data, but a copy of business data.
4Other appsThey add special attributes but rarely hold authority over identity.

In this example, the directory still owns the login name through an attribute-level choice, and Okta owns the preferred display name. The ranked list handles everything else. Notice how three kinds of rule combine into a design that is easy to describe in a few sentences.

Everyday Analogy

Designing priority is like writing seating rules for a large family dinner. You decide who sits at the head of the table, who carves, and who pours the drinks. Without the plan, everyone reaches for the same dish. With the plan, dinner flows.

i
Tip

If you cannot explain your priority order in two minutes to a new colleague, it is probably too complicated. Simplify before you build.

18Hybrid Designs: HR, Directory, and Okta Together

The most common real-world setup combines an HR system, a directory, and Okta. Here is how the roles usually divide.

Many organizations still depend on Active Directory for computers, file shares, and older applications. They also run an HR system and want Okta as the front door for cloud apps. The three systems each have a natural job. HR knows the employment facts, the directory holds the technical accounts, and Okta holds the unified profile and handles sign-in and app access.

A typical division of labor

SystemMain roleTypical direction of data
HR systemOrigin of employment facts and lifecycle events.Into Okta.
OktaUnified profile, access rules, and sign-in front door.Receives from HR, sends to directory and apps.
DirectoryTechnical accounts for on-premises systems.Receives accounts from Okta, may send technical values back.
Cloud appsWhere people do their work.Receive from Okta.

Two popular patterns

Pattern A

HR-driven, directory downstream

HR leads. Okta creates and updates directory accounts. The directory is mostly a consumer, with a few technical attributes flowing back.

Pattern B

Directory-driven for existing staff

The directory already holds the staff and remains the source of record for them. Okta imports from it, and HR is added gradually for the attributes it knows best.

Pattern B is common during a long transition. A company may begin with the directory as the top source because that is where its data lives today. Over time, it moves HR to the top for business attributes as the quality of HR data and integration improves. This step-by-step approach lowers risk, and the priority order is the tool that makes each step controlled.

Avoiding the write-back loop

In a hybrid design, a value can travel in a circle. Okta writes a department into the directory. The directory is also a source, so it sends the same department back to Okta. If both directions are active for the same field, any delay or format difference can cause flapping. Choose one direction per attribute, and make the other mapping read-only or switched off.

Everyday Analogy

Picture a company newsletter that is copied to an office notice board, and the notice board is photographed and sent back to the newsletter team as a new tip. Soon nobody knows which version is the original. One-way flow for each piece of news keeps the story straight.

Example: A staged move to HR-first

Northwind Traders starts with Active Directory as the top source, since it already holds all 6,000 employees. In stage one, the HR system is added below it as a source for hire dates only. In stage two, HR is promoted to own title and manager. In stage three, HR becomes the top source for all employment facts, and the directory turns into a downstream consumer. Each stage is tested with a small group before it is widened.

i
Tip

Write down the target end state on day one, even if you will take years to reach it. Every interim step should move toward that picture, and never away from it.

19Governance and Data Ownership

Ranking is a technical setting, but keeping it healthy is a people job.

Governance means the habits and records that keep a design correct over time. A priority order is not set once and forgotten. New sources appear, old ones are retired, and business rules change. Without governance, the order slowly drifts away from reality.

Who owns what

Owner

HR team

Owns the accuracy of employment facts and the timing of hires, moves, and exits.

Owner

Directory team

Owns login names, technical groups, and the health of the directory.

Owner

Identity team

Owns the Okta configuration, the ranking, the mappings, and the documentation.

Owner

Security and audit

Reviews that access matches policy and that leavers lose access in time.

Habits that keep the design healthy

1

Keep the attribute table current

Update the one-page list of attributes, sources, and owners whenever something changes.

2

Use change control

Record who changed the order or a mapping, when, and why. Ask for a second pair of eyes on risky changes.

3

Review regularly

Once or twice a year, revisit the list of sources and confirm that each still earns its rank.

4

Retire sources cleanly

When a system is decommissioned, remove it from the ranking on purpose, and check what that does to the people it described.

Everyday Analogy

A house needs regular care even when nothing seems wrong. A leaking pipe is easy to fix when you notice the first drip, and expensive after a year. Reviewing your ranking twice a year is the equivalent of checking the pipes.

!
The bus factor

If only one person understands your priority design, you have a risk. Write it down so that anyone on the identity team can read and maintain it.

20Security and Privacy

Profile data decides who gets access to what. That makes the ranking a security control as well as a data tool.

Many access rules in Okta are built on profile attributes. A group rule may say “everyone in Finance gets the accounting app”. If someone can change their department value, they may be able to change their own access. So the question “who can write this attribute?” is also the question “who can grant access?”. Priority and ownership help answer it safely.

Security risks tied to profile sources

Risk

Self-editable sensitive fields

If people can edit fields that drive access, such as department or manager, they could widen their own access.

Risk

Weak lower-ranked source

A poorly protected source that can fill gaps may be used to plant false values.

Risk

Over-privileged connection

An import account with more rights than it needs gives attackers a bigger prize.

Risk

Unreviewed admin changes

Anyone who can reorder sources or edit mappings can change many profiles at once.

Protective habits

1

Lock down access-driving attributes

Make sure only the owner source can change values that group rules and policies depend on.

2

Use least privilege for connections

Give each import connection only the read or write rights it truly needs.

3

Protect administrator roles

Limit who can edit sources and mappings, and require strong sign-in for them.

4

Watch for unusual changes

Alert on large batches of profile changes or sudden shifts in department and manager values.

Privacy: collect less, protect more

Every attribute you import is personal information about a real person. A good privacy rule is data minimization, which means collecting only what you need. Fewer attributes mean less to protect and less to explain to a regulator. Review the list of imported fields at least once a year and drop what no app or policy uses.

Everyday Analogy

A building’s access list is only as safe as the people allowed to edit it. If anyone can write their name on the list, the lock on the door does not matter. Controlling who can change the profile is like controlling who holds the pen.

!
Treat ranking changes as sensitive

A single change to the priority order can rewrite thousands of profiles. Give it the same care as a change to a firewall rule: review it, schedule it, and keep a record of it.

21Monitoring, Logging, and Metrics

You cannot manage what you cannot see. A few steady signals tell you whether your ranking is working.

Monitoring means watching the health of a system so that you learn about trouble before your users do. Logging means keeping a written diary of what the system did. For profile sources, the important question is always the same: did the right source change the right attribute at the right time?

Where to look

Source of informationWhat it tells you
Okta System LogRecords of imports, profile updates, user creation, and deactivation, with the reason and the actor.
Import resultsCounts of users created, updated, matched, and skipped in each run.
Profile history of a userWhich source or action last changed a given value.
Source system logsWhat the HR system or directory sent, and when.
Downstream app logsWhich updates actually reached each app.

Metrics worth tracking

Metric

Import duration and size

A sudden jump in either often points to a data problem at the source.

Metric

Unmatched records

Records that find no match may be genuine new people, or signs that matching is broken.

Metric

Deactivations per day

A spike can mean a mass exit, or a mistaken source load. Alert and check.

Metric

Value flapping

Attributes that change many times a day are a sign that two writers are fighting.

Catching flapping early

Flapping is the classic symptom of missing or weak ranking. Searching the log for the same user and attribute changing repeatedly in a short window quickly reveals it. When you find one, look for the pair of sources or mappings that are writing the same value, and remove one of them.

Everyday Analogy

A smoke detector does not prevent a fire, but it gives you minutes instead of hours. Monitoring your imports and profile changes is a smoke detector for identity data. The first flicker is the cheapest moment to act.

i
Tip

Copy important log data to your own long-term storage. Built-in history is limited, and auditors may ask for records from many months back.

22Data Quality, Compliance, and Auditing

When auditors visit, they ask who had access, who approved it, and when it ended. Clean, well-sourced profiles make the answers easy.

Data quality means that profile values are accurate, complete, consistent, and timely. Compliance means following rules set by law, customers, or the company itself. The two are connected. Rules about access can only be shown to be followed if the data that drives access is trustworthy. Ranking your sources is one of the most direct ways to make that data trustworthy.

The four qualities of good data

Quality

Accurate

The value matches reality. A title matches the person’s real job.

Quality

Complete

Important fields are not blank for the people who need them.

Quality

Consistent

The same fact looks the same everywhere, with standard spellings and formats.

Quality

Timely

Changes arrive soon enough that access never lags far behind reality.

Evidence auditors often ask for

Question an auditor asksWhere the answer comes from
Who has access to this sensitive app?Group membership, and the profile values that put people in the group.
How is access removed when someone leaves?Your documented leaver flow, with timestamps from the HR source and Okta.
Who can change the data that drives access?The ownership table, and the roles allowed to edit sources and mappings.
Can you show what changed and when?The Okta System Log and the profile history for the user.
How do you keep personal data to a minimum?The reviewed list of imported attributes and the reasons for each.

A data quality routine

1

Measure

Count blanks, duplicates, and odd values in the attributes that drive access.

2

Trace to the source

For each problem, find which source created it and tell the owner team.

3

Fix at the root

Correct the data where it begins, so it stays fixed after the next import.

4

Repeat on a schedule

Run the checks monthly, and report the numbers to the owners.

Everyday Analogy

A restaurant inspector wants to see clean kitchens, labeled ingredients, and temperature logs. The dull records are the proof. Clean profile data, ownership tables, and change logs are the identity team’s temperature logs.

!
Retention reminder

Built-in log history may be shorter than your audit period. Check retention and copy key records to your own long-term storage before you need them.

23Troubleshooting Walkthroughs

Instead of memorizing errors, learn a method: ask who wrote the value, then work backwards.

Almost every profile problem is a version of “this value is wrong” or “this person is missing or duplicated”. The method for both is similar. Find the exact attribute or person, list every writer, and check the order of authority. Always ask what changed recently, since most surprises follow a change.

Walkthrough 1: A value keeps changing back

1

Read the history

Open the user’s recent log entries and see which source or action wrote the value each time.

2

Name the two writers

Flapping nearly always involves two. They may be two sources, or one source and a person editing in Okta.

3

Choose the owner

Decide which writer should own the attribute, based on where the fact is truly entered.

4

Silence the other writer

Remove the mapping, change the attribute source, or stop the edits. Then watch the next few runs.

Walkthrough 2: The same person appears twice

Check 1

Matching identifier

Do both records carry the same stable identifier, spelled the same way?

Check 2

Matching rule

Is the rule too strict, for example case-sensitive or space-sensitive?

Check 3

Source data

Is the identifier blank or different at the source? Fix it there.

Check 4

Cleanup plan

Decide which profile survives and what happens to the other, before you merge or deactivate anything.

Walkthrough 3: A leaver still has access

1

Check the top source

Is the person marked as ended in the leading source, and when did that change arrive?

2

Check lower sources

Is another source still listing them as active and keeping the profile alive?

3

Check timing

Has the next import run yet? A delay may explain it.

4

Act now, fix later

Deactivate the user directly for urgent cases, and then correct the root cause so it does not repeat.

Walkthrough 4: A new hire got the wrong apps

Start by reading the profile values that group rules use, such as department and job family. A wrong or blank value usually explains the wrong groups. Trace that value back to its source and mapping. If the source was late with the hire record, the profile may have been created from a lower-ranked source with incomplete data. Fix the timing or the order.

Everyday Analogy

When a clock shows the wrong time, you check whether someone keeps changing the hands before you replace the battery. Profile troubleshooting is the same. Find who touched it last, then decide who should be allowed to touch it at all.

i
Tip

Keep a short runbook with these four walkthroughs. During an incident, a checklist beats memory every time.

24Advantages, Disadvantages, and Trade-offs

Every design has a price. Here is an honest scorecard for ranking profile sources.

Advantages

  • One trusted profile per person, which every app can rely on.
  • Fewer mystery changes, because writers have a clear order.
  • Safer access rules, since group rules read stable values.
  • Easier audits, because the source of every value can be explained.
  • Smoother mergers, since new sources can be added to the ranking.
  • Clean downstream apps, with no need for each to settle conflicts.

Disadvantages

  • It needs upfront thinking and agreement between several teams.
  • A weak top source can spread its mistakes across every app.
  • Complex attribute-level choices become hard to remember.
  • Changes arrive on the import schedule, not instantly.
  • Mistakes in ranking can rewrite many profiles at once.
  • It depends on good matching, which needs clean identifiers.

Key trade-offs in plain words

DecisionOne sideOther side
Simple order versus attribute-level controlA single ranked list is easy to explain and maintain.Per-attribute choices fit real data better but add rules to track.
Strict ownership versus flexibilityStrict ownership prevents fights and abuse.Flexibility lets teams fix data quickly but invites flapping.
Frequent imports versus light loadFrequent imports keep data fresh and leavers closed quickly.Rare imports are lighter but leave a wider gap for stale data.
Strong bulk-change safeguards versus speedSafeguards stop disasters from bad data loads.They may pause legitimate large changes such as year-end reorganizations.
Everyday Analogy

Choosing a strict ownership model is like keeping one master key for a building, held by one trusted person. It is safer than copies for everyone, but it means the key holder must always be reachable. The trade-off is convenience for safety.

i
The bottom line

For companies with more than one people system, the benefits clearly outweigh the costs. The main weakness is rarely the feature itself. It is usually unclear ownership, weak matching, or a lack of monitoring.

25Design Patterns and Anti-patterns

A pattern is a proven way of solving a repeating problem. An anti-pattern is a popular mistake.

Patterns that work

Pattern

HR first for employees

Rank the HR system at the top for employment facts, and let it drive hires, moves, and exits.

Pattern

One owner per attribute

Name a single owner for each important attribute and map it from that owner only.

Pattern

Okta owns personal choices

Let people control preferred name and personal contact details inside Okta.

Pattern

Stable shared identifier

Use an employee number or similar value to match records across every source.

Pattern

Lower sources fill gaps only

Allow secondary sources to supply values that the top source does not hold, and nothing more.

Pattern

Documented and reviewed

Keep the order, the exceptions, and the owners written down and reviewed twice a year.

Anti-patterns to avoid

ANTI-PATTERN 01Avoid
What people do

They connect several sources, give them all the same authority over the same attributes, and hope the last import wins.

Why it hurts

Values flap, group membership changes by itself, and nobody can explain why a person has certain access.

Better approach

Rank the sources and name one owner for each important attribute.

ANTI-PATTERN 02Avoid
What people do

They match people by name or by an email address that can change, because it was the easiest field to use.

Why it hurts

Different people get merged, or the same person is split into two profiles. Priority then appears to misbehave.

Better approach

Match on a stable identifier owned by HR, and clean it at the source.

ANTI-PATTERN 03Avoid
What people do

They rank the directory first because it was connected first, even though its business data is copied by hand from HR.

Why it hurts

Stale titles and managers win over correct ones, and the true source cannot correct them.

Better approach

Rank by true origin of the data, not by who connected first.

ANTI-PATTERN 04Avoid
What people do

They change the ranking in production on a Friday afternoon with no test users and no rollback plan.

Why it hurts

Thousands of profiles may change at once, and nobody knows how to undo it.

Better approach

Test with sample users, schedule the change, and write the rollback steps before you begin.

26Best Practices and Common Mistakes

A short field guide of habits that save time and avoid late-night incidents.

Best practices, in order of when you meet them

1

Map the people systems first

Draw every source and every consumer on one page before changing a setting.

2

Agree ownership with the business

Hold a short meeting with HR, directory, and security owners, and write down who owns which attribute.

3

Clean the data at the source

Fix identifiers, blanks, and inconsistent values where they begin.

4

Pilot with a small group

Import a small sample, inspect each profile, and review what changed.

5

Roll out in waves

Extend to more groups slowly, watching logs after each step.

6

Document and review

Keep the order and exceptions in a runbook, and review them on a schedule.

Mistakes that appear again and again

Forgetting the hidden writer

A value flips because people can still edit it in Okta, or because a forgotten app is still mapped to write it. List every writer before you blame the ranking.

Skipping the rehire test

A returning employee is matched to an old profile with old groups and old access. Always test the rehire path with a sample.

Ignoring blank values

A source sends empty fields and erases good data. Test how blanks are treated, and fix empty values at the source.

Treating priority as a one-time setting

The design was perfect two years ago, but three systems have since been added. Schedule regular reviews.

i
Habit to build

After every change to a source, mapping, or order, run your four test users through a full cycle. Small checks catch small problems.

27Changing Priorities Safely

Sooner or later you will need to move a source up or down. This chapter shows how to do it without surprises.

Changing the order is one of the riskiest actions in a profile design, because it can change many profiles in a single run. The goal is to make the change small, visible, and reversible. Common triggers are a new HR system, a merger, a retired directory, or the discovery that the old ranking was wrong.

The safe-change recipe

1

Describe the change on paper

State which source moves, which attributes are affected, and which people will see different values.

2

Estimate the impact

Compare values between the old and the new top source, and count how many users would change.

3

Test in a safe space

Use a preview organization or a small test group where the change can be rehearsed.

4

Back up what matters

Export or record current profile values and settings, so that you can compare and restore if needed.

5

Schedule a quiet window

Choose a time when few people sign in and the identity team is available to watch.

6

Watch and verify

Check the log, sample users, and downstream apps right after the change, and again the next day.

Moving to a new HR system

Replacing an HR platform is a common reason to change the order. A careful approach is to run the new system alongside the old one for a while. Connect it at a lower rank first and compare what it would send. When the values match what you expect, promote it to the top and demote the old system. Retire the old source only after you have checked the people it alone described.

Everyday Analogy

Changing the ranking is like changing the lead singer in a band during a concert tour. You rehearse the new singer in practice, perhaps let them sing one song at a show, and only then give them the whole set. Switching in the middle of the main song without practice makes the audience notice.

!
One change at a time

Avoid changing the order, the mappings, and the matching rules in the same week. If something breaks, you will not know which change caused it.

28Real-World Usage Scenarios

Here are four common situations where ranking profile sources earns its place. The companies are fictional teaching examples.

Scenario 1: HR-driven identity for a growing company

Northwind Traders makes its HR system the top source for employment facts. A new hire entered by HR appears in Okta, receives a directory account, and gets the right apps by department. A promotion in HR updates the title in every app without a single ticket. The directory still owns the login name, and Okta owns the preferred name.

Scenario 2: A merger with two HR systems

Two companies join and keep both HR systems for a year. Each system is authoritative for its own staff, so most people never overlap. The identity team connects both, matches by a shared identifier, and writes a rule for the handful of people who appear in both. Staff see one sign-in page and one set of apps from day one.

Scenario 3: Contractors who become employees

A technology firm hires many contractors through a vendor system and later converts the best into employees. The ranking puts HR above the vendor system. On conversion, the HR record takes the lead automatically, and the old vendor record quietly becomes a lower-ranked source that can be retired.

Scenario 4: A university with students, staff, and alumni

A university has a student system, a staff system, and an alumni system. A person may be in all three over a lifetime, and sometimes in two at once, such as a graduate student who is also a teaching assistant. A clear order and matching by a lifelong identifier let the right profile lead at each stage.

Public facts that give context

Many large organizations run several people systems at once, usually a human resources platform, a directory, and a handful of specialized tools. Okta, founded in 2009, built its business on connecting such systems to cloud applications, and its Universal Directory is designed to hold a single profile per person. The detailed setups of specific customers are not public, so the stories above remain fictional.

Priority does not make your systems agree. It makes sure that when they disagree, the right one is heard.

29Frequently Asked Questions

Quick answers to the questions that come up most often.

Q1What is profile source priority in one sentence?
It is the ranking you give to the systems that feed Okta, so that when several systems describe the same person, Okta knows whose data to trust first.
Q2Is a profile source the same as the place where passwords are checked?
No. A profile source supplies profile attributes. Passwords are judged by an authentication source, which may be Okta or a directory. The two can be different systems.
Q3Which system should be the top source?
The one where a fact is first entered by someone with the authority to enter it. For employees, that is usually the HR system. For technical login details, it is often the directory.
Q4Do I need priority if I only have one source?
No. With one source there is nobody to disagree with. Priority becomes important when two or more systems can describe the same person.
Q5What is the difference between priority and attribute-level sourcing?
Priority ranks sources for the whole person. Attribute-level sourcing lets you pick a source for each individual attribute. Many designs use both together.
Q6Why does a value keep changing back after I fix it?
Another writer is overwriting it, such as a second source, a mapping, or a person editing in Okta. Read the user’s log history, name both writers, and make one of them the owner.
Q7Can a top-ranked source still change nothing?
Yes. Priority decides who wins, but mappings decide which fields actually move. If a field is not mapped or is not allowed to update, the top source will not change it.
Q8How fast do changes in the HR system reach Okta?
They arrive when the next import or event runs, so the delay depends on your schedule. For urgent cases, an administrator can run an import by hand or act directly in Okta.
Q9What happens when the top source removes a person?
It depends on your configuration. You may deactivate the user, let a lower source keep them, or take other steps. Test this case with sample users, and add alerts for sudden mass removals.
Q10How do I avoid duplicate profiles?
Use a stable, unique identifier such as an employee number for matching, keep it clean at each source, and review unmatched records after each import.
Q11Is it safe to change the order in production?
It can be, with preparation. Estimate the impact, test with a small group, schedule a quiet window, record current values, and write the rollback steps first.
Q12Do exact menus and options stay the same over time?
No. Names and behaviors can differ between Okta Classic and Identity Engine, and they change between releases. Use the concepts here as your guide and confirm the current screens in Okta’s documentation.

30Summary and Key Takeaways

The whole guide in one place.

Profile source priority is how Okta turns many competing voices into one trusted profile. It ranks the systems that feed Okta, works together with mappings and matching, and can be refined with attribute-level choices. Done well, it removes flapping values, protects access rules, and gives auditors a clear story.

A mental model to carry with you

When any profile question lands on your desk, sort it into one of four buckets. The first bucket is identity: is this the right person, and are the records linked correctly? The second bucket is authority: which source should speak for this fact? The third bucket is plumbing: is the field mapped, allowed to update, and flowing in the right direction? The fourth bucket is timing: has the next import or event actually run yet?

Most confusing situations turn out to be a mix-up between buckets. A duplicated person is an identity problem. A wrong title that keeps returning is an authority problem, often with a hidden second writer. A value that never arrives is a plumbing problem, usually an unmapped or read-only field. A leaver who still has access for a few hours may simply be a timing problem. Naming the bucket first tells you which logs to open and which team to call.

This model also helps when you explain the design to others. Managers care about authority because it is about risk. Data owners care about identity and quality because they are about accuracy. Platform teams care about plumbing and timing because they are about reliability. A good identity architect speaks to all of them, keeps the written ownership table up to date, and treats every change to a source, a mapping, or the ranking with the care it deserves.

Finally, remember the humble purpose behind all this machinery. Behind every profile is a real person who wants to start work on day one, reach the right tools, and lose nothing they need. A ranking that is clear, tested, and documented serves that person quietly, every single day.

Key Takeaways

  • One person, one profile. Okta keeps a single profile per person, and priority decides which source speaks first when several systems describe them.
  • Rank by true origin. Put the system where a fact is first entered with authority at the top, not the one that was connected first.
  • Matching comes before ranking. Use a stable, unique identifier such as an employee number so that the same person is always recognized.
  • Mappings decide the details. A top source changes only the fields that are mapped and allowed to update, so read priority and mappings together.
  • Keep profile and password separate. Profile sources feed attributes, while authentication sources judge passwords, and each needs its own design.
  • Plan for leavers and rehires. Test what happens when the top source removes a person, when a lower source disagrees, and when someone returns.
  • Govern and monitor. Document owners, change the order with care, watch for flapping and deactivation spikes, and confirm current behavior in Okta’s documentation.