Expert insight — CIAM, multi-tenancy and AI products

CorgiBOX only wanted to add login. It ended up building a CIAM.

When CorgiBOX launched, identity was not a strategic topic. CorgiBOX is a fictional AI-backed platform built around the canine ecosystem: individuals initially use it to organise and share content, while AI helps classify, retrieve and use that information.

At first, one person is one account

To get the product to market quickly, the team chooses a modern stack and an integrated authentication service. Email. Google. Password recovery. Sessions. The requirement is covered, and it is probably the right decision. The problem starts later, when CorgiBOX continues to treat this layer as “login” while the business around it has changed.

The first version implicitly relies on a very simple model: one email address is one person, one person is one account, one account is one workspace, and the user has a few permissions.

Then CorgiBOX grows. An association wants a shared organisation. A veterinary clinic needs multiple users. A brand wants to separate its French and Belgian teams. A consultant belongs to several customer organisations. An administrator needs to invite colleagues without being able to access all of their data.

The user table is no longer enough. CorgiBOX adds organisations, memberships, invitations, roles, an active tenant and additional access rules. Every addition makes sense. But identity has already changed in nature.

Alice is no longer simply user_123. She is a person who may have several ways to sign in, belong to several organisations and hold different roles depending on the context. Disabling Alice for one customer must not necessarily delete Alice from CorgiBOX. An organisation is not merely an organization_id column.

Then delegation arrives

Professional customers start using CorgiBOX for more sensitive processes. An association manager wants a volunteer to handle certain cases for two weeks. A clinic wants a contractor to access only one category of content. A brand wants an agency to administer part of its workspace without granting internal administrator privileges.

The product now needs to represent who delegated access, to whom, in which organisation, for which scope, for how long and with what responsibility. Revoking that delegation must not delete the person or break their other memberships.

Authorisation is no longer simply a property of the user. It becomes a relationship.

The first enterprise customer brings SSO and SCIM

The first large customer has a perfectly reasonable requirement: “We use Microsoft Entra. We need SSO. And when an employee leaves our company, their access must be removed automatically.”

CorgiBOX adds SAML or OIDC federation. Then SCIM provisioning. And new questions appear.

What happens to a user who already signed up with Google before SSO was enabled? Should the accounts be linked, based only on the email address? Which mechanism actually creates the membership: an invitation, first SSO login or SCIM? What happens when a group changes in the customer directory? How do we disable only this customer membership without deleting the global account? What should the customer's own IT administrator be allowed to configure?

Then a second enterprise customer arrives with another identity provider, another group model and different attributes. Then a third.

SSO is no longer a feature. It has become a customer onboarding and operations process.

Fraud and identity proofing create another state machine

As CorgiBOX succeeds, some operations become more sensitive. Changing professional account details. Exporting large volumes of data. Granting significant delegation. Changing billing information. Recovering an administrator account.

Successful authentication is no longer enough to answer: “Should this operation be allowed right now?”

CorgiBOX gradually adds device checks, risk signals, MFA, step-up authentication, an identity proofing provider, manual review and stronger account recovery controls.

The same user now has an identifier in the authentication platform, another inside CorgiBOX, a verification case with a specialist provider and several risk events. None of these products is necessarily the problem. The difficult part is deciding how their decisions fit together and which person, organisation and action they relate to.

The problem is no longer just authentication. It is identity orchestration.

Then the AI agent starts to act

Until now, CorgiBOX AI mostly assisted the user. Now it acts. One agent classifies content automatically. Another retrieves information from an external service. An assistant can prepare an action for the user to approve. Some workflows run asynchronously.

The old user_id + session model reaches another limit. The system must answer four different questions: who requested the action? Who actually executed it? For which organisation? Under which delegation and for how long?

The agent needs its own technical identity. But it must not become a super-user. Its actions need to remain attributable to a human, a tenant, a policy, a scope and a duration.

The audit trail should be able to explain that Alice requested an action, a CorgiBOX agent executed it, for Acme, within a defined scope, under an authorisation that was still valid at execution time. For an AI-backed company, this question can arrive much earlier than expected.

What the team still called “auth”

