Overview
Sorcia is built as a multi-tenant platform where each organization has isolated data, integrations, and team members. This ensures complete data separation and security.Organization Structure
Creating an Organization
Every user who signs up creates their first organization:Organization Settings
Access via Settings → Organization:General Settings
Organization display name (editable by Owners/Admins)
URL-safe identifier (auto-generated, immutable)
Current plan: free, pro, or enterprise
Data Isolation
Each organization has:- Separate database - Row-level security (RLS)
- Own integrations - OAuth tokens per org
- Isolated documents - Can’t access other org’s data
- Independent billing - Separate Stripe customer
Organizations are completely isolated. No data sharing between orgs.
User Roles
Owner
- Full control over organization
- Manage billing and subscription
- Delete organization
- Assign/remove all roles
- Limit: 1-3 per organization
Admin
- Manage integrations
- Invite/remove members
- Configure settings
- View analytics
- Cannot: Delete org, manage billing
Member
- Ask questions
- View accessible documents
- See own query history
- Cannot: Manage team, integrations
Switching Organizations
Users can belong to multiple organizations:- Click your avatar (top-right)
- Select Switch Organization
- Choose from your organizations
Organization Limits
| Plan | Members | Integrations | Questions/Month |
|---|---|---|---|
| Free | 1 | 1 | 100 |
| Pro | 10 | Unlimited | 1,000 |
| Enterprise | Unlimited | Unlimited | Unlimited |
API Access
Each organization has:- Unique
organization_id - Separate API keys
- Isolated rate limits
- Independent quotas
Best Practices
One Org Per Company
One Org Per Company
Create one organization per company/team, not per department
Use Permission Groups
Use Permission Groups
Control access via permission groups, not separate orgs
Regular Audits
Regular Audits
Review members and permissions quarterly