A simplified, web-based system modeling board designed for C4 Architecture and Threat Modeling. This tool allows security engineers and architects to diagram systems and map assets, threats, and security controls in an interactive way.
Try it out: board.opiasec.com
The goal of this application is to bridge the gap between software architecture and security analysis. By using the C4 Model as a foundation, users can enrich their diagrams with security-specific metadata:
- Assets: Identify what data or services are valuable.
- Threats: Map potential risks directly to specific software systems or containers.
- Controls: Visualize the security measures implemented to mitigate threats.
- C4 Model Support: Dedicated nodes for Persons, Software Systems, Containers, and Boundaries.
- Security Badges: Drag & drop Assets, Threats, and Controls directly onto architecture nodes to "attach" them.
- Interactive Canvas:
- Drag & Drop: Build diagrams easily from a dedicated sidebar.
- Multi-Selection: Select multiple elements (Shift + Click or Box Selection) for batch actions.
- Keyboard Shortcuts: Full support for
Undo/Redo(Ctrl+Z/Y),Copy/Paste(Ctrl+C/V), andDelete. - Hover Expansion: Security badges are compact icons that expand to show labels on hover.
- Persistence:
- Local Storage: Your progress is automatically saved in the browser.
- JSON Import/Export: Export your threat model to a JSON file and import it later.
- Node.js (v18 or higher recommended)
- npm (comes with Node.js)
- Clone the repository or download the source code.
- Install the dependencies:
npm install
To start the development server:
npm run devThe application will be available at http://localhost:5173/.
- Diagramming: Drag C4 elements from the left sidebar to the canvas.
- Connecting: Click and drag from one node handle to another to create labeled relationships (e.g., "Uses", "HTTPS").
- Threat Modeling: Drag a Threat, Asset, or Control from the sidebar and drop it inside a Software System or Container node. It will become a child of that node and move with it.
- Editing: Click on any node or connection to open the Edit Panel on the right.
- Saving: Use the Export button to save your model as a JSON file for sharing or later use.
Built with ❤️ for Security Engineers.