Skip to content

Mains ceiling and exclusions ​

The ceiling ​

Each Mains (Hands) action has a level. The ceiling you set is the highest level an AI can use; anything above it is refused. An AI can read the ceiling (main_ceiling), never raise it.

LevelNameWhat it allowsTools (nominal level)
L0ReadNothing but perception. Default setting.no action tools
L1SafeReversible actions: focus, window, navigationmain_navigate, main_hover, main_activate, main_window_minimize, main_window_hide, main_window_show
L2InputClicks, typing text, dragging, key combinationsmain_click, main_type, main_drag, main_key
L3CommitButtons that commit: send, confirmmain_press
L4AutonomyEverything, without per-action confirmationmain_mouse_down, main_mouse_up, main_key_down, main_key_up

A tool's level is nominal: the target can raise it depending on how reversible the action is, never lower it. Details: Mains.

Setting the ceiling ​

Move the panel slider, between L0 and L3. Up to L3, an action that Daimon judges irreversible, or that the AI declares as such, stops at a confirmation dialog, which declines on its own after 30 seconds.

L4 requires your explicit consent. It is engaged:

  • from the panel, through a confirmation dialog; or
  • on macOS, from a terminal, by typing a full sentence: /Applications/Daimon.app/Contents/MacOS/Daimon consent engage.

No configuration file can reach it and no tool lets an AI engage it. It stays active until you disengage it.

Exclusions ​

The exclusions.yaml file is in the configuration folder (panel › Ouvrir le dossier de configuration (Open the configuration folder)). Without this file, no user exclusion is applied. It contains an exclusions: section:

yaml
exclusions:
  apps:
    - com.example.app                  # application identifier
    - { app: com.example.other, level: perception }
  window_titles:
    - '(?i)secret'                     # regular expression
  regions:
    - {x: 0, y: 0, width: 400, height: 80}
  secret_roles:
    - AXSecureTextField
  secret_apps:
    - com.example.vault
KeyEffect
appsApplications whose presence in the foreground makes capture refused. A bare identifier means level image; an {app, level} entry accepts image (its pixels never leave), perception (neither its accessibility tree nor its text) or action (and Daimon does not act in it)
window_titlesRegular expressions: matching windows are removed from the tree and refused as targets
regionsScreen areas that are always blacked out: four integers x, y, width, height
secret_rolesAccessibility roles whose value is masked; AXSecureTextField by default
secret_appsApplications whose content is always treated as secret

A malformed file is not silently ignored: a syntax error, a misspelled level or an invalid expression results in a file flagged as broken, not a weaker protection. The file's state appears in the exclusions key of daimon_doctor.

See also Privacy.