{% extends "base.html" %} {% import "_icon.html" as ico %} {% import "_empty.html" as empty %} {% import "_curb.html" as k with context %} {% block title %}Curb{% endblock %} {# The frame every Curb page shares (Curb PRD §11.3). Four scopes, one tab each; a scope's parts are pages under it, so each has its own address: This machine the same in every project Projects follows the project picker, which lists the Projects page Team your organization Every part opens the same way: what it is for, where its facts come from, and at most one main button. Then one table, with its search on top. Names and locations are not in this markup unless the browser asking holds a live reveal: the server leaves them out, the page does not hide them. #} {% block extra_head %} {# Scripts off: the page asks again by itself while a check, a scan or a test runs. #} {% if wait %}{% endif %} {% endblock %} {% block topbar_main %}

Curb

What your agents can reach, and what they left behind {% endblock %} {% block topbar_actions %} {% if shown %}
{% else %} {{ ico.icon('lock', 14) }} Show names and locations {% endif %} {% endblock %} {% block help_extra %}
/
Search the table on this page
{% endblock %} {% block content %}
{# Two conditions that change what every shield button does, said where they cannot be missed. #} {% if paused_until %}
Curb is not asking for approval until {{ paused_until }}. Three approvals were refused or ignored in ten minutes, so shield buttons wait until then.
{% endif %} {% if read_only %}
Curb is read-only on this machine. It has no way to ask you for an approval, so shield buttons cannot change anything. {% if asker == "Windows" %}Set up Windows Hello or a password in Windows settings.{% endif %}
{% endif %} {% if parts and (area != "team" or joined) %}
{% block scope %} {% if area == "machine" %}
{{ ico.icon('devices', 14) }} This machine. The same in every project.
{% elif area == "team" %}
{{ ico.icon('members', 14) }} Your organization. Through Flanner Mesh.
{% endif %} {% endblock %}
{% endif %}
{% block part %}{% endblock %}
{# ---------------------------------------------------------- the reviews #} {% block reviews %}{% endblock %} {% if review == "reveal" %} {% if reveal_blocked %}

Names stay hidden on this machine

Showing names here needs an approval prompt that can show a code, and {{ reveal_blocked }}.

This opens them in a window on your own screen instead:

{{ k.cmd("flanner curb show") }} {% else %}

Show names and locations?

Your operating system will ask it's you. Approve its prompt only if it shows this code:

{{ reveal_code }}

They show on this page for 5 minutes, then hide again. Nothing is written to disk.

Cancel
{% endif %}
{% endif %} {% if review == "add" %}

Check a new project

Curb checks the projects on your Projects page. Add the project there, and it appears in this list.

  1. Add it with New project. Or, in a terminal, inside the repository:
{{ k.cmd("flanner init") }}
  1. Come back and pick it. Curb reads the project's agent settings, workflows and code. It never runs them.

For a quick look without adding anything, run this in any folder:

{{ k.cmd("flanner curb map") }}
{% endif %} {% call k.review_box("forget", "Delete what Curb has stored?", "/curb/forget") %}

Your agents' settings do not change. This cannot be undone.

Settings backups stay, because they are the only undo for a fix. They remove themselves after 7 days.

{% endcall %}
{% endblock %}