-
Notifications
You must be signed in to change notification settings - Fork 0
Closed
Labels
enhancementNew feature or requestNew feature or request
Description
Summary
Add a dedicated Security Dashboard page to WebAdmin at /security to expose the existing security monitoring infrastructure through the UI.
Context
The backend infrastructure for security monitoring is complete:
SecurityMonitoringControllerin Admin API provides/api/security/events,/api/security/threats,/api/security/complianceFetchSecurityServicein Admin SDK exposesgetEvents(),getThreats(),getComplianceStatus()useSecurityApihook in WebAdmin is ready to use
The only missing piece is the actual UI page.
Requirements
Page Location
- Route:
/securityor/security-dashboard - Add to navigation under appropriate section
Dashboard Components
-
Security Overview Card
- Current threat level indicator
- Compliance score
- Active threats count
- Events in last 24h
-
Security Events Table
- List recent security events from
getSecurityEvents() - Filterable by severity (Info, Low, Medium, High, Critical)
- Filterable by date range
- Pagination support
- List recent security events from
-
Active Threats Panel
- Display threats from
getThreats() - Show threat type, severity, affected resources
- Status indicators (active, acknowledged, resolved)
- Display threats from
-
Quick Stats
- Failed auth attempts (24h)
- Blocked IPs count
- Rate limit violations
Existing Resources to Use
useSecurityApihook atWebAdmin/src/hooks/useSecurityApi.ts- IP Filtering page patterns at
WebAdmin/src/app/ip-filtering/ - Mantine UI components (consistent with rest of WebAdmin)
Acceptance Criteria
- Security Dashboard page accessible at
/security - Navigation link added
- Security events displayed with filtering
- Threat detection results displayed
- Compliance/overview metrics shown
- Responsive design (mobile-friendly)
- Loading and error states handled
- TypeScript strict mode compliant
- ESLint passing
Technical Notes
- Use existing
useSecurityApihook - no new API calls needed - Follow patterns from other dashboard pages (cost-dashboard, usage-analytics)
- Consider using Mantine's
StatsGroup,Table, andCardcomponents
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request