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.