Multi-tenancy Enterprise
Enterprise multi-tenant architecture for large organizations with multiple teams.
Architecture overview
Synjar uses workspace-level isolation for multi-tenancy:
Organization
├── Workspace A (Team 1)
│ ├── Documents
│ ├── Members
│ └── Settings
├── Workspace B (Team 2)
│ ├── Documents
│ ├── Members
│ └── Settings
└── Organization Settings
├── SSO
├── Audit Logs
└── Billing
Data isolation
Row-Level Security (RLS)
All data is isolated at the database level using PostgreSQL RLS:
- Users can only access data in their workspaces
- Queries are automatically filtered
- No cross-workspace data leakage possible
Storage isolation
- Each workspace has isolated storage paths
- Encryption keys are workspace-specific
- No shared storage between workspaces
Organization features
Centralized administration
Organization admins can:
- Create and manage workspaces
- Assign workspace owners
- Configure organization SSO
- View organization-wide audit logs
- Manage billing for all workspaces
Cross-workspace analytics
View usage metrics across all workspaces:
- Total documents
- Active users
- Search volume
- Storage usage
Workspace management
Creating workspaces
Organization admins:
- Go to Organization > Workspaces
- Click Create Workspace
- Assign name and initial owner
- Configure settings
Workspace limits
| Setting | Description |
|---|---|
| Max members | User limit per workspace |
| Max documents | Document limit per workspace |
| Max storage | Storage quota per workspace |
Transferring workspaces
Workspaces can be moved between organizations by contacting support.
Security model
Access hierarchy
Organization Admin
└── Can access all workspaces (admin view only)
Workspace Owner
└── Full control of single workspace
Workspace Admin
└── Manage content in single workspace
Workspace Member
└── View and search in single workspace
Cross-workspace access
By default, users only see workspaces they're members of. Organization admins have a separate admin view for oversight.
API multi-tenancy
API requests are scoped to workspaces:
# List documents in specific workspace
GET /api/v1/workspaces/{workspaceId}/documents
# API key inherits user's workspace memberships
Self-hosted multi-tenancy
For self-hosted Enterprise:
- Same RLS-based isolation
- Can deploy separate instances per tenant
- Custom data residency options