Skip to main content
A common mistake in SaaS apps is putting everything on the User model: subscription status, quotas, assets, preferences. Three problems follow.
  • Sharing becomes impossible. Subscriptions are locked to one person, so family and team plans have nowhere to live.
  • Profile switching breaks. There is no way to hold separate preferences per context.
  • Billing gets tangled. Transferring a subscription or handling a corporate account means moving rows between users.
Separating authentication (User) from content ownership (Account) from billing (Subscription) avoids all three.

The four models

Projects, documents and assets belong to an Account rather than a User, in the way Netflix profiles belong to a household.

What the split gives you

  • One user can reach several accounts, personal and work.
  • Several users can share one account, which is how a family plan works.
  • Subscriptions transfer cleanly when ownership changes.
  • Content queries scope to an Account instead of scattering across Users.
  • Team features arrive later without a schema change.
Use this pattern for any app with subscriptions, quotas, shared resources, or where users might want separate workspaces or profiles.