By now, CorgiBOX actually operates several identity subsystems.

  1. 01

    Canonical identity

    A reference identity and an account-linking model.

  2. 02

    Organisations and relationships

    Organisations, memberships, roles and delegations.

  3. 03

    Enterprise

    SSO connections, provisioning and customer administration.

  4. 04

    Risk

    Fraud, proofing, MFA and recovery journeys.

  5. 05

    Machines

    Technical identities for agents and services.

  6. 06

    Operations

    Events, reconciliation, audit, support and day-to-day operations.

The problem is not necessarily the number of vendors: a sound architecture can absolutely combine specialist products. It appears when no one can answer simple questions: what is the reference identity? Which system is authoritative for each attribute? Who creates and removes a membership? What exactly does “disable this user” mean? Which event wins when two systems disagree? Which sessions, delegations and agents must be revoked when a person leaves? Which system produces the reference audit trail? CorgiBOX did not add six independent features: it progressively created several competing versions of the truth about the same identity.

The false economy is not the licence you avoided

At every stage, building internally may have appeared cheaper. One more table. One webhook. One script. One administration component. One additional API check. One specialist provider connected in a few days. Taken individually, all of these developments may be reasonable.

Their real cost eventually appears elsewhere: webhooks that need replaying, account repair scripts, session incidents, duplicate accounts, customer-specific SSO mappings, support tickets, regression testing, security work, audits, and above all product engineers who are no longer building the product.

Build versus buy is therefore not really a comparison between a paid licence and a free solution. It often compares an identity platform industrialised by a vendor with a proprietary identity platform the company never intended to build, maintain and operate.

“We will just move from Supabase to Clerk” does not necessarily solve it

Moving from one developer-first identity component to another can be perfectly sensible. One team may want control over sessions. Another wants better organisation components. Another wants fewer webhooks. Another wants authentication closer to its database. Those are genuine architectural decisions.

But they mainly answer: “Which component should manage login, users or sessions?”

They do not automatically answer these: what is a person in our system? Is identity global or tenant-specific? How do joiner, mover and leaver processes work? How do customer directory groups become CorgiBOX roles? Who administers enterprise connections? When do we trigger step-up authentication? How do we revoke every delegation attached to a person? How do AI agents inherit authority without inheriting every permission of their owner? And how do we operate all of this tomorrow morning?

A true CIAM becomes relevant when these questions are more important than the login SDK itself.

A SaaS CIAM does not remove complexity. It stops you recoding it everywhere.

Moving to a CIAM platform from a vendor such as Ping Identity or Auth0/Okta does not make the project automatic. Design is still required. Sources of truth must be defined. People, accounts, organisations, memberships, roles and delegations need a model. Journeys must be designed. Federation must be configured. Account-linking rules must be defined. Migration must be prepared. Applications and APIs must be integrated. The result must be tested and operated.

The important difference is that the company progressively stops rebuilding generic identity-platform capabilities and relies on a vendor product designed to industrialise and evolve them.

Specialist fraud, identity-proofing or authorisation providers do not necessarily disappear. The CIAM can become the coherent point from which journeys, policies and assurance levels are orchestrated.

Supabase, Neon or CIAM: how do you know when the model needs to change?

Choosing built-in authentication at launch was probably not a mistake. Supabase, Neon and other developer-first services answer a very common need extremely well: shipping a product with accounts, sessions and sign-in journeys without building that infrastructure yourself.

The real question comes later: is my problem still authenticating my application, or am I now building an identity platform?

Here are the signals that tell the two apart.

Was it a mistake to launch on Supabase Auth or Neon Auth?

No. For a young product, built-in authentication is often exactly the right call. It lets the team spend its energy on what actually differentiates the product rather than on generic login, session and account-recovery plumbing.

So the question is not “should we have bought a CIAM on day one?” — the answer is usually no. The better question is: are the assumptions that made our architecture simple still true?

As long as one user is essentially one account, organisations and roles stay simple, journeys are the same for every customer and the team still controls the lifecycle easily, staying on built-in authentication is perfectly rational.

The move towards CIAM happens when complexity comes less from signing in and more from the relationships between identities, organisations, entitlements, policies, customers and external systems.

Your first architecture has not necessarily become bad. Your company simply changed problem.

When can I reasonably stay on Supabase or Neon?

Staying on built-in authentication generally remains coherent when:

  • the product is one or a few main applications;
  • user identity stays simple and largely tied to the product;
  • multi-tenancy is limited or easy to model;
  • roles are few and understandable;
  • invitations and memberships are owned by the application;
  • customers do not each require their own identity policies;
  • provisioning and deprovisioning are not a critical process;
  • fraud, verification and step-up needs remain limited;
  • account-related support volume stays low;
  • the team does not spend a recurring share of its sprints repairing or extending identity.

