Identity & Multi-Tenant Architecture
Complete guide to understanding and implementing authentication patterns for multi-tenant Connie deployments.
π― Purpose of This Guideβ
This documentation is designed for Connie platform administrators who are:
- Onboarding new nonprofit clients to Connie
- Configuring Twilio Flex + SSO integration
- Managing multi-program or multi-tenant deployments
- Troubleshooting authentication and team visibility issues
Not for end-users: Client staff (nonprofit administrators, agents, supervisors) simply login via their vanity URL and don't need this documentation.
ποΈ Two Deployment Patternsβ
Connie supports two distinct multi-tenant patterns. Choosing the right one is critical for proper isolation and team visibility.
Pattern A: Single Organization, Multiple Programsβ
Use Case: One nonprofit with multiple internal programs/departments that need team-based segmentation.
Architecture:
Key Characteristics:
- β One Twilio account with subaccounts for billing/usage tracking
- β One Auth0 tenant with team-based segmentation
- β One vanity domain for entire organization
- β Team attributes control visibility in Flex
- β Senior staff with no team attribute see all teams
- β Program supervisors/agents only see their team members
Example Client: Nevada Senior Services (NSS)
- Main domain:
nss.connie.team - Programs: RAMP, future additional services
- Senior executives see all programs
- RAMP supervisor (Jessica) only sees RAMP team
- RAMP agents (Afia) only see RAMP tasks
Pattern B: Fully Isolated Organizationsβ
Use Case: Completely independent nonprofits or legal entities requiring full separation.
Architecture:
Key Characteristics:
- β Separate Twilio accounts (different SIDs)
- β Separate Auth0 tenants
- β Separate vanity domains
- β Complete organizational isolation
- β No shared visibility or resources
- β Independent billing and management
Example Client: HHOVV (separate from NSS)
- Separate Twilio SID
- Separate Auth0 tenant
- Own vanity domain
- Zero visibility to other organizations
π§ Decision Matrix: Which Pattern?β
Use this decision matrix to determine the correct pattern for your client:
| Question | Pattern A | Pattern B |
|---|---|---|
| Same legal entity? | β Yes - Single nonprofit | β No - Different organizations |
| Shared senior oversight? | β Yes - Executives see all programs | β No - Completely independent |
| Team-based segmentation needed? | β Yes - Programs need isolation within org | β οΈ Not required - Full org isolation |
| Billing structure? | Subaccounts for program tracking | Separate accounts for independent billing |
| Single vanity domain? | β
Yes - org.connie.team for all | β No - Each org has own domain |
| Auth0 setup? | One tenant, multiple teams | Separate tenants per organization |
| User visibility requirements | Seniors see all, teams see their own | Each org only sees their users |
| Typical use case | Multi-program nonprofits | Independent client organizations |
Real-World Examplesβ
β Pattern A Scenarios:
- Nevada Senior Services with RAMP, Adult Day Care, and Home Health programs
- Community center with Youth Services, Senior Programs, and Food Bank divisions
- Hospital system with different departments sharing oversight
β Pattern B Scenarios:
- HHOVV as a completely separate client from NSS
- Multiple independent nonprofit clients on Connie platform
- Different legal entities requiring audit separation
π¨ Common Mistakes & Red Flagsβ
β Mistake: Using Pattern A for Pattern B Organizationsβ
Symptom: Users from Organization B appearing in Organization A's Auth0 tenant or Flex Teams View
Example: HHOVV users showing up in NSS's Auth0 as team members
Cause: Incorrectly using single Auth0 tenant for completely separate organizations
Fix:
- Create separate Auth0 tenant for Organization B
- Remove Organization B users from Organization A's Auth0
- Configure Organization B's vanity domain to use new Auth0 tenant
- Validate complete isolation
Prevention: Use the decision matrix above before onboarding new clients
π Implementation Roadmapβ
For Pattern A (Multi-Program):β
- Read: Pattern A: Multi-Program Setup
- Configure: Auth0 Configuration
- Setup: Twilio Flex SSO
- Test: Testing Checklist
For Pattern B (Isolated):β
- Read: Pattern B: Isolated Organizations
- Configure: Auth0 Configuration
- Setup: Twilio Flex SSO
- Test: Testing Checklist
π Supported Identity Providersβ
Connie supports multiple SSO providers:
| Provider | Status | Pattern Support |
|---|---|---|
| Auth0 | β Active | Pattern A & B |
| OKTA | β οΈ Legacy (Not Currently Used) | Pattern A & B |
Both providers support the architectural patterns described in this guide. Current deployments use Auth0.
See: OKTA Legacy Documentation for historical reference.
π― Current State: UAT Focusβ
These guides document manual configuration steps for UAT and initial client onboarding.
Future State: Automated provisioning scripts will streamline this process for production deployments.
π Context: Twilio Support Guidanceβ
These patterns align with Twilio's recommendations for managing multi-program organizations:
From Twilio Support:
"Use a single Auth0 tenant/project for your entire organization. This allows you to centrally manage all users, roles, and groups. You can leverage Auth0's roles and groups (or custom claims) to segment access. Avoid creating a separate Auth0 tenant/project for each teamβthis leads to siloed user management, duplicate work, and more complex SSO integration with Flex."
This guidance applies to Pattern A scenarios. Pattern B requires separate tenants by design due to organizational independence.
π Need Help?β
- Pattern confusion? Review the decision matrix above
- Users appearing in wrong org? See Troubleshooting Guide
- SAML issues? Check Auth0 Configuration
- Testing failures? Follow Testing Checklist
π What's Next?β
Choose your pattern and dive into the detailed implementation guide:
- Multi-Program Setup β Pattern A Documentation
- Isolated Organizations β Pattern B Documentation
If you prefer assistance with authentication setup for complex deployments, Connie professional services are available. Contact your Connie representative for details.