App. Docs
User
Users are scoped to a company. An Account links a person across companies and holds their global identity; each company has a distinct User for that account.
Create
- Open Company Settings → Users and click “Invite User”.
 - Enter the user’s name and email, choose a Role, and optionally attach a subscription.
 - Send the invite. The user receives a one‑time link via email.
 - When accepted, the invite converts into a company‑scoped User record.
 - Invites can be revoked any time before acceptance and are fully auditable.
 
Overview
A single Account can participate in many companies, but only one User exists per company for that account. The user stores company-specific details like role, activity state, and preferences.
Activation
- Single-user companies: If only one person exists in the company, users are active with full access.
 - Multi-user companies: When more than one user exists, each user must have a subscription seat assigned to be active.
 - Invites: Pending invites do not consume a seat until accepted. Seats can be reassigned.
 
Attributes
1type Account = {
2  // Identity
3  id: string; // uuid
4
5  // Core
6  email?: string | null; // unique
7
8  // Relations
9  users: User[];
10
11  // Notes (DB constraints)
12  // @@unique([email]) (nullable unique)
13}