Skip to main content

Security governance

modules/dashboard/pages/{SecurityExceptionsUI, SecurityPolicyCenterUI, ComplianceCasesUI, complianceShared} — maker-checker workflows, all real-money/compliance-adjacent.

Exceptions Center — Live​

Route: /dashboard/reports/security-flags/exceptions

Staff create, review, approve, activate, and govern scoped exception rules that suppress or force manual review of security-flag detections — plus ownership, expiry/recertification, emergency-disable, and operational-intelligence workflows.

Sub-modules (25 files)
  • ExceptionConditionsBuilder — Add/remove/edit match-rule condition rows, quick-adds, suggestions from source flag
  • ApprovalWorkflowPanel / ApprovalRequirementsPanel — Approval history/timeline; risk level + required approver role
  • AssignOwnerModal / ExtendExpiryModal / EmergencyDisableModal — Single or bulk owner assignment; expiry extension; emergency-disable (reason required)
  • BulkGovernanceBar / BulkConfirmModal — Floating bulk-action bar + confirmation
  • RecertificationTable / RecertificationReviewDrawer — Pending recertifications queue + Keep Active/Revoke review
  • ExpiringSoonTable — Rules expiring soon — Review/Extend/Revoke row actions
  • OperationsCommandCenter — Ops tab — dashboard, intelligence, review queue, rule health, staged activation, CSV export
  • ExceptionOpsActionsMenu — Per-row "⋮": Clone as Draft, Run Simulation, Compliance Report, Emergency Disable/Clear
  • GovernanceReportPanel / OperationalTimelinePanel — Summary cards + chronological lifecycle+audit event timeline

Actions available (28)

ActionEffectHookStage
Create Rule / Save DraftOpens blank drawer, validates + creates/updatesuseCreateExceptionRuleMutation/useUpdateExceptionRuleMutationdraft
Add/remove condition, add suggested/quick-addClient-side condition builder—draft
Preview ImpactDry-run affected-flags previewusePreviewExceptionRuleMutationdraft
Run SimulationSimulates matching against sample/historical flagsuseSimulateExceptionRuleMutationany
Activate / Activate Immediately (bypass)Standard requires approval; bypass needs reason + typed confirmation + risk ackuseActivateExceptionRuleMutation→ active or pending_approval
Submit For Approval / Approve / RejectMaker-checker queueuseSubmitExceptionApprovalMutation, useApprove/RejectExceptionMutationdraft ↔ pending_approval
Edit / Clone as DraftOpens prefilled drawer / duplicates into new draftuseCloneExceptionRuleMutationany
RevokePermanent, reason requireduseRevokeExceptionRuleMutation→ revoked
Emergency Disable / ClearImmediately stops matching / restoresuseEmergencyDisableExceptionMutation/useClearEmergencyDisableExceptionMutationactive
Compliance ReportOpens per-rule report in new tabwindow.openany
Extend Expiry (single/bulk)New expiry date + reasonuseExtendExceptionMutation/useBulkExtendMutationactive
Assign/Change Owner (single/bulk)Owner user + team + reasonuseAssignExceptionOwnerMutation/useBulkAssignOwnerMutationany
Bulk: Request Recertification / Activate ImmediatelyBatch operations across selected rulesuseBulkRequestRecertificationMutation, useBulkActivateExceptionRulesMutationvaries
Recertification: Keep Active / RevokeApproves/rejects a recertification reviewuseApproveRecertificationMutation/useRejectRecertificationMutationrecert pending
Start / Complete Activation (Ops Command Center)Staged engine-mode transition (log_only/active), typed confirmation on → activeuseStartActivationMutation/useCompleteActivationMutationops
Refresh Intelligence / Export CSVsQueues dashboard refresh / downloads ops CSVsuseExceptionIntelligenceRefreshMutation, window.openops

Policy Center — Live​

Route: /dashboard/reports/security-flags/policy-center

Governs the offense-escalation policy matrix that drives automated enforcement — view the active matrix, manage draft versions end-to-end (clone/edit/validate/preview-impact/review-approve/publish/rollback/migrate), compare versions, run a what-if simulator, view global audit, pause/resume automatic enforcement.

