Skip to content
All articles
Product31 October 2025·3 min read

The Feature You'll Rebuild Three Times: Authorization at Scale: Pavan Kulkarni at ERC

Every feature carries a maintenance bill that comes due long after the launch post.

Paycux engineering

Every feature carries a maintenance bill that comes due long after the launch post. The useful discipline is deciding, up front, who is going to pay it.

This piece walks through how we think about it at Paycux, what we have changed our minds about, and where the sharp edges are.

The Question That Sets the Stage

Consider the question that sets the stage. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Why Enterprises Care About Authorization

That brings us to why enterprises care about authorization. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

  • Choose defaults as carefully as features
  • Settle the name before you ship the thing
  • Ship the smallest honest version
  • Say plainly what the feature does not do

The Figma Case Study: Eight Years of Authorization Evolution

The Figma Case Study: Eight Years of Authorization Evolution is where this gets concrete. Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Day One: Primitive Permissions

Day One: Primitive Permissions deserves its own treatment. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Naming is design work.

Year Two: Organizations and Roles

Year Two: Organizations and Roles is where this gets concrete. Defaults are the product. Most people will never open the settings screen, which means the behaviour you chose for them is the behaviour they will experience forever.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Year Three: User Groups

Year Three: User Groups is where this gets concrete. Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Year Four: Custom Roles and Role Inheritance

That brings us to year four: custom roles and role inheritance. Naming is design work. If the team argues about what to call something, the disagreement is usually about what it is, and shipping before that is settled means shipping the confusion to customers.

Ship the smallest version that is honest about its limits. A feature that does one thing completely beats one that does five things with an asterisk on each.

Where this leaves us

The pattern repeats across every system we have looked at: the hard part is not the mechanism, it is keeping the mechanism honest as the surrounding assumptions change.

If you are working through the same problem and want to compare notes, the docs cover the mechanics and the console shows the behaviour on your own data.

Everything here, already built

Sign-in, enterprise SSO, directory provisioning, roles and an audit trail behind one API. Start with the quickstart and have a working sign-in this afternoon.

Start selling to enterprise customers

Create an account, point sign-in at Paycux, and get back to the part of the product that is actually yours.