{% extends "base.html" %} {% from "_macros.html" import findings_badges %} {% block title %}secfoo — Dashboard{% endblock %} {% block content %} Dashboard

AI Security & Assessment Hub

All security assessments run across every project, in one place.

{{ projects | length }} Applications reviewed
{{ severity.total }} Total findings
{{ third_party_count }} Third-party assessments
{{ responsible_ai_count }} Responsible AI coverage
{{ total_cost | fmt_cost }} AI spend

Top findings across the program

The highest-severity items across every activity — SAST, SCA, third-party vendor assessments, secret scanning, past-due architecture exceptions, and unmitigated threat-model gaps — not just this activity's own coverage.

{% if top_findings %}
{% for f in top_findings %} {% endfor %}
SeveritySourceFindingProjectDetail
{{ f.severity | capitalize }} {{ f.source }} {{ f.title }} {{ f.project }} {{ f.detail }}
{% else %}
No Critical/High findings across any activity right now.
{% endif %}

Findings by severity

{% for row in severity_rows %}
{{ row.label }}
{{ row.count }}
{% endfor %}

Activity coverage

Projects with at least one successful run of each activity.

{% for skill in skill_coverage %}
{{ skill.label }} {{ skill.covered }}/{{ skill.total }}
{% endfor %}

Responsible AI risk mix

{{ responsible_ai_count }} assessment(s) with a risk rating · AI-BOM: {{ models_count }} model(s), {{ tools_count }} tool(s) tracked.

Open Responsible AI view

AI spend by agent

{% if cost_by_agent %} {% for row in cost_by_agent %} {% set priced = row.unpriced_runs < row.runs %} {% endfor %}
AgentRunsTokensCost
{{ row.label }} {{ row.runs }}{{ ((row.input_tokens + row.output_tokens) | fmt_tokens) if (priced or row.input_tokens or row.output_tokens) else '-' }} {{ (row.cost_usd | fmt_cost) if priced else '-' }}

"-" means no cost was recorded: the agent doesn't report it (cursor, agy), or the runs predate cost tracking.

{% else %}

No runs yet.

{% endif %}

Recent assessments

{% if assessments %}
{% for a in assessments %} {% endfor %}
ProjectTypeStatusFindingsReviewed
{{ a.project_display_name }} {{ a.assessment_type | assessment_type_label }} {{ a.status | assessment_status_label }} {{ findings_badges(a) }} {{ a.review_date or (a.updated_at | fmt_time) }}
{% else %}
No assessments yet. Run secfoo assessment create --type internal, or use the "New Assessment" button on the Assessments page.
{% endif %} {% endblock %}