Settings inheritance and notifications
Personal settings belong to the Better Auth actor and apply across that user's connected accounts. A field without a personal override inherits the active tenant default. Required policy and administrator-assigned personal policy retain their precedence. See authorization.
Personal overrides
Saving stores only explicitly changed fields. An explicitly selected value remains an override even if it equals the default. Reset removes overrides and resumes inheritance. It preserves separately granted trusted-sender consent.
The browser refreshes effective policy and settings. Personal saves run in order. Local storage cannot replace a current server default. A delayed response from the previous account cannot restore its values after account switching.
Durable notifications
authorization.notifications stores immutable event payloads. Current actor recipients use authorization.actor_notification_recipients. Legacy authorization.notification_recipients remains readable. Recipient records retain personal values and dismissal time. Reads and dismissal check tenant and actor ownership.
The default change and notification share one transaction. Saving an unchanged default sends no event. Inheriting users receive the new default automatically. Users with overrides see the previous default, new default, and stored personal value. Sorter model/reasoning/context defaults use the same notification path.
Pending notifications appear in order, including after login and reload. A 30-second poll fetches updates while connected. Only Dismiss acknowledges one. Escape, outside click, and reload do not. A network error preserves the notification for retry until a successful response.
Administrator system messages require English and Hungarian titles and bodies. Users see their language. The server does not machine-translate administrator content. Publication snapshots eligible tenant actors. Later members do not receive old broadcasts automatically.
API reference
| Operation | Contract |
|---|---|
| Read resolved settings | GET /api/user-settings |
| Read origins | GET /api/user-settings?metadata=true&accountId=...: effective values, sparse overrides, version |
| Save/reset | PATCH /api/user-settings?accountId=...: version: 1, partial userSettings, optional reset: true |
| Pending notifications | GET /api/admin/notifications?accountId=...: at most 100 items and hasMore |
| Dismiss | POST /api/admin/notifications/:id/dismiss?accountId=...: idempotent, owned recipient only |
| Publish system message | POST /api/admin/notifications?accountId=...: English and Hungarian title/body |
Publication requires admin.messages.turnFeaturesOnOff. BFF origin checks and signed service identity protect proxy requests. The server selects recipients. Requests cannot supply their own recipient snapshot.