User volume should not be the primary criterion. A relatively simple consumer application can have many users and remain a perfect fit for built-in authentication.

Conversely, a B2B SaaS with comparatively few users may need a CIAM early if it serves a handful of demanding enterprise accounts.

What are the first signs that my authentication is becoming a home-grown CIAM?

The most interesting signal is not one isolated feature. It is accumulation.

You started with organisations. Then memberships. Then invitations. Then an administrator role. Then several roles per organisation. Then a customer asked for enterprise SSO. Another asked for provisioning. You added specific account-recovery rules. Then a fraud engine. Then identity proofing. Then AI agents that need to act on behalf of users.

At every step the work looks reasonable. Now look at your backlog. If topics like these keep coming back:

  • account linking;
  • stuck invitations;
  • duplicate accounts;
  • sessions and revocation;
  • enterprise SSO;
  • SCIM provisioning;
  • groups and roles;
  • delegation;
  • audit;
  • customer administration;
  • fraud;
  • recovery;
  • agent identity;

then your team is no longer simply integrating authentication. It is progressively building and operating its own IAM/CIAM system.

Should I move to a CIAM as soon as I need SSO or multi-tenancy?

No. A single need for SSO, organisations or multi-tenancy is not enough on its own to justify a migration. You have to look at the whole model.

One customer using an enterprise connection can be handled perfectly well inside the current architecture. The situation changes when the need becomes repetitive and structural: every new customer brings its own identity provider, its groups, its onboarding rules, its deprovisioning constraints, its administrators, its audit requirements and its exceptions.

CIAM becomes interesting when the company has to turn those exceptions into a repeatable, industrialised capability.

Put differently: the first enterprise SSO is an integration. The tenth may be a platform — and “ten” is an illustration, not a threshold.

Is moving from Supabase or Neon to Clerk, Better Auth or another service enough?

It can genuinely solve a specific problem. A team may want a better developer experience, more control over sessions, better organisation components or an architecture closer to its database. Those are legitimate choices.

But two decisions need to be told apart. First: which component should authenticate our users? Second: how do we want to manage identity across our product and our customers?

Changing the component can answer the first without answering the second. If the real problems are now sources of truth, identity reconciliation, joiner / mover / leaver, organisations, delegation, per-customer policies, fraud, provisioning, non-human identities and audit, then the debate is no longer about the authentication library. It is about identity architecture.

Which needs genuinely tip the decision towards a SaaS CIAM?

Several combined signals justify studying a CIAM seriously:

  • many B2B customers with their own identity providers;
  • SAML or OIDC SSO repeated customer by customer;
  • automated provisioning and deprovisioning;
  • group or role synchronisation;
  • administration delegated to customer IT teams;
  • users belonging to several organisations;
  • policies that differ per tenant;
  • several applications or APIs sharing the same identity;
  • step-up or different assurance levels depending on the action;
  • orchestration with fraud or identity proofing;
  • strong audit and revocation requirements;
  • machine identities or AI agents acting under delegation;
  • contractual commitments about how identity behaves;
  • a visible rise in engineering time spent on the topic.

It is not the number of users that triggers CIAM. It is the number of relationships, policies and responsibilities around those users.

How do I know a CIAM will really cost less than what I build today?

Do not compare only a CIAM licence against the current price of Supabase, Neon or your authentication component. That comparison misses the point.

Add up the real cost of the identity platform your team already operates: identity feature development, maintenance, upgrades, support, SSO onboarding, repair scripts, incidents, security, audits, testing, observability, availability, and the time spent understanding inconsistent states between systems.

And above all: what is the opportunity cost of a product engineer spending their time on identity instead of what makes your product different?

A CIAM is not automatically cheaper. But when a company progressively rebuilds generic identity capabilities, the economic comparison has to cover the full cost of the system, not the monthly price of the first auth service picked at launch.

I recognise CorgiBOX in my architecture. Should I migrate everything now?

No — that is precisely what to avoid. The right first move is to map what exists:

  • identities;
  • organisations;
  • applications;
  • roles;
  • connections;
  • events;
  • external providers;
  • delegations;
  • agents;
  • and the main operational pain points.

