Personal Accounts
Manage personal account features including dashboard, profile, settings, and account deletion.
Every MakerKit user gets personal account context automatically on sign-up. Personal settings - profile, security, preferences - remain separate from organization workspaces and stay available at /settings whether you're using personal-only or organizations-enabled mode.
A personal account is the individual workspace created for each user at sign-up, containing user-specific data and settings distinct from shared team accounts.
Features
- ✅ Personal dashboard (with mock data, for demonstration purposes)
- ✅ Profile management (name and image, account deletion)
- ✅ Security settings (password, email, MFA)
- ✅ Custom account deletion policies
Topics
- Dashboard - Personal dashboard
- Profile Settings - Name and image
- Security Settings - Password, email, MFA
- Preferences - Theme and language
- Authorization Policies - Custom account deletion rules
Common Pitfalls
- Confusing personal context with organization context: Personal mode is derived from the current session having no active organization. Organization mode uses
session.activeOrganizationId. - Forgetting personal accounts exist in organizations-only mode: Users still have personal accounts - they're hidden from navigation but accessible at
/settings. Account deletion still applies. - Deleting personal account without understanding cascade: Deleting a personal account deletes the user entirely. There's no soft delete by default - implement one if you need account recovery.
- Assuming a shared
accountstable exists: Personal context comes from the authenticated user plus active organization state, not from a separate personal-account row.
Frequently Asked Questions
What is the difference between personal accounts and team accounts?
Personal accounts store individual user data (profile, preferences, security settings) and are created automatically at sign-up. Team accounts are shared workspaces for collaboration with multiple members, roles, and shared billing.
Can I disable personal accounts entirely?
No. Every user has a personal account for identity management. In organizations-only mode, the personal dashboard is hidden but settings remain accessible at /settings.
How do I detect personal context in code?
Use getAccountContext() on the server or useAccountContext() on the client. Personal context means there is no active organization in the current session.
What happens when a user deletes their personal account?
The user and all associated data are permanently deleted. Active subscriptions must be cancelled and owned organizations transferred first. This behavior is controlled by authorization policies.
Is there a separate personal-account row in the database?
No. Personal context is derived from the authenticated user and the absence of an active organization. Organizations are stored separately and joined through memberships.
Next: Dashboard →