{% extends "base.html" %} {% block title %}cATO Dashboard — Boundary Canvas — ICDEV{% endblock %} {% block content %}

cATO Dashboard

Continuous Authorization to Operate health across all boundary designs. Click a row to view control findings.

Back to Boundary Canvas
{% for d in designs %} {% else %} {% endfor %}
Project / Design ATO Score Grade CAT I Findings Classification Last Updated
{{ d.name }} {% if d.score is not none %} {{ d.score|round(0)|int }}/100 {% else %} N/A {% endif %} {{ d.grade or '—' }} {{ d.cat1_findings if d.cat1_findings else '0' }} {{ d.classification or 'CUI' }} {{ d.updated_at[:16] if d.updated_at else '—' }}
No boundary designs found. Create one.

Cross-Fabric Posture

Five measures per fabric, each stated beside its own denominator, from both cATO modules — labelled by scope and never blended. A fabric nobody has assessed reads not assessed: that is not a clean bill of health.

{% if not fabric_posture or fabric_posture.get('unmeasurable') %}

Unmeasurable

{{ (fabric_posture.unmeasurable_reason if fabric_posture else 'roll-up unavailable') }}

No fabric was assessed, so nothing here is a verdict about posture. Once the fabric registry declares fabrics, each appears below with its own measures.

{% else %} {% for f in fabric_posture.fabrics %}

{{ f.display_name }} {{ f.fabric_state|replace('_', ' ') }}

{{ f.key }} · classification {{ f.classification or 'unlabelled' }} · impact level {{ f.impact_level or 'undeclared' }} · {{ f.measures_by_state.measured }} of {{ fabric_posture.measure_keys|length }} measures resolved

{% for key in fabric_posture.measure_keys %} {% set m = f.measures[key] %} {% endfor %}
MeasureValueDenominatorSource
{{ key|replace('_', ' ') }} {% if m.state == 'measured' %} {{ m.value }} {{ m.unit|default('')|replace('_', ' ') }} {% else %} {{ m.state|replace('_', ' ') }} {% endif %} {% if m.state == 'measured' %} of {{ m.denominator }} {{ m.denominator_of }} {% else %} {{ m.reason }} {% endif %} {{ m.source }}
{% for scope in ['system', 'application'] %} {% set s = f.cato_sources[scope] %}
{{ s.state|replace('_', ' ') }} {{ scope }} scope — {{ s.module }}
{{ s.scope_label }}{% if s.reason %} · {{ s.reason }}{% endif %} {% if scope == 'application' and s.never_evaluated %} · never evaluated: {{ s.never_evaluated|join(', ') }} {% endif %}
{% endfor %}
{% endfor %} {% endif %}

There is deliberately no overall number on this panel. The two cATO sources measure different populations — system authorization boundaries against deployed applications — and the five measures carry different denominators, so a single figure across them would have no denominator at all.

{% endblock %}