This repo has been populated by an initial template to help get you started. Please make sure to update the content to build a great experience for community-building.
As the maintainer of this project, please make a few updates:
- Improving this README.MD file to provide a great experience
- Updating SUPPORT.MD with content about this project's support experience
- Understanding the security reporting process in SECURITY.MD
- Remove this section from the README
This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit https://cla.opensource.microsoft.com.
When you submit a pull request, a CLA bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., status check, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
This project may contain trademarks or logos for projects, products, or services. Authorized use of Microsoft trademarks or logos is subject to and must follow Microsoft's Trademark & Brand Guidelines. Use of Microsoft trademarks or logos in modified versions of this project must not cause confusion or imply Microsoft sponsorship. Any use of third-party trademarks or logos are subject to those third-party's policies.
Each security component in recommendations.md
follows this structure:
### Component Name {#ComponentID}
**Why it's important:**
- Key benefit 1
- Key benefit 2
- Additional benefits...
**Implementation Steps:**
1. Major Step One
- Sub-step detail
- Sub-step detail
...
2. Major Step Two
...
**Learn More:**
- [Documentation Link](url)
- [Additional Resources](url)
Questions are defined in questions.json
:
{
"questions": [
{
"id": "ComponentID", // Matches the ID in recommendations.md
"text": "Question text?",
"description": "Additional context for the question",
"docLink": "https://learn.microsoft.com/...",
"children": ["ChildID1", "ChildID2"] // Optional: IDs of dependent components
}
]
}
- Use the
children
property to define dependencies between components - Only define relationships on the parent question
- Child questions will be automatically hidden when parent is marked as "Yes"
- Example relationships:
{ "id": "CA", // Conditional Access "children": ["MFA", "CloudID"] // CA depends on MFA and Cloud Identity }, { "id": "XDR", // Extended Detection and Response "children": ["DID", "MDO", "MDCA", "MDE", "MDVM"] // XDR includes multiple Defender products }
- Implementation Steps Toggle: Show/hide detailed implementation steps
- PDF Export: Generate a formatted PDF including:
- Current deployment status
- Mermaid diagram visualization
- Prioritized recommendations
- Clickable documentation links
- Deployment Visualization: Interactive diagram showing:
- Deployed components (green)
- Pending components (pink)
- Component relationships
index.html
: Main application and UI logicquestions.json
: Assessment questions and component relationshipsrecommendations.md
: Component documentation and implementation stepsDetailedDiagram.md
: Full deployment visualizationSimplifiedDiagram.md
: Condensed deployment visualization
- Add component documentation to
recommendations.md
- Add assessment question to
questions.json
- Update parent-child relationships if needed
- Update Mermaid diagrams in both
DetailedDiagram.md
andSimplifiedDiagram.md
- Add component to appropriate deployment phase
- Locate the component in
recommendations.md
- Update documentation while maintaining the established format
- Update corresponding question in
questions.json
- Update parent-child relationships if dependencies change
- Update diagram relationships if component dependencies change
- Maintain consistent component IDs across all files
- Define relationships only on parent components
- Keep implementation steps clear and actionable
- Verify all documentation links
- Test parent-child behavior after making relationship changes
- Test PDF export after making changes
- Update both detailed and simplified diagrams