Plafond des Mains et exclusions
Le plafond
Chaque action des Mains a un niveau. Le plafond que vous fixez est le niveau le plus élevé qu'une IA peut utiliser ; tout ce qui le dépasse est refusé. Une IA peut lire le plafond (main_ceiling), jamais le relever.
| Niveau | Nom | Ce qu'il permet | Outils (niveau nominal) |
|---|---|---|---|
| L0 | Lecture | Rien d'autre que la perception. Réglage par défaut. | aucun outil d'action |
| L1 | Sans risque | Actions réversibles : focus, fenêtre, navigation | main_navigate, main_hover, main_activate, main_window_minimize, main_window_hide, main_window_show |
| L2 | Saisie | Clics, saisie de texte, glisser, combinaisons de touches | main_click, main_type, main_drag, main_key |
| L3 | Validation | Les boutons qui engagent : envoyer, confirmer | main_press |
| L4 | Autonomie | Tout, sans confirmation action par action | main_mouse_down, main_mouse_up, main_key_down, main_key_up |
Le niveau d'un outil est nominal : la cible peut le relever selon la réversibilité de l'action, jamais l'abaisser. Détail : Mains.
Régler le plafond
Déplacez le curseur du panneau, entre L0 et L3. Jusqu'à L3, une action que Daimon juge irréversible, ou que l'IA déclare telle, s'arrête sur une boîte de confirmation, qui refuse d'elle-même au bout de 30 secondes.
Le consentement L4
L4 demande votre consentement explicite. Il s'engage :
- depuis le panneau, par une boîte de confirmation ; ou
- sous macOS, depuis un terminal, en tapant une phrase entière :
/Applications/Daimon.app/Contents/MacOS/Daimon consent engage.
Aucun fichier de configuration ne permet de l'atteindre et aucun outil ne permet à une IA de l'engager. Il reste actif jusqu'à ce que vous le désengagiez.
Les exclusions
Le fichier exclusions.yaml se trouve dans le dossier de configuration (panneau › Ouvrir le dossier de configuration). Sans ce fichier, aucune exclusion utilisateur n'est appliquée. Il contient une section exclusions: :
exclusions:
apps:
- com.example.app # identifiant de l'application
- { app: com.example.other, level: perception }
window_titles:
- '(?i)secret' # expression régulière
regions:
- {x: 0, y: 0, width: 400, height: 80}
secret_roles:
- AXSecureTextField
secret_apps:
- com.example.vault| Clé | Effet |
|---|---|
apps | Applications dont la présence au premier plan fait refuser la capture. Un identifiant seul vaut le niveau image ; une entrée {app, level} accepte image (ses pixels ne sortent jamais), perception (ni son arbre d'accessibilité, ni son texte) ou action (et Daimon n'y agit pas) |
window_titles | Expressions régulières : les fenêtres correspondantes sont retirées de l'arbre et refusées comme cibles |
regions | Zones de l'écran toujours noircies : quatre entiers x, y, width, height |
secret_roles | Rôles d'accessibilité dont la valeur est masquée ; par défaut AXSecureTextField |
secret_apps | Applications dont le contenu est toujours traité comme secret |
Un fichier malformé n'est pas ignoré en silence : une faute de syntaxe, un niveau mal orthographié ou une expression invalide donnent un fichier signalé cassé, et non une protection plus faible. L'état du fichier figure dans la clé exclusions de daimon_doctor.
Voir aussi Confidentialité.