Overview
Organizations provide multi-tenant isolation in NeoSC, allowing you to separate users, workspaces, and resources by organizational boundaries. Each organization has its own domain, user pool, and workspace allocation.Organization Model
The organization object tracks key metrics and configuration:backend/server.py:105
Use Cases
Enterprise Departments
Separate IT, Finance, and HR departments with isolated workspaces and users
Multi-Customer SaaS
Provide each customer with their own isolated environment
Development Environments
Isolate dev, staging, and production teams
Partner Access
Grant external partners access to specific workspaces
Listing Organizations
Retrieve all organizations accessible to the authenticated user:Response Example
Default Organization
When a user registers without specifying an organization, they’re assigned to a default organization:backend/server.py:747
User Registration with Organization
Assign users to organizations during registration:backend/server.py:147
SSO Organization Mapping
When using Zitadel SSO, organizations are automatically extracted from the OIDC profile:backend/server.py:228
Zitadel organizations are mapped using the
org claim or urn:zitadel:iam:org:id from the OIDC token.Organization UI Display
The frontend displays organizations with metrics and visual cards:frontend/src/pages/OrganizationsPage.jsx:68
User-Organization Relationship
Each user belongs to exactly one organization:backend/server.py:41
Workspace Isolation
While the current implementation shares workspaces globally, you can implement organization-specific workspace filtering:Workspace Filtering Example
Creating Organizations (Future)
Organization creation will be available for admin users:frontend/src/pages/OrganizationsPage.jsx:46
Organizations are automatically created during user registration and SSO login. Manual organization creation through the UI is not currently available.
Audit Trail
All organization-related activities are tracked in audit logs:Example Audit Events
Multi-Tenancy Architecture
Domain-Based Access
Organizations use domain-based identification:Example: Domain Validation
Best Practices
Organization Design
Organization Design
- Use meaningful organization names that reflect business structure
- Map domains to corporate email domains for SSO integration
- Keep organization structure flat to avoid complexity
- Plan for growth by reserving workspace capacity
User Management
User Management
- Assign users to organizations during onboarding
- Use SSO organization claims for automatic assignment
- Monitor user_count metrics for license compliance
- Implement organization-level admin roles
Resource Allocation
Resource Allocation
- Allocate workspaces based on organization size
- Set workspace quotas per organization
- Monitor workspace_count for capacity planning
- Implement billing based on organization metrics
Security
Security
- Enforce organization boundaries in all API endpoints
- Validate user organization membership before access
- Audit cross-organization access attempts
- Implement organization-specific security policies
Metrics and Reporting
User Count
Track the number of users per organization:Calculate Users Count
Workspace Count
Monitor workspace allocation:Calculate Workspaces Count
Future Enhancements
Custom Branding
Organization-specific logos, colors, and themes
Resource Quotas
Set CPU, memory, and storage limits per organization
Billing Integration
Per-organization usage tracking and billing
Organization Admin
Dedicated admin role for organization management
Related Resources
Users & Authentication
User registration and SSO integration
Workspaces
Workspace allocation and management
Security Policies
Organization-level security configuration
Audit Logs
Track organization activities