App Settings

The DB-backed, admin-editable settings defined in SettingService.static.DEFAULTS.

On this page

App Settings

These live in SettingService.static.DEFAULTS, are seeded on boot by preFlightCheck(), cached with a 2-hour TTL, and editable at /settings by anyone with the settings:write (or settings:admin) permission — see Configuration.

Authentication & registration

SettingPurpose
cbLoginLayoutLayout used for auth pages (AuthSplit by default; choose AuthCenter or AuthSplit)
cbAllowRegistrationEnables/disables self-service registration
cbAllowForgotPasswordEnables/disables the forgot-password flow
cbAllowRememberMeEnables/disables the "remember me" cookie
cbRememberMeDaysHow long a remember-me token stays valid (default: 14)
cbRequirePasskeyForces passkey enrollment before reaching the admin area

Login layout selection

The Settings page exposes cbLoginLayout as a selector:

ValueLayoutAppearance
AuthSplitapp/layouts/AuthSplit.bxmTwo-panel login: branding/features on the left and the form on the right. On small screens it collapses to the form with compact branding. This is the default.
AuthCenterapp/layouts/AuthCenter.bxmCentered authentication card with the logo, form, and authentication footer.

Select Auth Center or Auth Split at /settings, save the settings, and reload the authentication page. The handler calls event.setLayout( prc.settings.cbLoginLayout ), so the selected layout applies to login, registration, invitation activation, and password-recovery pages. You may also set the value in the database or add a custom layout name under app/layouts/ if your application supplies that layout.

Password & token policy

SettingPurpose
cbMinPasswordLengthMinimum password length (default: 8)
cbPasswordResetExpirationReset-token validity, in minutes (default: 60)
cbInvitationExpirationInvitation-token validity, in days (default: 7)
cbRegistrationVerificationExpirationRegistration-verification-token validity, in hours (default: 24)
cbApiTokenMaxValidityMonthsMaximum lifetime an API token can be issued for (default: 12)
cbEncryptionKey / cbSaltingKeyEncryption/salting keys used by the security layer

Branding & appearance

SettingPurpose
cbAppNameApplication display name
cbAppLogoLogo shown in the admin sidebar
cbAppTaglineTagline shown alongside the logo
cbAppBrandTaglineShort branding label shown in the sidebar brand area
cbCopyrightNoticeCopyright text rendered by the application footer
cbDefaultThemeDefault light/dark theme for new visitors

Email

SettingPurpose
cbDefaultEmailDefault "from" address for outgoing mail
cbMailHost / cbMailPortSMTP host/port
cbMailUsername / cbMailPasswordSMTP credentials
cbMailTLS / cbMailSSLTransport security flags

Audit log

SettingPurpose
cbAuditLogRetentionDaysNumber of days audit records are retained by the scheduled purge. Set to 0 to disable automatic purging (default: 90).

Secrets and encryption

SettingPurpose
cbEncryptionKeyAES encryption secret used by the security/storage layer. Replace the generated development value with a stable secret in production.
cbSaltingKeySalt used by security operations. Keep it stable and secret in production.
ConfigurationEnvironment variables, framework settings, and per-module configuration. Extending the AppAdd a new CRUD module, permission, setting, or scheduled task, following the app's own conventions.
Edit this page Download Markdown Last updated Sep 1, 2026, 7:55:53 PM