{# Extended Security Architecture Review dashboard: coverage, exceptions, CCM domain conformance, risk disposition, unreviewed/stale projects, recurring root causes, gate decisions, and standards deviation. See web/architecture_dashboard.py for what's real vs. approximated. #} {% from "_macros.html" import info_tip %} Program dashboard
{% call info_tip("Coverage") %}

Share of in-scope systems that have at least one successful architecture review.

In scope means every project that has an assessment.

{% endcall %} {{ dash.coverage_pct }}% Coverage — {{ dash.coverage_reviewed }} / {{ dash.coverage_in_scope }} in-scope systems
{% call info_tip("Exceptions past expiry") %}

Active exceptions whose expiry date has already passed.

Close the exception, or record a new one with a later date, to take it off this count.

{% endcall %} {{ dash.exceptions_past_expiry }} Exceptions past expiry
{% call info_tip("Open findings past due") %}

Findings a review left as Confirmed where that review is more than {{ past_due_sla_days }} days old.

Findings have no individual due dates, so the review's age stands in for one.

{% endcall %} {{ dash.open_findings_past_due }} Open findings past due (>{{ past_due_sla_days }}d)
{% call info_tip("Unverified mitigations") %}

Findings the review marked Conditional: a fix was proposed, but not confirmed in the code.

Confirm the mitigation in the next review to move them off this count.

{% endcall %} {{ dash.unverified_mitigations }} Unverified mitigations
{% call info_tip("Cycle time p90") %}

How many days nine out of ten assessments take, from start to completion.

One in ten takes longer than this number. A dash means no completed assessment has a duration yet.

{% endcall %} {{ dash.cycle_time_p90_days if dash.cycle_time_p90_days is not none else "—" }} Cycle time p90 (days)
{% call info_tip("CCM domain conformance") %}

Average score per Cloud Controls Matrix domain, taken from each project's latest review.

Hatched bars were not assessed (process-assured or not applicable). That is not a failing score.

{% endcall %}

CCM domain conformance

Hatched = not assessed by review (process-assured or not applicable), not a failing score.

{% for row in dash.ccm_rows %}
{{ row.name }}
{% if row.hatched %}
{% else %}
{% endif %}
{{ row.code }} — {% if row.hatched %}not assessed{% else %}{{ row.score }}%{% endif %}
{% endfor %}
{% call info_tip("Risk disposition") %}

What happened to findings across the latest reviews.

Remediated is the drop in finding count between a project's last two reviews. Mitigated is a Conditional verdict. Accepted is an active recorded exception. Open is Confirmed and not yet past due. Past due is Confirmed on a review older than {{ past_due_sla_days }} days.

{% endcall %}

Risk disposition

{% if dash.disposition_total %}
{% for key in ["remediated", "mitigated", "accepted", "open", "past_due"] %} {% set count = dash.disposition[key] %} {% if count %}
{% endif %} {% endfor %}
{% else %}
{% endif %}
Remediated ({{ dash.disposition.remediated }}) Mitigated ({{ dash.disposition.mitigated }}) Accepted ({{ dash.disposition.accepted }}) Open ({{ dash.disposition.open }}) Past due ({{ dash.disposition.past_due }})
{% call info_tip("Exception aging") %}

Active exceptions grouped by how soon they expire.

Past expiry is already overdue. The other three buckets are still inside 30, 60, and 90 days.

{% endcall %}

Exception aging

{{ dash.exception_aging.past_expiry }} Past expiry
{{ dash.exception_aging.due_0_30 }}Due ≤30d
{{ dash.exception_aging.due_31_60 }}Due ≤60d
{{ dash.exception_aging.due_61_90 }}Due ≤90d

Unreviewed & stale {% call info_tip("Unreviewed & stale", inline=True) %}

In-scope projects whose architecture review is missing, stale (latest successful review is over a year old), or whose trust boundaries changed.

The table shows the most recently active of these.

{% endcall %}

{% if dash.stale_projects | length > dash.recent_stale_projects | length %} Latest {{ dash.recent_stale_projects | length }} of {{ dash.stale_projects | length }} {% endif %}
{% if dash.stale_projects %}
{% for p in dash.recent_stale_projects %} {% endfor %}
ProjectStateLast reviewed
{{ p.project_display_name }} {% if p.state == "never_reviewed" %}Never reviewed {% elif p.state == "boundary_changed" %}Trust boundary changed {% else %}Stale ({{ p.days_since_review }}d){% endif %} {{ (p.last_reviewed_at | fmt_time) if p.last_reviewed_at else "Never" }}
{% else %}
Nothing unreviewed or stale — every in-scope project has a recent review.
{% endif %}

Top recurring root causes {% call info_tip("Top recurring root causes", inline=True) %}

The most common root causes cited across architecture reviews, including older ones.

A cause that keeps coming back is best fixed once, at platform level, rather than project by project.

{% endcall %}

{% if dash.root_causes %}
{% for cause, count in dash.root_causes %}
{{ cause }}
{{ count }}
{% endfor %}
{% else %}
No findings yet to aggregate.
{% endif %}
{% call info_tip("Gate decision mix") %}

How each project's latest review was gated, from the design verdict in the report.

Approve is a sound design. With conditions can proceed once named fixes land. Reject should not proceed as designed.

{% endcall %}

Gate decision mix

{{ dash.gate_mix.approve + dash.gate_mix.conditions + dash.gate_mix.reject }}
Approve ({{ dash.gate_mix.approve }}) With conditions ({{ dash.gate_mix.conditions }}) Reject ({{ dash.gate_mix.reject }})
{% call info_tip("Most-deviated standards") %}

Standards the reviews cite most often as not being met.

A standard high on this list is a candidate for a shared control, rather than a one-off fix in each project.

This card shows the top five. The longer ranking is one click away, and it stops at the top fifteen.

{% endcall %}

Most-deviated standards

{% if dash.top_standards_preview %} {% for standard, count in dash.top_standards_preview %}
{{ standard }}
{{ count }}
{% endfor %} {% if dash.standards_total > dash.top_standards_preview | length %} {% if dash.standards_total > dash.top_standards | length %}View top {{ dash.top_standards | length }}{% else %}View all {{ dash.standards_total }}{% endif %} → {% endif %} {% else %}

No standard-specific findings cited yet.

{% endif %}
{% call info_tip("Uncovered CCM domains") %}

Cloud Controls Matrix domains that no architecture review has assessed yet.

A domain listed here has no score. That is not the same as failing it.

{% endcall %}

Uncovered CCM domains

{{ dash.uncovered_ccm_domains | length }} / 17 {% if dash.uncovered_ccm_domains %} {% else %}

Every domain has been assessed by at least one review.

{% endif %}