Architecture Overview
AuthOS is a developer-first identity platform designed to provide enterprise-grade authentication, authorization, and user management for modern applications. This document outlines the high-level architecture, core components, and data model.
System Architecture
AuthOS follows a modular, API-first architecture designed for scalability, security, and ease of integration.
graph TD
Client[Client Applications] -->|HTTPS/JSON| LoadBalancer[Load Balancer]
LoadBalancer --> API[AuthOS API Core]
subgraph "AuthOS Platform"
API -->|Reads/Writes| DB[(Primary Database)]
API -->|Cache| Redis[(Redis Cache)]
API -->|Async Tasks| Workers[Background Workers]
Workers -->|Process| Email[Email Service]
Workers -->|Process| Webhooks[Webhook Dispatcher]
Workers -->|Process| Audit[Audit Logger]
end
subgraph "External Integrations"
API -->|OIDC| OAuth[OAuth Providers]
API -->|SAML/SCIM| Enterprise[Enterprise IdPs]
API -->|Events| SIEM[SIEM Systems]
end
Core Components
-
AuthOS API (Rust/Axum) The high-performance core of the platform. It handles all authentication requests, policy enforcement, and management operations. Built with Rust for memory safety and speed.
-
Management Dashboard A web-based interface for organization owners and developers to manage users, configure services, and view analytics. Consumes the AuthOS API directly.
-
SDKs & Libraries Language-specific SDKs (Node.js, Python, Go, etc.) and frontend frameworks (React, Vue) to simplify integration.
-
Background Workers Asynchronous processors for handling non-blocking tasks such as sending emails, dispatching webhooks, and processing audit logs.
Data Model
The AuthOS data model is hierarchical and multi-tenant by design.
erDiagram
Platform ||--|{ Organization : hosts
Organization ||--|{ Service : contains
Organization ||--|{ Member : has
User ||--|{ Member : is
User ||--|{ Identity : has
Service ||--|{ ApiKey : uses
Organization {
string slug
string name
string tier
}
Service {
string slug
string type
string client_id
}
User {
string id
string email
string verify_status
}
Member {
string role
string permissions
}
Key Entities
- Platform: The root level instance of AuthOS.
- Organization (Tenant): The primary container for resources. Represents a customer or team. Data is strictly isolated between organizations.
- Service (Application): Represents a specific application or project within an organization. Each service has its own configuration, API keys, and branding.
- User: A global identity entity. Users can be members of multiple organizations with different roles (e.g., “Admin” in Org A, “Viewer” in Org B).
- Membership: The link between a User and an Organization, defining the user’s role and permissions within that specific context.
Security Model
AuthOS employs a Zero Trust security model.
- Encryption at Rest: Sensitive data (private keys, secrets) is encrypted using AES-GCM before storage.
- Encryption in Transit: All traffic is encrypted via TLS 1.3.
- Token-Based Auth: Stateless authentication using short-lived JWTs (JSON Web Tokens) signed with RS256.
- ReBAC & RBAC: Fine-grained permission control combining Role-Based Access Control (RBAC) and Relationship-Based Access Control (ReBAC).
Integration Patterns
-
Hosted Login (Redirect) The most secure method. Redirect users to the AuthOS hosted login page, and handle the callback.
-
Embedded Login (SDK) Use our frontend SDKs to build custom login forms that communicate directly with the API.
-
Machine-to-Machine (M2M) Services communicate with each other using Client Credentials flow or API Keys.
-
Enterprise Federation Connect organizations to their existing Identity Providers (Okta, Azure AD) via SAML or OIDC.