Multi-Tenancy
What is Multi-Tenancy?
┌─────────────────────────────────────────────────────────────────────────────┐
│ ATLAS AUTH GUARD - SINGLE INSTANCE │
├─────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ Organization A │ │ Organization B │ │ Organization C │ │
│ │ (Turing) │ │ (Partner Co) │ │ (Client Inc) │ │
│ │ │ │ │ │ │ │
│ │ ┌───────────┐ │ │ ┌───────────┐ │ │ ┌───────────┐ │ │
│ │ │ Team 1 │ │ │ │ Team X │ │ │ │ Team P │ │ │
│ │ │ Team 2 │ │ │ │ Team Y │ │ │ │ Team Q │ │ │
│ │ │ Team 3 │ │ │ └───────────┘ │ │ └───────────┘ │ │
│ │ └───────────┘ │ │ │ │ │ │
│ │ │ │ │ │ │ │
│ │ 🔒 ISOLATED │ │ 🔒 ISOLATED │ │ 🔒 ISOLATED │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │
│ ═══════════════════════════════════════════════════════════════════════ │
│ SHARED INFRASTRUCTURE │
│ ═══════════════════════════════════════════════════════════════════════ │
│ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ Database │ │ Cache │ │ Auth Guard │ │ Backend │ │
│ │ (Postgres) │ │ (Redis) │ │ (FastAPI) │ │ Services │ │
│ └─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────┘Benefits
Benefit
Description
Tenant Hierarchy
Level Details
Level
Purpose
Key Features
Data Isolation
How Isolation Works
Isolation Guarantees
Guarantee
Implementation
Tenant Identifiers
Identifier Hierarchy
Denormalization
Record Type
Contains
Access Control
Role Scope
Access Decision Flow
Team Service Policy
Policy Bypass
Role
Bypasses Team Policy?
JWT Token Structure
Token Context Selection
Backend Integration
Required Header Usage
Common Mistakes to Avoid
❌ Wrong
✅ Correct
Best Practices
For Administrators
Practice
Reason
For Developers
Practice
Reason
For Security
Practice
Reason
Troubleshooting
"You are not a member of this team"
"Service not allowed for this team"
"Cross-tenant access denied"
"Data not appearing"
Last updated