zautha
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

ConceptWho creates it?What is it for?Example
TenantDeveloper/company signing up for ZauthaIsolating their auth data from other customers"Acme Corp"
ProjectTenant admin (via dashboard)Separating apps or environments within a tenant"Production", "Development"
OrganizationEnd-users of the tenant's applicationB2B 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.

On this page