Skip to content

Multi-tenant

Require tenant ids on a shared database, or isolate each tenant with adapterFactory.

Updated View as Markdown

For multi-tenant SaaS on a shared destination, set requireTenantId: true (or spread ENTERPRISE_DEFAULTS). Leaving it false emits limit / unsafe_default_require_tenant.

import { AuditLogger, ENTERPRISE_DEFAULTS } from 'logbun';

const audit = new AuditLogger({
  ...ENTERPRISE_DEFAULTS,
  namespace: 'api',
  reliability,
  adapter,
});

getTenantId in plugins fills tenantId only when the handler omitted it. Resolve from an authenticated session or verified JWT — never a raw x-tenant-id header unless the gateway overwrites it.

Isolated databases

tenancy.mode: 'database_per_tenant' forces requireTenantId and requires adapterFactory. See Tenancy for the full contract, knownTenantIds, and pool_exhausted.

Turso is the built-in adapter this mode is designed around. ClickHouse is a shared warehouse (tenant_id column), not one database per tenant.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close