Cyber Team Manager
Status: Experimental preview build – expect rapid changes and provide feedback before production use.
Overview
Cyber Team Manager is a Visual Studio Code extension for running and governing a cyber team. It centralises people, policy, process, document, and reporting workflows with secure local storage so you can measure and communicate program health.
Key Features
- Unified team cockpit: dedicated tree, checklist, and process timeline views for day-to-day operations.
- Role and assignment governance: create roles, assign people, and track compliance status at a glance.
- ISO-aligned policy and process templates: seed sample data or build your own frameworks.
- Reporting and documentation: interactive dashboards, exportable reports, and SharePoint document linking.
- Secure data management: passphrase-protected local storage with optional Git-based replication.
- Automation ready: comprehensive command palette coverage plus OSCAL import support.
Developer Setup
- Clone the repository:
git clone https://github.com/tobyharvey/cyber-team-manager.git && cd cyber-team-manager.
- Install dependencies:
npm install.
- Build the extension:
npm run compile.
- (Optional) Package a VSIX:
npx vsce package, then install with code --install-extension <generated-file>.vsix.
Quick Start
- Launch VS Code and open the Cyber Team Manager view container on the activity bar.
- Run
Cyber Team Manager: Load Scenario Example Data to populate ISO-aligned sample content.
- Explore the Team Roles and Process Timeline views, then open the overview dashboard via
Cyber Team Manager: Open Cyber Team Overview.
- Generate a progress dashboard with
Cyber Team Manager: Generate Progress Report and review the exported markdown.
Command Reference
People & Assignments
| Command Palette Title |
ID |
Purpose |
| Cyber Team Manager: Create Role |
cyberTeamManager.createRole |
Add a new role to the team tree with summary metadata. |
| Cyber Team Manager: Update Role |
cyberTeamManager.updateRole |
Rename or adjust an existing role. |
| Cyber Team Manager: Edit Role JSON |
cyberTeamManager.editRole |
Open the raw role definition in an editor. |
| Cyber Team Manager: Delete Role |
cyberTeamManager.deleteRole |
Remove a role and its assignments. |
| Cyber Team Manager: Assign Person to Role |
cyberTeamManager.assignPersonToRole |
Create a person assignment against a role. |
| Cyber Team Manager: Update Role Assignment |
cyberTeamManager.updateRoleAssignment |
Modify contact details or dates on an assignment. |
| Cyber Team Manager: Remove Role Assignment |
cyberTeamManager.removeRoleAssignment |
Detach a person from a role. |
| Cyber Team Manager: Manage Compliance Checks |
cyberTeamManager.manageCompliance |
Toggle the four mandatory compliance markers per assignment. |
Process Operations
| Command Palette Title |
ID |
Purpose |
| Cyber Team Manager: Create Process |
cyberTeamManager.createProcess |
Start a new process and set its description. |
| Cyber Team Manager: Update Process |
cyberTeamManager.updateProcess |
Edit core metadata for a selected process. |
| Cyber Team Manager: Delete Process |
cyberTeamManager.deleteProcess |
Remove a process from storage. |
| Cyber Team Manager: Edit Process |
cyberTeamManager.editProcess |
Launch the JSON editor for precise changes. |
| Cyber Team Manager: Edit Process |
cyberTeamManager.editProcessForm |
Use the guided form editor for process details. |
Policy Management
| Command Palette Title |
ID |
Purpose |
| Cyber Team Manager: Create Policy |
cyberTeamManager.createPolicy |
Add a new policy record to the checklist view. |
| Cyber Team Manager: Rename Policy |
cyberTeamManager.updatePolicy |
Update the display name of an existing policy. |
| Cyber Team Manager: Edit Policy JSON |
cyberTeamManager.editPolicy |
Open the raw policy definition in an editor. |
| Cyber Team Manager: Edit Policy |
cyberTeamManager.editPolicyForm |
Adjust policy metadata using the form editor. |
| Cyber Team Manager: Review Policies |
cyberTeamManager.reviewPolicies |
Launch the compliance checklist review flow. |
| Cyber Team Manager: Toggle Policy Compliance |
cyberTeamManager.togglePolicyCompliance |
Mark a policy as compliant or non-compliant. |
| Cyber Team Manager: Show Policy Details |
cyberTeamManager.showPolicyDetails |
Display rich policy context in a webview. |
| Cyber Team Manager: Import Policies from OSCAL |
cyberTeamManager.importPoliciesFromOscal |
Load policy data from an OSCAL catalog file. |
Documents & SharePoint
| Command Palette Title |
ID |
Purpose |
| Cyber Team Manager: Link SharePoint Document |
cyberTeamManager.linkSharePointDocument |
Associate a SharePoint item with internal policies or processes. |
| Cyber Team Manager: Open Document |
cyberTeamManager.openDocument |
Launch a linked document from the tree. |
| Cyber Team Manager: Edit Document JSON |
cyberTeamManager.editDocument |
Modify document metadata directly. |
| Cyber Team Manager: Open in SharePoint |
cyberTeamManager.openDocumentInSharePoint |
Open the selected document in the browser. |
| Cyber Team Manager: Import from SharePoint |
cyberTeamManager.importFromSharePoint |
Pull document metadata into the extension. |
| Cyber Team Manager: Update Document |
cyberTeamManager.updateDocument |
Refresh stored document details. |
| Cyber Team Manager: Delete Document Link |
cyberTeamManager.deleteDocument |
Remove a SharePoint link. |
| Cyber Team Manager: Authenticate with SharePoint |
cyberTeamManager.authenticateSharePoint |
Initiate authentication for SharePoint operations. |
| Cyber Team Manager: Refresh Documents |
cyberTeamManager.refreshDocuments |
Re-sync document listings. |
| Cyber Team Manager: Open Documentation Checker |
cyberTeamManager.openDocumentationChecker |
Review documentation completeness against key controls. |
Reporting & Scenarios
| Command Palette Title |
ID |
Purpose |
| Cyber Team Manager: Generate Progress Report |
cyberTeamManager.generateReport |
Open the interactive reporting dashboard with export options. |
| Cyber Team Manager: Open Cyber Team Overview |
cyberTeamManager.showOverview |
Display the consolidated overview panel. |
| Cyber Team Manager: Load Scenario Example Data |
cyberTeamManager.seedScenarioExamples |
Reset stores with ISO-aligned sample people, policies, and processes. |
| Cyber Team Manager: Generate Scenario Instructions |
cyberTeamManager.generateScenarioInstructions |
Produce Markdown playbooks for a selected process. |
Data Security & Synchronisation
| Command Palette Title |
ID |
Purpose |
| Cyber Team Manager: Change Data Passphrase |
cyberTeamManager.changePassphrase |
Rotate the encryption passphrase for local storage. |
| Cyber Team Manager: Reset Stored Data |
cyberTeamManager.resetData |
Clear all encrypted data files and start fresh. |
| Cyber Team Manager: Configure Git Synchronization |
cyberTeamManager.setupSync |
Walk through linking a Git repository for encrypted sync. |
| Cyber Team Manager: Synchronize Data Now |
cyberTeamManager.syncNow |
Push and pull encrypted data with the configured repo. |
| Cyber Team Manager: Show Sync Status |
cyberTeamManager.syncResolveConflicts |
Inspect the latest sync state and resolve issues. |
| Cyber Team Manager: Open Sync Repository |
cyberTeamManager.syncOpenRepository |
Open the configured Git repository in VS Code. |
Step-by-Step Guides
Onboard a New Role and Team Member
- Run
Cyber Team Manager: Create Role to define a role name and summary.
- Select the new role in the Team Roles tree, then choose
Cyber Team Manager: Assign Person to Role to add contact details.
- Use
Cyber Team Manager: Manage Compliance Checks to set the four mandatory requirements for the assignee.
- If you need to refine metadata, use
Cyber Team Manager: Update Role or Cyber Team Manager: Edit Role JSON.
- Open
Cyber Team Manager: Generate Progress Report to confirm the new role appears in the compliance dashboard.
Build and Govern a Process
- Launch
Cyber Team Manager: Create Process and set the process summary, owners, and status.
- Run
Cyber Team Manager: Edit Process from the process timeline context menu to open the guided editor for steps and linked policies.
- Associate supporting documents via
Cyber Team Manager: Link SharePoint Document if needed.
- Generate operating instructions with
Cyber Team Manager: Generate Scenario Instructions and share the Markdown file.
- Update progress over time using
Cyber Team Manager: Update Process and rerun the scenario generator as the process matures.
Manage Policies with OSCAL Data
- Configure the OSCAL catalog path in settings (
cyberTeamManager.oscal.catalogPath).
- Run
Cyber Team Manager: Import Policies from OSCAL to load catalog items into the policy checklist.
- For each policy, open
Cyber Team Manager: Show Policy Details to review context and set compliance flags using Cyber Team Manager: Toggle Policy Compliance.
- Export supporting documentation or link SharePoint evidence directly from the policy view.
Produce and Share Reports
- Refresh assignments and processes as needed using the commands above.
- Run
Cyber Team Manager: Generate Progress Report to open the dashboard.
- Use the export buttons (Markdown, JSON, CSV, HTML) to capture the current state for stakeholders.
- Export audience-specific HTML reports:
- Combined Report – Full compliance data for governance packs
- People Report – Role catalogues and team member assignments
- Policy Report – Compliance posture and policy details
- If you require executive highlights, open
Cyber Team Manager: Open Cyber Team Overview and share annotated screenshots.
Secure Data and Synchronise Across Devices
- Run
Cyber Team Manager: Change Data Passphrase when onboarding or rotating team credentials.
- Enable Git-based replication with
Cyber Team Manager: Configure Git Synchronization and follow the prompts.
- Use
Cyber Team Manager: Synchronize Data Now to push encrypted data blobs to the shared repository.
- If conflicts appear, inspect them with
Cyber Team Manager: Show Sync Status and open the repo via Cyber Team Manager: Open Sync Repository for resolution.
- In recovery scenarios, run
Cyber Team Manager: Reset Stored Data and rehydrate from the synced repository.
Reports and Dashboards
Cyber Team Manager: Generate Progress Report opens visual widgets for compliance distribution, process metrics, and actionable alerts.
- The dashboard supports exporting Markdown, JSON, CSV, and HTML snapshots for governance packs.
- HTML Export Options:
- Combined Report – Complete compliance data including roles, policies, processes, and documents
- People-Focused Report – Role catalogues, team assignments, and compliance status for HR/team briefings
- Policy-Focused Report – Policy compliance overview and coverage details for audit packages
- All HTML exports are sanitized against injection attacks and use inline styles (no external resources).
- Use
Cyber Team Manager: Open Documentation Checker to review document coverage before audits.
Security & Data Notes
- All persisted data is encrypted locally using your passphrase. Nothing is transmitted unless Git sync is explicitly configured.
- Keep passphrases in a secure vault; rotate them regularly with
Cyber Team Manager: Change Data Passphrase.
- Use the optional Git sync to replicate encrypted datasets across trusted workstations without exposing plaintext content.
- Comprehensive security testing covers HTML injection prevention, URL validation, data isolation, and CSP compliance.
- See
security.md for detailed vulnerability reporting procedures and security test coverage.
Troubleshooting & Support
- Reload the VS Code window if commands appear missing after installation.
- Ensure SharePoint credentials are current before importing or opening documents.
- For encryption issues, verify your passphrase or reset the workspace with
Cyber Team Manager: Reset Stored Data.
Testing
- Run the automated test suite with
npm test (151 tests covering features, user journeys, and security).
- Execute
npm run compile to confirm the extension builds before packaging.
- Security test suite validates HTML injection prevention, URL sanitization, and data isolation.
Contributing
- Contributions are welcome through issues and pull requests at
https://github.com/tobyharvey/cyber-team-manager.
- Follow the established coding standards and execute the test suite before opening a PR.
License
This project is licensed under the MIT License. See LICENSE for full details.
| |