Sub-modules (~29 files)
  • PolicyDraftVersionPanel — Draft workspace: rule list, create rule, validate, step tabs (rules/validation/impact/review/publish/migration/audit)
  • PolicyFullRuleEditor / PolicyRuleRoutingEditor — Full rule create/edit/delete dialog; inline routing patch
  • PolicyValidationSummaryPanel / PolicyImpactPanel — Blocking errors/warnings; activation-impact diff vs. active policy
  • PolicyGovernancePanel — Review/Approval, Rollback, Emergency-pause, Audit sub-tabs
  • PolicyActivationPreviewDialog — Final "Publish Policy" confirmation (reason, typed phrase, high-risk ack, optional superuser bypass)
  • PolicyFlagMigrationPanel — Re-resolves already-created flags against a new policy version
  • PolicyLifecycleTracker / PolicyOverviewDashboard / PolicyContextBar — Visual stepper; overview cards; active-version/draft-count status bar
  • PolicyGlobalAuditPanel — Cross-version audit history

Actions available (22)

ActionEffectHookStage
Clone draft (from active)New editable draft versionusePolicyCenterCloneMutation→ draft
Create / Edit / Delete / Duplicate ruleDraft rule CRUDusePolicyCenterCreate/Update/Delete/DuplicateRuleMutationdraft editing
Patch rule routing (inline)Quick edit without full editorusePolicyCenterPatchRuleRoutingMutationdraft editing
Validate draftSurfaces blocking errors/warningsusePolicyCenterValidateMutationdraft → validation
Refresh impactRegenerates activation diffusePolicyCenterActivationImpactimpact preview
Submit for review / Approve / Request ChangesMaker-checker on draft snapshotusePolicyCenterSubmitReviewMutation, Approve/RequestChangesMutationediting → review_requested → approved
Publish Policy (Activate)Typed phrase ACTIVATE POLICY <code>, impact token, high-risk ack, optional superuser bypassusePolicyCenterActivateMutationapproved → active
Preview rollback / Clone for rollbackPreviews historical version, then clones a new draft from itusePolicyCenterRollbackPreviewMutation, ...CloneForRollbackMutationops → new draft
Pause / Resume automatic enforcementEmergency pause, reason + typed confirmation phrase both waysusePolicyCenterEmergencyPauseMutationops
Preview / Apply flag migrationDry-run then apply re-resolution of existing flags against a target versionusePolicyReresolutionPreviewMutation/...ApplyMutationmigration
Compare versionsAdded/removed/changed rule diffusePolicyCenterComparecompare
Simulateflag_type + offense_count → expected outcomeusePolicyCenterSimulatorMutationsimulator
Load audit historyFilter by event type / high-risk onlyusePolicyCenterAuditHistoryaudit

Compliance Cases — Live​

Route: /dashboard/reports/compliance-cases

Triage/investigation console for compliance cases (created from security flags elsewhere) — filter/queue, operations dashboard, and per-case assignment/notes/trader-communication/decision/close-reopen/audit-export via a detail drawer.

Sub-modules
  • ComplianceCaseDetailModal — Overview/Investigation/Communication/Decision/Audit tabs; Actions menu (Resolve/Escalate/Request Info/Close/Reopen/Export)
  • CaseCommunicationPanel — Trader-communication thread — information/document requests, responses, staff replies
  • AuditPackagePanel — Per-case audit package generation/export + timeline

Actions available (17)

ActionEffectHookStage
Assign Team / Assign to meAssigns team or self-claimsuseAssignComplianceCaseTeamMutation/UserMutationany open
Add NoteInvestigation noteuseAddComplianceCaseNoteMutationany open
Request Information/DocumentCreates trader-facing request threadcustom mutationinvestigating
Close Request / Send ReplyCloses a thread / staff reply (optionally sent to trader)custom mutationscommunication
Log Outgoing EmailLogs a staff-initiated communication recorduseAddComplianceCaseCommunicationMutationany
Record Decision — Resolve / Escalate / Request InformationRecords decision with reason/taxonomy/impactuseComplianceCaseDecisionMutationinvestigating
Close Case / Reopen CaseReason required both ways; close also closes open trader requestsuseCloseComplianceCaseMutation/useReopenComplianceCaseMutationresolved↔closed↔investigating
Export JSON (case) / Generate + Download Package (audit)Per-case export; audit-package generation + JSON download (PDF download present but disabled)custom mutations, window.openaudit
Expand Operations DashboardTeam workload, decision distribution, compliance report cards——

:::info Note Case creation itself doesn't live on this page — cases are created from a security flag elsewhere (Manual Flags queue / flag-detail Actions) via useCreateComplianceCaseMutation. complianceShared/ (CompliancePageChrome, ComplianceQueueTabs) provides the shared header/tabs reused here and by compliance-mode Security Flags. :::