Core Concepts
Core Concepts
Understand the fundamental building blocks of Zautha — Tenants, Projects, and Organizations.
Zautha is built around three core concepts. Understanding how they relate to each other is essential for integrating Zautha into your application.
The Hierarchy
ZAUTHA PLATFORM
│
├── Tenant: "Acme Corp" ← The company using Zautha
│ ├── Project: "Production" ← Their live application
│ │ ├── API Key: zk_live_abc...
│ │ └── Signing Key: RS256
│ ├── Project: "Development" ← Their dev environment
│ │ └── API Key: zk_test_xyz...
│ ├── Users (end-users)
│ │ ├── alice@startup.io
│ │ └── bob@startup.io
│ └── Organization: "Startup Inc" ← A team created by end-users
│ ├── alice (admin)
│ └── bob (member)Quick Reference
| Concept | Who creates it? | What is it for? | Example |
|---|---|---|---|
| Tenant | Developer/company signing up for Zautha | Isolating their auth data from other customers | "Acme Corp" |
| Project | Tenant admin (via dashboard) | Separating apps or environments within a tenant | "Production", "Development" |
| Organization | End-users of the tenant's application | B2B team/workspace structure | "Startup Inc" |
Entity Relationships
Tenant (1)
├──── Projects (N)
│ ├── Signing Keys (N)
│ └── API Keys (N)
├──── Users (N)
│ └── Memberships (N) ──┐
└──── Organizations (N) ────┘
└── Invitations (N)- Tenant → Projects: One-to-many. A tenant has many projects.
- Tenant → Users: One-to-many. A tenant has many end-users.
- Tenant → Organizations: One-to-many. A tenant has many organizations.
- User ↔ Organization: Many-to-many via Membership. A user can belong to multiple organizations.