- 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.
The four models
User: authentication identity only
User: authentication identity only
Account: where content and quotas live
Account: where content and quotas live
Projects, documents and assets belong to an Account rather than a User, in the way
Netflix profiles belong to a household.
AccountUser: many-to-many with roles
AccountUser: many-to-many with roles
Subscription: billing attached to the Account
Subscription: billing attached to the Account
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.