Then define the sources of truth and the target model. Several existing components can stay exactly where they are. The application database does not have to become a CIAM database. A specialist fraud engine can stay specialist. Supabase or Neon can keep hosting application data even as identity is progressively externalised.

The goal is not a big bang. The goal is to gradually move out of the product the identity responsibilities that no longer justify custom development. That is where a well-designed CIAM programme starts.

Access Management and CIAM offering

This sounds like my situation. How do I start?

The first step is not to pick a vendor. It is to understand what your product has already built, what should stay inside the application and what should be industrialised.

At Ariovis, we usually start with a 30-minute conversation: we walk through your current architecture, your pain points and your goals to separate component choices from identity architecture issues.

No sales pitch. The goal is to help you get the diagnosis right and choose the right scope of work — whether we continue together or not.

Book a 30-minute slotAccess Management and CIAM offering

Neon / Supabase or CIAM: a simple decision matrix

Stay on built-in authentication

  • simple identity;
  • one main application;
  • simple organisations;
  • simple roles;
  • very little enterprise SSO;
  • no critical provisioning;
  • little identity-related support;
  • few differences between customers;
  • the product team is rarely pulled into these topics.

Carry on. Your architecture still fits your problem.

The problem is changing nature

  • multi-organisation is now common;
  • first enterprise accounts;
  • several SSO connections;
  • complex invitations and account linking;
  • groups / roles coming from external systems;
  • first delegation needs;
  • first risk-based journeys;
  • several applications or APIs;
  • developers regularly pulled into identity work.

You do not necessarily need to migrate. But define your canonical model and your sources of truth before adding the next component.

Identity has become a platform

  • industrialised SSO;
  • provisioning / deprovisioning;
  • delegated administration;
  • per-organisation policies;
  • strong revocation requirements;
  • orchestrated fraud / proofing / step-up;
  • several apps and APIs;
  • humans, machines and AI agents;
  • audit requirements;
  • customer commitments;
  • a significant, recurring share of engineering effort spent on identity.

At this stage, continuing feature by feature often means funding your own CIAM.

If you sit in the amber or red zone, the first step is not necessarily to choose Ping, Okta or another product.

The first step is to understand what your product has already built, what should stay inside the application and what would now benefit from being industrialised. That is exactly where CIAM architecture and integration work begins.

How Ariovis would evolve CorgiBOX

At Ariovis, the first step would not be to immediately replace everything CorgiBOX already has. It would be to understand what CorgiBOX has actually built: map identities, organisations, sessions, roles, events, delegations, providers, agents and journeys.

Then define a canonical model: Person, Identity, Account, Organization, Membership, Role, Delegation, Agent, Verification Case, Risk Decision. Then define an authority for each object and each decision.

Only after that should the target architecture be selected. Some existing components may remain. The business database can remain the business database. A specialist fraud engine can continue to serve its purpose. Microsoft Entra or Keycloak may remain relevant where they already solve a specific requirement. The CIAM becomes the coherent foundation that stops every new application and journey from reimplementing the same identity problems.

For Access Management and CIAM, Ping Identity is Ariovis' reference technology partner. But our role is not to drop a Ping licence into the customer environment. Ariovis scopes, designs, configures, integrates, migrates and tests the platform, then supports its production deployment in the customer's real environment.

The goal is to deliver a useful and operable first scope quickly, then extend it progressively rather than turning identity into a massive replacement programme. For a sufficiently defined scope, with explicit prerequisites and acceptance criteria, Ariovis can commit to the delivered outcome rather than simply selling a number of consulting days.

The vendor maintains and evolves its SaaS. Ariovis makes that SaaS fit the customer's product, business processes, risks and operating constraints. That is where the economics truly change: CorgiBOX engineers can go back to building CorgiBOX.

CorgiBOX did not make a bad decision at the beginning

Integrated authentication was appropriate for a young product that needed to launch quickly.

What changes the decision is not the number of users. It is the accumulation of relationships, journeys and responsibilities.

When CorgiBOX must simultaneously manage organisations, multiple identities, delegation, SSO, provisioning, fraud, sensitive recovery and agents acting on behalf of users, identity has become a platform.

What actually triggers the move to CIAM

Continuing to develop identity piece by piece can then cost far more than the licence the company originally thought it was avoiding.

You do not move to CIAM because you have many users. You move when identity has become a shared product the company must operate, audit, evolve and contract around.