Core Identity Hub · Technical governance
One identity across systems does not mean one permission model
Single sign-on is the visible part of identity architecture. The difficult work is keeping provider assurance, internal identity, lifecycle synchronisation, tenancy, and domain authority separate enough to remain trustworthy.
The misleading success
A successful login answers the smallest identity question
The browser returns from Microsoft, Google, MitID, or another provider. The signature is valid. A name and identifier are present. The user sees the application. It is tempting to call the integration complete because this is the moment everybody can observe.
What the application actually learned is narrower: one provider made one assertion about one session under one assurance context. It has not learned whether this is the same person who used another provider last month, which organisation they currently belong to, whether an upstream suspension has arrived, or whether they may approve a payment inside this product.
Identity architecture fails when proof of personhood is allowed to become proof of authority by convenience.
Responsibility map
Four truths travel together. They should not be owned together.
01 · decision
Provider assurance
How the person proved who they are, and at what assurance level.
02 · evidence
Canonical identity
Which stable internal person or organisation the assertion maps to.
03 · decision
Lifecycle state
Whether the account is current, changed, suspended, or no longer present.
04 · refused
Domain authority
What this person may decide inside this product, tenant, or workflow.
The filled final block is deliberate: authority terminates in the product. The hub supplies identity context; it does not grant domain power.
The stable boundary
Normalise identity, not assurance
A provider-neutral hub gives products a stable internal subject and a consistent way to receive identity context. Its provider boundary is designed to support MitID, workforce Microsoft accounts, and consumer Google accounts, resolving them to the same internal person while preserving the assurance context, contractual constraints, and recovery properties that make those assertions meaningfully distinct.
Preserve those properties in the identity envelope. The product may not care during an ordinary read, but a high-impact action may require recent authentication, a particular provider, or a stronger assurance level. Provider neutrality means the product does not implement every protocol. It does not mean every assertion becomes equivalent.
Consider how this operates across independent products in the ecosystem: an operator in Garage CRM holds authority over vehicle reservations, rental contracts, and asset releases. That same person authenticated in Grand Total holds authority over member subscriptions, payment reconciliations, and financial reporting. The hub normalises who they are; the products retain complete, independent ownership of what they are allowed to decide.
| Layer | Owns | Must preserve |
|---|---|---|
| Identity provider | Authentication ceremony and provider account | Provider identifier, time, method, and assurance context |
| Core Identity Hub | Mapping, federation boundary, and stable internal subject | Provenance, link history, lifecycle state, and conflicts |
| Directory sync (SCIM) | Upstream attributes, provisioning, and affiliation changes | Source ownership, timestamps, deletions, and reconciliation outcome |
| Domain product | Tenant membership, roles, delegation, and approval authority | Why access was granted and which local rule allowed it |
Two paths
Sign-in is immediate. Synchronisation is reconciled.
Interactive sign-in
01 · decision
Provider assertion
A signed assertion arrives with provider-specific context.
02 · evidence
Mapping
The hub resolves it to a stable internal identity.
03 · decision
Product session
The product evaluates local tenancy and authority.
Lifecycle reconciliation
01 · decision
Directory change
A profile, affiliation, or active state changes upstream.
02 · decision
Conflict check
The hub compares source time, ownership, and previous state.
03 · refused
Apply or quarantine
Safe changes propagate; ambiguous ones become visible work.
Synchronisation
A directory event is not an instruction to overwrite the product
User information can arrive through provider claims, administrative APIs, scheduled imports, or a provisioning protocol such as SCIM where the provider supports it. These mechanisms do not remove the source-of-truth question. They make it unavoidable.
Each field needs an owner. A legal name may belong upstream. A preferred display name may belong to the product. Employment status may suspend workforce access while a historical approval record must remain attributable to the same person. Deletion may mean deactivate, unlink, anonymise, or retain under another obligation. “Keep users in sync” is not a rule until those decisions are explicit.
- Treat provisioning messages as idempotent: repeats must not create a second identity or reapply a completed transition.
- Quarantine ambiguous links rather than merging people on a convenient email address.
- Record the source and time of every attribute that may be overwritten.
- Separate loss of upstream access from deletion of domain history.
- Run reconciliation so missed events become visible instead of permanent drift.
Linking and recovery
Account recovery is where identity mappings are put under pressure
Provider federation works cleanly while every person keeps one account and every identifier remains stable. Recovery breaks that assumption. A person loses a device, changes employer, receives a new provider account, or returns after an account was deactivated. The convenient response is to link on email address. That is also how two people can be merged when an address is recycled, renamed, or entered incorrectly.
Linking therefore needs evidence separate from sign-in. A provider assertion can prove control of the new account; it does not prove that the new account should inherit the history and authority of an existing internal subject. Depending on consequence, a safe link may require an authenticated session on both accounts, an organisation administrator, an out-of-band recovery process, or manual review. The hub should record who approved the link, which evidence was present, and which previous mappings were replaced.
| Recovery situation | Unsafe shortcut | Required control |
|---|---|---|
| New provider account | Match the existing subject on email alone | Verify both identities or route the proposed link for review |
| Organisation transfer | Carry previous tenant roles into the new affiliation | Create the new membership explicitly and retain the old one as history |
| Lost authenticator | Let product support bypass provider recovery | Keep authentication recovery with the provider and product authority with the product |
| Incorrect merge | Delete one mapping and continue | Suspend affected access, restore mapping history, and review actions made under the merged identity |
Recovery also needs a product response. If an internal subject is suspended because its mapping is disputed, connected products must know whether to end sessions immediately, block only high-impact actions, or permit read-only access while an investigation runs. That decision cannot be improvised during an incident. It belongs in the identity contract and should be exercised before the first real account dispute.
Failure design
The dangerous identity failures look successful
An unavailable provider is obvious. The subtler failures are a stale role that still works, two provider accounts linked to the wrong person, a deactivation event that never arrived, or a tenant switch that reuses authority from the previous organisation. These cases return valid tokens and ordinary HTTP responses. Availability monitoring will not find them.
| Failure | Containment | Operational signal |
|---|---|---|
| Ambiguous account link | Refuse automatic merge; require a reviewed link | Quarantine queue age and repeated match attempts |
| Missed deactivation | Reconcile active subjects against the upstream source | Drift count, oldest unresolved drift, high-risk active drift |
| Provider unavailable | Retain only the session behaviour the risk model permits | Provider error class, affected login path, recovery time |
| Wrong tenant context | Bind tenant selection and local authority into each decision | Cross-tenant denial events and context-switch anomalies |
| Compromised mapping | Suspend the internal subject and preserve audit history | Mapping changes, emergency suspensions, linked provider count |
Operations
Run identity as a control plane, not a login library
The hub needs ownership beyond feature delivery. Provider keys and certificates rotate. Claim shapes change. Organisations rename, merge, and split. Accounts are recovered. Linking rules evolve. Each change can affect every connected product, while the products still carry different consequences for being wrong.
Operate the hub with versioned adapters, synthetic sign-in checks, reconciliation jobs, an auditable mapping history, and a defined emergency path for suspending an internal subject. Provider incidents should show which products and authentication paths are affected. Recovery should distinguish restoring sign-in from repairing identity drift created during the incident.
The hub should make a provider replaceable without making identity history disposable.
The counter-case
One product and one provider may need no hub
A single application with one stable provider, no cross-system identity, and a small user lifecycle may be clearer when it integrates directly. A hub added before there is a second consumer can create mapping, availability, and operational work without removing any real duplication.
The threshold is not a number of login buttons. It is the first repeated identity decision: a second product, a second provider, a shared person represented differently, or an assurance rule several systems would otherwise interpret independently. That is where a stable boundary begins to pay for itself.
Let's talk about your challenge
If your organization is working with complex digital systems or exploring operational AI, we are always open to a conversation.