Choosing Auth0 or Clerk for a Client's Custom Software
When a development shop picks Auth0 or Clerk for custom software and product engineering work, the decision isn't really the shop's to make alone. It's the client who inherits the ongoing subscription, the client's future team who has to maintain it, and the client's business that carries the risk if the handoff documentation is thin.
The pitfalls here are less about which tool is objectively better and more about the choices that feel convenient mid-project but create real problems after the engagement ends.
Vendors Covered in this Article
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
Why does picking the tool you know backfire on client projects?
It's natural to default to whichever identity provider your team has used on the last three projects. That's a reasonable starting point, but it stops being reasonable if the client's in-house team, once they exist, has no one who's touched that tool before. Ask early in the engagement whether the client already has a preference, an existing account with either vendor, or an internal team whose skills should weigh into the choice.
If the client has no opinion and no existing infrastructure, Clerk's more opinionated setup is often easier for a small in-house team to pick up later than a deeply customized Auth0 rules pipeline that only your team fully understands.
Should the ongoing subscription cost be in the statement of work?
Identity infrastructure isn't a one-time deliverable, it's a recurring cost the client will carry long after your invoice is paid. Whichever tool you recommend, put a line in the proposal or statement of work naming it explicitly, so the client isn't surprised by a bill three months after launch that nobody flagged during scoping.
This is also where being upfront about tradeoffs builds trust: telling a client that Clerk's simpler setup might cost less to build but more to run at scale, or that Auth0's flexibility comes with real configuration time on your invoice, is the kind of specificity that separates a competent proposal from a templated one.
Pitfall three: shipping custom logic nobody can read after you leave
Auth0's actions and rules pipeline is genuinely powerful, and genuinely easy to leave undocumented. If your team writes custom token-shaping logic, multi-factor rules, or connection-level configuration, the client's future engineer needs to be able to find and understand it without asking you, because you may not be reachable by then.
Clerk's more constrained surface area reduces this risk somewhat, since there's less custom logic to document in the first place, but organization roles, metadata schemas, and webhook handlers still need the same treatment. Undocumented identity configuration is one of the most common sources of a costly rebuild a year or two after launch.
Pitfall four: not testing the account transfer process before you need it
Both vendors support transferring account ownership to the client, but the exact process, and what happens to API keys and webhook secrets during the transfer, is worth testing on a small project before you rely on it for a real handoff. A client locked out of their own identity provider account after a development shop's contract ends is an avoidable, entirely preventable failure.
Build the ownership transfer into your project timeline as its own step, not an afterthought you handle in the final week.
A pre-handoff checklist
Before you close out a project that includes identity infrastructure, confirm the following with the client:
- Account ownership has been transferred, and you've verified the client can log in and manage it independently
- Every custom rule, action, or webhook handler has a written explanation of what it does and why
- The ongoing subscription cost and who's billed for it is documented in writing, not just discussed verbally
- At least one person on the client's team has logged into the provider's dashboard and made a test change
- API keys and secrets used during development have been rotated so your team's credentials aren't still live in production
A handoff that went wrong, and what would have prevented it
A common version of this failure looks like this: a development shop builds a client's product on Auth0, writes several custom actions to enforce the client's specific role hierarchy, and hands the finished product over with a short README. Eighteen months later, the client wants to add a new user role, opens the Auth0 dashboard, and finds actions written in a coding style nobody on the current team recognizes, referencing variables with no comments explaining what they do.
The client ends up paying a different consultant to reverse-engineer the original team's work before they can safely make a change that should have taken an afternoon. None of this required an unusual amount of extra effort to prevent, just a short document written at the time the logic was built, explaining what each custom rule does and why it exists, saved somewhere the client's team would actually find it.
What Good Looks Like
A development shop that treats identity infrastructure as a real deliverable hands off a documented, client-owned account, with every custom rule or webhook explained in writing, so the client's future team can maintain it without needing to call back the original developers.
Building The Capability (5-Stage Skill Ladder)
How to Get Started
Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.
Vanta is worth recommending to clients pursuing SOC 2, since it plugs into whichever identity provider you set up for them.
Drata gives a client's future compliance team a way to monitor MFA and SSO settings without needing to understand the underlying configuration you built.
CrowdStrike is a reasonable recommendation for a client handling sensitive data through the software you've delivered, covering the endpoint side identity alone doesn't.
Frequently Asked Questions
Should we let the client choose between Auth0 and Clerk, or make the recommendation ourselves?
Make a specific recommendation with reasoning, but frame it around who will maintain the system after launch. A client with no in-house engineering team benefits from hearing that plainly, rather than a neutral list of pros and cons they have no way to weigh.
What happens if we build with Auth0's actions pipeline and the client's team can't maintain it?
This is the single most common source of a costly rebuild after handoff. Mitigate it with thorough documentation and, where possible, a short knowledge-transfer session with the client's future maintainer before the engagement closes, not just a written document they may not read closely.
Who should own the Auth0 or Clerk account during development, us or the client?
Set this up under the client's own account from day one when possible, with your team added as collaborators. It avoids a transfer step entirely and means the client never depends on your business staying operational to keep access to their own infrastructure.
About the numbers
This guide doesn't quote a sourced benchmark. Figures in it are estimates or general guidance, so check them against your own numbers.
Related Guides
Auth0 vs Clerk vs Stytch: CIAM Platform Comparison
Compare Auth0, Clerk, and Stytch for software engineering teams. Evaluate multi-tenant B2B auth, passkeys, enterprise SSO, and developer APIs.
What to Tell Clients Who Ask About Auth0 or Clerk
Straight answers to the questions clients actually ask an IT consultant or managed service provider about choosing Auth0 versus Clerk.
Database Infrastructure for Agencies Building Client Software
How custom software and product engineering shops should choose between Supabase and AWS RDS across client projects, handoffs, and ownership transfer.
CrowdStrike vs SentinelOne for Software Development Shops
A custom software agency's endpoint risk lives on contractor laptops touching multiple clients' code. Here is how CrowdStrike and SentinelOne fit that.
SOC 2 for a Custom Software Shop: Vanta, Drata or Secureframe
A worked look at SOC 2 for product engineering firms with multiple client codebases, and how Vanta, Drata and Secureframe handle it differently.
LaunchDarkly or Split When You Build Software for Clients
Custom software and product engineering shops need flags that separate a client's go-live date from a deploy. How LaunchDarkly and Split handle that gap.