Platform Settings

Centralized configuration hub with 5 tabbed panels for organization settings, notification preferences, integrations, user management, and data retention policies.

Overview

Platform administrators need a single location to manage all operational configuration. The Settings module consolidates organization-level preferences, notification channel configuration, third-party integration management, user access control, and data retention policies into a tabbed interface. It also surfaces SSO configuration status (fetched from the SSO API) and system metrics (from the admin API) on the General tab, giving administrators a quick operational overview alongside their configuration controls.

What Was Proposed

What's Built Complete

Architecture

Multi-API Integration

The Settings page aggregates data from multiple API endpoints. On mount, it issues parallel requests to /api/v1/sso/settings and /api/v1/admin/metrics using Promise.allSettled to handle partial failures gracefully. Notification and integration state is managed client-side. User and retention data use demo data with planned API integration.

Settings Page (5 Tabs)
+-------------------------------------------+
| Tab: General                              |
|   Org Settings (client state)             |
|   SSO Config  <- GET /api/v1/sso/settings |
|   Sys Metrics <- GET /api/v1/admin/metrics|
+-------------------------------------------+
| Tab: Notifications                        |
|   8 toggles (client state, planned API)   |
+-------------------------------------------+
| Tab: Integrations                         |
|   8 integrations (client state)           |
|   Connect/Disconnect actions              |
+-------------------------------------------+
| Tab: Users & Access                       |
|   User table (demo data)                  |
|   Invite/Edit/Remove actions              |
+-------------------------------------------+
| Tab: Data Retention                       |
|   5 policies (demo data)                  |
|   Edit links (planned)                    |
+-------------------------------------------+

Routing

Frontend Route
/settings
API Endpoints
/api/v1/sso/settings
/api/v1/admin/metrics

Prerequisites

Data Model

SSO Settings (from API)

FieldTypeDescription
enabledbooleanSSO enabled state
providerstring?SSO provider name
domainstring?Configured domain
client_idstring?Application client ID

Admin Metrics (from API)

FieldTypeDescription
uptime_secondsnumberAPI server uptime
memory_mbnumberMemory usage in MB
cpu_percentnumberCPU utilization percentage
active_ws_connectionsnumberActive WebSocket connections
autonomous_systems_runningnumberRunning autonomous SOC systems
autonomous_systems_totalnumberTotal autonomous SOC systems

Notification Preferences

ChannelSettingDefault
EmailCritical Alert EmailsOn
EmailDaily SummaryOn
EmailWeekly ReportOff
SlackAlert Notifications (#security-alerts)On
SlackEscalation AlertsOn
SlackDaily DigestOff
PagerDutyCritical IncidentsOn
PagerDutyHigh Severity AlertsOff

Integrations

NameCategoryDefault Status
Microsoft SentinelSIEMConnected
CrowdStrike FalconEDRConnected
PagerDutyAlertingConnected
SlackChatAvailable
Jira Service ManagementTicketingAvailable
ServiceNowITSMAvailable
SplunkSIEMAvailable
OktaIdentityConnected

Data Retention Policies

Data TypeRetention PeriodCurrent Size
Security Events90 days2.4 TB
Alert Data180 days156 GB
Incident Reports1 year8.2 GB
Audit Logs2 years45 GB
Threat Intel Feeds30 days890 MB

UI Description

Header

Settings gear icon with "Settings" title. Below, a horizontal tab bar with 5 tabs, each with its own icon (Settings, Bell, Plug, Users, Database). Active tab has blue bottom border.

General Tab

Organization Settings card with text input for name, dropdown selectors for timezone and date format, and blue "Save Changes" button with transient green success message. SSO Configuration card showing enabled/disabled badge and provider details (loading spinner while fetching). System Overview card with 2x2 grid of monospace metric tiles showing uptime, memory, WebSocket connections, and autonomous systems running/total.

Notifications Tab

Three stacked cards (Email, Slack, PagerDuty), each containing notification settings as rows with title, description text, and an orange toggle switch on the right. Toggles animate between grey (off) and orange (on).

Integrations Tab

Single card with list of integrations. Each row shows plug icon avatar, tool name, category label, green "Connected" or grey "Available" status badge, and action button. Connect button is blue outline, Disconnect link is subtle grey. Connect action updates status immediately; Disconnect shows a confirmation dialog first.

Users & Access Tab

Card with header containing "User Management" title and orange "Invite User" button. Table with 5 columns: Name, Email, Role (color-coded pill badges: Admin=orange, SOC Lead=blue, SOC Analyst=green, Viewer=grey), Last Active, and Edit/Remove action links. Invitation success shows green confirmation banner.

Data Retention Tab

Card with "Data Retention Policies" heading and description text. Table showing data type, retention period, current size, and Edit link per row.

Source Files

ComponentPath
Frontend Pageplatform/frontend/src/app/settings/page.tsx