Notifications
Two pages cover the user-facing notification surface: the inbox for reading and the preferences centre for opting out.
Inbox
/notifications
The in-app inbox shows recent notifications with:
- Unread count badge
- Mark all as read action
- Per-row: type, timestamp (relative — e.g. "3h ago"), brief message
- Filter: Unread / All
- Infinite scroll on pagination
Click a notification to open a detail pane with full context and (where applicable) an action button — e.g., "View change request", "Open evaluation".
Notifications are emitted by virtually every workflow in FrontLine: approvals, leave decisions, QA evaluations, policy distributions, schedule publishes, security alerts, etc.
Preferences
/notifications/preferences
The preference centre is the per-user opt-in/out surface. It's a category × channel matrix: every notification category (e.g. "Leave approvals", "QA evaluations", "Policy distributions", "Performance", "Security alerts") has an independent checkbox for each channel:
- In-app
The channels toggle independently — you can keep QA evaluation emails on while turning off the in-app QA notifications, for example.
Some categories are always-on (compliance, auth/security, legal/HR) and their rows are locked on both channels — these can't be opted out of by individuals because they're regulatory or safety-critical.
The page tracks local edits separately from the saved server state, with explicit Save and Reset buttons so users can preview their changes before committing.
Tenant-level configuration
This page is the per-user preference surface. Tenant-wide notification behaviour (delivery mode, sender identity, suppression list, deliverability KPIs) is configured under Settings → Notifications.