← Back to Cyber Command Center

Security Policy

Last updated: May 22, 2026

Cyber Command Center is a portfolio and training workflow project. It is not a certified enterprise platform, managed SOC service, or place to store sensitive client data, lab credentials, payment details, or production incident evidence.

Security Model

The app has two operating modes:

PostgreSQL is private to Docker. Browser code must never receive database credentials, Google client secrets, SMTP secrets, service-role keys, or backup credentials.

Current Controls

Data Lifecycle

Guest mode

Guest progress, notes, sessions, and simulation events stay in browser local storage until you clear site data or use the Privacy Controls panel.

Signed-in mode

Account identity, authenticator MFA state if enabled, progress, notes, study sessions, and simulation-risk events are stored in the self-hosted PostgreSQL database until the account is deleted. Deleted records may remain in backups for the configured backup retention window.

Data minimization

Do not store passwords, API keys, client data, payment details, private lab credentials, or live incident evidence in notes or simulation-event labels.

Privacy Controls

The signed-in dashboard includes a Privacy Controls panel with two self-service actions:

Content Security Policy

A Content-Security-Policy header is shipped from netlify.toml and nginx.conf. It allows the asset domains the app currently needs and reports violations to https://c3-api.mdpstudio.com.au/api/csp-report.

The policy was promoted after the remote API, tunnel, migration, backup restore, and production API smoke tests passed.

Known Gaps

Incident Reporting

Email [email protected] with the subject Security report: Cyber Command Center.

Include the affected URL or file path, reproduction steps, expected and actual result, browser/device details if relevant, and screenshots or logs with secrets removed.

Do not include passwords, API keys, private account data, payment details, client data, or third-party platform secrets. Do not publicly disclose an unfixed issue until it has been triaged.