Organizations
Multi-tenant workspaces — OrganizationService, membership, signup mechanisms, domain-based auto-join, and organization-scoped permissions.
Overview
Organizations are the top-level grouping for teams working together in Bosca. Each Organization has its own members, permissions, and content. Organizations extend PermissibleEntity, so all standard permission checks apply.
Organization Model
profileId) that serves as its public identity — name, logo, description, and other attributes. Membership
Members are Principals linked to an Organization. Membership is stored as a simple join record:
Permissions within an Organization are granted to groups, not individual members. Members inherit access through their group memberships.
Signup Mechanisms
Bosca supports three ways to add members to an Organization:
1. Signup Tokens
Time-limited invitation codes that grant membership and assign the new member to a specific group.
2. Signup Emails
Whitelist specific email addresses for auto-approval. When a user signs up with a matching email, they are automatically added to the Organization.
3. Domain Auto-Join
Link an email domain (e.g., example.com) to an Organization. Any user who signs up with a matching domain is automatically added.
Organization Permissions
Permissions are granted at the Organization level to groups. Each permission record maps a group to a PermissionAction:
Since Organization extends PermissibleEntity, the standard decision chain applies — public access flags, group checks, and role-based fallbacks all work the same way.
Details & Contacts
Organizations can store structured details and contact information via OrganizationDetails and OrganizationContact. These provide additional metadata beyond what the linked Profile holds.
OrganizationService
How It Fits Together
Organizations sit at the intersection of security and social features:
- Principal (security identity) → is a Member of an Organization
- Organization → has a linked Profile (public identity)
- Groups → scoped within the Organization for permission grants
- Signup mechanisms → control how Principals join the Organization