{% extends "curb_base.html" %} {# Team › Devices: each device's newest report, as the terminal last fetched and checked them. #} {% block part %} {% if not joined %} {% call empty.state("team", "See every device's risk in one place") %}

With Flanner Mesh, each device signs a report of counts, and an admin sees them here. This machine has not joined a team, so there is nothing here yet.

Join a team {% endcall %} {% else %}
{% set src = "A report holds counts only: no paths, names or repositories." ~ ((" Fetched " ~ ago(view.fetched_at) ~ ".") if view.fetched_at else "") %} {% call k.head("Each device's risk and policy, from reports the devices sign.", src) %}{% endcall %} {% if not view.fetched_at %} {% call empty.state("team", "No device reports on this machine yet") %}

An admin fetches them in a terminal. Each report's signature is checked on this machine, with the device's own key.

{{ k.cmd("flanner curb fleet") }} {% endcall %} {% else %}
{{ view.rows | length }}
Devices
{{ view.drift }}
No longer meet the policy
{{ view.quiet }}
Have gone quiet
Devices {{ k.tally() }} {% call k.tools("Search devices") %} {% endcall %}
DevicePolicyWorst riskLeaked secretsLast reportReport
{% for row in table.rows %}
{{ row.name }} {% if row.mine %}This machine · {% endif %}{{ row.agents or "No agent reported" }} {{ row.policy }} {% if row.worst %}{{ k.risk(row.worst, row.worst_tone) }}{% else %}{{ k.st("quiet", "Not known") }}{% endif %} {{ "Not scanned" if row.leaked is none else row.leaked }} leaked {{ ago(row.last) | said if row.last else "Never" }} {% if row.quiet %}Gone quiet{% endif %} {% if row.verified %}{{ k.st("on", "Verified") }}{% else %}Not verified {{ row.problems | join(" ") }}{% endif %}
{% endfor %} {{ k.foot("No device matches that search.") }}
{% endif %}
{{ k.terminal("Fetch the newest reports", "For admins. The web UI never contacts your organization. The terminal does, and this page then shows what it fetched.", "flanner curb fleet") }}
{% call k.explain("How to read this", "Every report is checked on this machine, against the device's own key.") %}
Not verified
The report was replayed, arrived out of order, or is not signed by that device. Its numbers are not trusted.
Gone quiet
No report for more than a day, or a report went missing.
No longer meets
The device's settings changed after the policy was applied.
{{ k.cmd("flanner curb fleet") }} {% endcall %}
{% endif %} {% endblock %}