{% extends "base.html" %} {% block title %}Threats × Components - Threat Model{% endblock %} {% block content %}

Threats × Components

{% if active_threats and sorted_components %} {% set col_span = active_threats | length + 1 %}
{% for sev, count in severity_classes.items() %} {% endfor %} {% for tid, threat in active_threats %} {% endfor %} {% set ns = namespace(current_class=None) %} {% for comp_name, comp in sorted_components %} {% set cls = comp.component_class or "Other" %} {% if cls != ns.current_class %} {% set ns.current_class = cls %} {% endif %} {% for tid, threat in active_threats %} {% set cell = status[tid].get(comp_name) %} {% if cell %} {% if cell.mitigated %} {% else %} {% endif %} {% else %} {% endif %} {% endfor %} {% endfor %}
{{ sev }}
Component
{{ cls }}
{{ comp_name }}
{% else %}

No active threats or affected components found.

{% endif %} {% endblock %} {% block scripts %} {% endblock %}