Skip to content

Organizations & Multi-Tenancy

Fp Switchboard supports multi-tenant isolation through organizations. Each organization has its own users, encryption keys, service access controls, and audit logs.

  1. User logs in via Cloudflare Access (SSO/email)
  2. Email domain extracted — e.g., user@acme.com maps to acme.com
  3. Domain lookup in org_domains table returns the org_id
  4. All queries filtered by org_id — users only see their own org’s data
RoleScopeCapabilities
Platform AdminAll organizationsCreate/manage orgs, view all data, manage all users, configure platform settings
Org AdminOwn organizationManage org users, view org audit logs, configure DLP, manage service access
UserOwn dataConnect services, generate tokens, view own usage and activity
FlagTableEffect
is_platform_admin = 1usersFull platform access, bypasses org filtering
is_super_admin = 1usersOrg-level admin for their organization
Neither flagusersStandard user with own-data access

Organizations can restrict which services their users can access:

  • Allowed Services — Set via organizations.allowed_services (JSON array)
  • Per-User Grants — Admins grant specific services to users via user_service_access table
  • Both must align — A user needs both org-level allowance AND a per-user grant to access a service

Each organization’s data is cryptographically separated:

Encryption Keys

Per-organization encryption keys. One org’s tokens cannot be decrypted with another org’s key.

Database Isolation

All database queries include org_id filter. Cross-organization data access is structurally impossible.

Audit Logs

Audit trails are org-scoped. Org admins see only their organization’s activity.

DLP Configuration

DLP patterns, overrides, and allowlists are configured per-organization.

Platform admins create organizations through the admin panel:

  1. Navigate to Admin > Organizations
  2. Set the organization name and allowed services
  3. Add email domains that map to this organization
DomainOrganization
acme.comAcme Corp
acme.co.ukAcme Corp
partner.ioPartner Inc

Multiple domains can map to the same organization. A domain can only belong to one organization.

Org admins can:

  • View all users in their organization
  • Grant or revoke service access per user
  • Promote users to org admin
  • View user activity and usage metrics
FeatureOrg-Scoped?Details
Encryption keysYesSeparate AES-256-GCM keys per org
DLP patternsYesCustom pattern overrides and allowlists
Service accessYesAllowed services list per org
Audit logsYesOrg admins see org-only logs
Usage meteringYesPer-org usage tracking and analytics
Bundle templatesYesOrg-scoped templates visible to org members only
Credential storageYesSome services use org-level credentials (shared OAuth apps)

Some services use org-level credentials (a shared OAuth app configured once by an admin), while others use user-level credentials (each user connects individually):

Credential TypeServicesWho Configures
Org-levelCloudflare, n8n, ManyChat, Fathom, WordPress, Sage, WhatsApp, Fathom AI, n8n MCP, Fp DesignOrg admin or platform admin
User-levelGoogle, Slack, Notion, HubSpot, GitHub, Jira, Microsoft 365, and othersEach user individually