Skip to content

0005. System module for tenant-level administration

  • Status: Accepted
  • Date: 2026-10-01

Context

Tenant admins need to manage their own workspace: company profile, general settings, and reference data such as lists and numbering. None of the existing modules fits. iam is about identity, roles, and users; tenancy is the platform's tenant registry and databases; admin is the internal operator portal and never runs inside a tenant workspace.

Options considered

  1. Put workspace settings in iam: keeps the module count low, but mixes identity with unrelated configuration.
  2. Put them in tenancy: mixes platform control-plane concerns with data owned by the tenant.
  3. A separate system module for tenant-level administration.

Decision

Add a system module (libs/api/system, @bizos/api-system) for administration that tenant admins do inside their workspace. It stores its data in the tenant database.

Consequences

  • Clear owner and boundary for workspace settings and reference data.
  • Other modules read settings through the system public API, never from its tables.
  • Platform-wide settings stay out of system; they belong to the admin portal's platform configuration part.