Leave Localhost logoLeave LocalhostDocs
Multi-tenancy

Switching to Personal Mode

If your product is a B2C application or a prosumer tool where users do not collaborate with others, you don't need Team Workspaces.

If your product is a B2C application or a prosumer tool where users do not collaborate with others, you don't need Team Workspaces.

You can configure the starter to operate in "Personal Mode" with a single flag.

How to Switch

Open packages/backend/convex/organizations/config.ts and change organizationConfig to:

export const organizationConfig: OrganizationConfig = {
  mode: "personal",
  showSwitcher: "whenMultiple",
  allowInvitations: false,
  allowMemberManagement: false,
  teams: false,
};

What Happens

  1. Workspace Creation is Disabled: The UI to create new workspaces will be hidden, and the createWorkspace mutation will throw an error if called.
  2. Invitations are Disabled: The UI to invite members will be hidden, and the inviteMember mutation will throw an error.
  3. Member Management is Disabled: The members list in settings becomes read-only (or hidden entirely), and role-update/removal mutations throw errors.
  4. Switcher Hides: The workspace switcher in the sidebar will hide itself because showSwitcher is set to "whenMultiple" and users will only ever have their one personal workspace.

Under the Hood

The system still uses Better Auth Organizations under the hood. Every user still gets a "Personal Workspace" automatically created upon signup.

This design choice ensures that if you decide to pivot to B2B or add team collaboration later, your data model is already multi-tenant. You won't need to run a complex migration to move data from a "user" scope to an "organization" scope — you just flip the flag back to "team".

On this page