Bromure Agentic Coding — Référence des paramètres de profil
Chaque profil de Bromure Agentic Coding dispose de sa propre configuration indépendante répartie sur onze panneaux, accessibles en cliquant sur l'icône d'engrenage à côté d'un profil dans le sélecteur.
Général
Identité et comportement de base du profil.

| Paramètre | Description |
|---|---|
| Nom | Le nom affiché dans la liste des profils. |
| Couleur | Une pastille colorée dessinée à côté du profil dans le sélecteur pour distinguer visuellement les profils. Options : Bleu, Rouge, Vert, Orange, Violet, Rose, Sarcelle, Gris. |
| Disposition clavier | La disposition clavier utilisée dans la VM. "Auto (match macOS)" reflète dynamiquement la source de saisie active sur l'hôte, avec mise à jour en direct lorsque vous en changez. Sélectionnez une autre disposition pour fixer la VM sur une disposition XKB spécifique, indépendamment de l'état de macOS. |
| Délai de répétition des touches | Temps en millisecondes avant qu'une touche maintenue ne commence à se répéter dans la VM. La valeur par défaut est celle de macOS ; modifiez-la pour outrepasser la cadence de répétition X11 indépendamment de l'hôte. |
| Fréquence de répétition des touches | Fréquence de répétition en Hz une fois le délai écoulé. La valeur par défaut est celle de macOS. Utile lorsque le pipeline X-server donne l'impression d'une saisie plus laggy que dans une application Cocoa — multiplier la fréquence par 2× la valeur macOS est un correctif courant. |
| À la fermeture de la fenêtre | Ce qui advient à la VM lorsque vous fermez une fenêtre de session : Suspendre (sauvegarde la RAM sur disque pour une reprise instantanée — par défaut), Éteindre (extinction ACPI propre) ou Demander (invite à chaque fois). |
| Commentaires (optionnel) | Une courte note à propos du profil. Affichée en infobulle au survol du profil dans la liste. |
Agent
Choisissez quels agents de coding sont disponibles dans ce profil et comment ils s'authentifient. L'agent marqué Primary est lancé automatiquement dans le premier onglet kitty à l'ouverture d'une session ; les autres agents activés sont installés et authentifiés mais démarrés à la demande depuis un nouvel onglet.

| Paramètre | Description |
|---|---|
| Claude Code | Active ou désactive l'agent Claude Code pour ce profil. Activez pour le configurer. |
| Claude Code — Primary | Marque Claude Code comme agent primaire (lancé automatiquement au démarrage de la session). Cliquez sur "Primary" sur n'importe quel agent activé pour le promouvoir. |
| Claude Code — Auth | Méthode d'authentification pour Claude Code : API token (collez une ANTHROPIC_API_KEY — injectée comme variable d'environnement, jamais écrite directement dans la VM), Subscription (interactive login) (exécutez claude login une fois à l'intérieur de la VM), ou Bedrock (AWS) (utilisez vos identifiants AWS via le runtime Bedrock — nécessite des identifiants AWS configurés dans l'onglet Identifiants). |
| Claude Code — Require approval to use | (Mode token uniquement.) Lorsque activé, chaque échange faux→réel de la clé API Anthropic affiche une boîte de dialogue de consentement côté hôte avant que la clé ne soit transmise. Désactivé par défaut. |
| Claude Code — ID de modèle par défaut | (Mode Bedrock uniquement.) Remplace l'identifiant de modèle Bedrock utilisé par Claude Code, par ex. us.anthropic.claude-sonnet-4-6-v1:0. Laissez vide pour utiliser la valeur par défaut intégrée de Claude Code. |
| Codex | Active ou désactive l'agent OpenAI Codex pour ce profil. Activez pour configurer l'authentification. |
| Codex — Auth | Méthode d'authentification pour Codex : API token (collez une OPENAI_API_KEY) ou Subscription (interactive login) (exécutez codex login une fois à l'intérieur de la VM). |
| Codex — Require approval to use | (Mode token uniquement.) Lorsque activé, chaque échange faux→réel de la clé API OpenAI affiche une boîte de dialogue de consentement côté hôte avant que la clé ne soit transmise. Désactivé par défaut. |
| Grok Build | Active ou désactive l'agent Grok Build (xAI) pour ce profil. Activez pour le configurer. |
| Grok Build — Auth | Méthode d'authentification pour Grok Build : API token (collez une XAI_API_KEY — injectée comme variable d'environnement ; le proxy rebascule la fausse clé xai-brm-… vers la vraie valeur sur les requêtes vers api.x.ai, de sorte que la vraie clé n'entre jamais dans la VM) ou Subscription (interactive login) (exécutez grok login une fois à l'intérieur de la VM). Bedrock n'est pas disponible pour Grok Build. |
| Grok Build — Require approval to use | (Mode token uniquement.) Lorsque activé, chaque échange faux→réel de la clé API xAI affiche une boîte de dialogue de consentement côté hôte avant que la clé ne soit transmise. Désactivé par défaut. |
Fusion
Fusion (BETA) répond à chaque invite avec plusieurs modèles simultanément : un modèle juge identifie où les ébauches se rejoignent, divergent et brillent chacune, puis synthétise une unique meilleure réponse transmise à Claude Code comme si un seul modèle l'avait rédigée. Fusion s'exécute sur la session Claude Code (en interceptant l'API de Claude) et nécessite donc au moins deux agents configurés dans ce profil. Il s'active par session depuis le bouton ⚡ dans la barre de titre de la fenêtre de session ; la configuration ci-dessous définit quels agents participent et quel modèle joue le rôle de juge.

| Paramètre | Description |
|---|---|
| Agents à fusionner | Les agents dont les ébauches sont fusionnées. Chaque agent disposant d'une accréditation utilisable (configurée dans le panneau Agents) reçoit une case à cocher ; les agents sans accréditation apparaissent désactivés avec la mention « — pas d'accréditation ». Au moins deux agents doivent être activés avec une accréditation pour que Fusion soit utilisable. |
| Juge — Fournisseur | Le modèle de quel agent configuré joue le rôle de juge pour peser les ébauches et rédiger la réponse finale. Par défaut, le premier agent utilisable. |
| Juge — Modèle | Le modèle spécifique utilisé pour le jugement, récupéré en temps réel pour le fournisseur sélectionné. Laissez sur (par défaut) pour laisser le fournisseur décider, ou sélectionnez un modèle spécifique ; un modèle personnalisé précédemment enregistré reste sélectionnable même s'il ne figure pas dans la liste récupérée. |
Dossiers
Dossiers Mac à partager dans la VM. Chaque dossier est monté sous /home/ubuntu/<basename> (par ex., ~/Documents → ~ubuntu/Documents). Limité à 8 dossiers par profil.

| Paramètre | Description |
|---|---|
| Liste des dossiers | Les chemins de l'hôte actuellement partagés dans la VM. Chaque ligne affiche le nom du dossier et son chemin complet sur votre Mac. Cliquez sur le bouton moins pour retirer un partage. |
| Ajouter un dossier… | Ouvre un sélecteur de fichiers pour choisir un ou plusieurs répertoires à partager. Grisé lorsque 8 dossiers sont déjà configurés. |
Identifiants
Secrets et identités injectés dans la VM au démarrage de la session. Toutes les valeurs réelles restent sur l'hôte ; le proxy MITM les substitue par de faux marqueurs sur le réseau afin que les secrets n'entrent jamais dans l'espace d'adressage de la VM.

| Paramètre | Description |
|---|---|
| Identité Git — Nom | Écrit dans user.name de ~/.gitconfig à l'intérieur de la VM. Laissez vide pour conserver les valeurs par défaut de git. |
| Identité Git — E-mail | Écrit dans user.email de ~/.gitconfig à l'intérieur de la VM. Laissez vide pour conserver les valeurs par défaut de git. |
| Clés SSH | Gère la paire de clés ed25519 auto-générée (une par profil) ainsi que toute clé privée importée. La clé publique générée est affichée ici pour être collée dans github.com/settings/keys. Les clés importées (RSA, ed25519, ecdsa, y compris celles protégées par une passphrase) sont chargées dans le ssh-agent bromure propre au profil à chaque lancement de session ; les passphrases sont stockées dans le trousseau macOS. |
| Clés SSH — Exiger une approbation à l'usage | Lorsque activé, chaque demande de signature SSH utilisant cette clé affiche une boîte de dialogue de consentement côté hôte. L'utilisateur choisit une autorisation limitée dans le temps (5 min / 1 h / reste de la session) ou refuse. Désactivé par défaut. |
| Jetons GitHub | Jetons d'accès personnels pour git via HTTPS vers github.com. Écrits dans ~/.git-credentials et récupérés automatiquement par la CLI gh. Le vrai jeton reste sur l'hôte ; le proxy substitue un faux sur les requêtes sortantes. |
| Jetons GitHub — Exiger une approbation à l'usage | (Par jeton.) Lorsque activé pour une entrée de jeton donnée, chaque échange faux→réel de ce jeton affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| Jetons GitLab | Jetons d'accès personnels pour git via HTTPS vers gitlab.com et les instances GitLab auto-hébergées. Récupérés automatiquement par la CLI glab. |
| Jetons GitLab — Exiger une approbation à l'usage | (Par jeton.) Lorsque activé pour une entrée de jeton donnée, chaque échange faux→réel de ce jeton affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| Jetons Bitbucket | App passwords pour git via HTTPS vers bitbucket.org. |
| Jetons Bitbucket — Exiger une approbation à l'usage | (Par jeton.) Lorsque activé pour une entrée de jeton donnée, chaque échange faux→réel de ce jeton affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| Kubernetes | Une entrée par contexte de cluster. Bromure génère un ~/.kube/config synthétique dans la VM avec des certificats client jetables ; les vrais identifiants restent sur l'hôte et sont substitués par le proxy sur les requêtes vers l'API-server. Les contextes à plugin exec sont sondés sur l'hôte afin que kubectl voie toujours un jeton frais. Les contextes peuvent être ajoutés manuellement ou importés depuis un fichier kubeconfig existant. |
| Kubernetes — Exiger une approbation à l'usage | (Par contexte.) Lorsque activé pour un contexte kubeconfig donné, chaque échange faux→réel de son bearer token ou de la sortie du plugin exec affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| DigitalOcean | Jeton d'accès personnel depuis cloud.digitalocean.com. Injecté comme variable d'environnement DIGITALOCEAN_ACCESS_TOKEN et ~/.config/doctl/config.yaml — doctl auth init est inutile. |
| DigitalOcean — Exiger une approbation à l'usage | Lorsque activé, chaque échange faux→réel du jeton d'accès personnel DigitalOcean affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| AWS | Identifiants AWS pour la CLI aws et les SDK. Prend en charge les Static keys (Access Key ID + Secret Access Key + Session Token optionnel + région par défaut) et SSO / Identity Center (sélectionnez un profil nommé depuis ~/.aws/config). Le vrai secret n'atteint jamais la VM — le proxy MITM de l'hôte intercepte et re-signe les requêtes SigV4 avec le matériel réel ; si le proxy est contourné, AWS rejette avec InvalidSignatureException. |
| AWS — Exiger une approbation à l'usage | Lorsque activé, chaque appel de signature SigV4 côté hôte (un par requête API AWS) affiche une invite de consentement jusqu'à ce qu'une autorisation limitée dans le temps le couvre. |
| Registres de conteneurs | Authentification HTTP Basic par registre pour docker pull / docker push. Prend en charge Docker Hub, GHCR, GitLab Container Registry, Quay et les registres privés arbitraires. Un faux base64("<user>:<derived>") est écrit dans ~/.docker/config.json dans la VM ; le proxy substitue la vraie valeur sur le réseau. Peut être peuplé en important un ~/.docker/config.json existant. |
| Registres de conteneurs — Exiger une approbation à l'usage | (Par registre.) Lorsque activé pour une entrée de registre donnée, chaque échange faux→réel de ses identifiants Basic-auth affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| Autres clés API | Règles manuelles de substitution de jetons pour toute API au-delà de celles gérées automatiquement (Anthropic, OpenAI, GitHub, GitLab, DigitalOcean, Kubernetes). Chaque entrée frappe un nouveau faux (brm_…) exporté comme variable d'environnement nommée dans la VM ; le proxy le rebascule vers la vraie valeur sur les requêtes sortantes vers l'hôte éventuellement spécifié. |
| Autres clés API — Exiger une approbation à l'usage | (Par jeton.) Lorsque activé pour une entrée de jeton manuel donnée, chaque substitution faux→réel de ce jeton affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| MongoDB | Points de terminaison de la MongoDB Atlas Data API. Chaque entrée spécifie un nom d'affichage, le nom d'hôte nu du point de terminaison, le type d'authentification (clé API, jeton Bearer ou Nom d'utilisateur + mot de passe) et un ou plusieurs noms de variables d'environnement sous lesquels la fausse accréditation est exportée dans la VM. Le secret réel reste sur l'hôte ; le proxy le substitue sur les requêtes sortantes vers l'hôte spécifié. Un mode Guardrails par point de terminaison (Off / Prompt avant écriture / Block destructive / Read-only) peut également être défini ici et est appliqué dans le proxy — deleteOne/deleteMany = destructif, find/aggregate = lecture. |
| MongoDB — Exiger une approbation à l'usage | (Par point de terminaison.) Lorsque activé pour un point de terminaison donné, chaque échange faux→réel de ses identifiants affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| ClickHouse | Points de terminaison de l'interface HTTP ClickHouse. Chaque entrée spécifie un hôte, un type d'authentification, des noms de variables d'environnement et un mode Guardrails optionnel. Le proxy intercepte les requêtes vers l'hôte et substitue la vraie accréditation sur le réseau. Guardrails classe le SQL par mot-clé initial : DROP/TRUNCATE/DELETE = destructif ; INSERT/CREATE = écriture ; SELECT/SHOW = lecture. |
| ClickHouse — Exiger une approbation à l'usage | (Par point de terminaison.) Lorsque activé pour un point de terminaison donné, chaque échange faux→réel de ses identifiants affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
| Elasticsearch | Points de terminaison Elasticsearch. Chaque entrée spécifie un hôte, un type d'authentification, des noms de variables d'environnement et un mode Guardrails optionnel. Guardrails classe par méthode HTTP et chemin : DELETE et _delete_by_query = destructif ; _search/_count/_msearch = lecture ; _bulk/index/_update = écriture. |
| Elasticsearch — Exiger une approbation à l'usage | (Par point de terminaison.) Lorsque activé pour un point de terminaison donné, chaque échange faux→réel de ses identifiants affiche une boîte de dialogue de consentement côté hôte. Désactivé par défaut. |
Environnement
Simples paires KEY=VALUE exportées dans chaque shell de la VM via proxy.env (sourcé depuis .bashrc). Les valeurs sont écrites verbatim — pas de substitution par le proxy — donc ne placez pas de secrets ici. Destiné aux bascules non secrètes telles que les niveaux de log, les feature flags et les options de build.

| Paramètre | Description |
|---|---|
| Liste des variables | Les variables d'environnement actuellement configurées. Chaque ligne comporte un champ nom et un champ valeur. Cliquez sur le bouton moins pour retirer une variable. |
| Ajouter une variable | Ajoute une nouvelle ligne KEY=VALUE vide. |
MCP
Serveurs Model Context Protocol qui donnent à l'agent accès à des outils externes et à du contexte. Les configurations sont traduites au format approprié pour l'agent actif (JSON pour Claude Code ou TOML pour Codex) et injectées dans la VM au démarrage.

| Paramètre | Description |
|---|---|
| Liste des serveurs | Serveurs MCP actuellement configurés pour ce profil. Chaque serveur peut être activé ou désactivé indépendamment. Prend en charge le transport HTTP (un serveur distant basé sur une URL, avec un bearer token optionnel) et le transport stdio (une commande locale lancée à l'intérieur de la VM). |
| Ajouter un serveur | Ajoute une nouvelle entrée de serveur MCP. |
Traçage
Contrôle la façon dont le proxy MITM enregistre le trafic pour ce profil. Les niveaux plus élevés écrivent des fichiers de corps chiffrés sur le disque ; tous sont opt-in. Les données enregistrées peuvent être consultées dans Application → Trace Inspector (⇧⌘I).

| Paramètre | Description |
|---|---|
| Traçage de session | Avec quelle agressivité le proxy enregistre le trafic. Off — rien d'enregistré (par défaut). Activity — métadonnées uniquement : hôte, statut, latence, rapport de substitution, avertissements de fuite ; aucun corps de requête ou de réponse. AI request details — comme Activity, plus les corps complets pour les hôtes LLM connus (Anthropic, OpenAI, Google, Cohere, Mistral, Perplexity, x.ai, Groq, Replicate, HuggingFace). Everything — corps pour chaque hôte ; consomme l'espace disque le plus rapidement (plafonné à 100 MB par session / 5 GB au total). Les corps sont chiffrés AES-GCM avec la même clé du trousseau que les secrets de profil. |
| Mode privé | (Affiché uniquement sur les Mac enrôlés dans un workspace bromure.io.) Lorsque activé, les sessions de ce profil ne diffusent pas de métadonnées (outils, fichiers, commandes, consommation de jetons) vers le workspace. L'inspecteur de traces local n'est pas affecté. Utile lorsque vous travaillez avec une clé API personnelle que vous ne souhaitez pas que votre admin voie. |
| Substitution du jeton d'abonnement Claude | (Affiché uniquement après que le proxy a interrogé l'utilisateur à propos de ce profil.) Indique si les vrais jetons OAuth Claude sont actuellement substitués par le proxy (Active) ou si l'utilisateur a refusé la substitution (Declined). Un bouton de réinitialisation permet de redemander à l'utilisateur à la prochaine session. |
| Substitution du jeton d'abonnement Codex | Même consentement de substitution à trois états que ci-dessus, limité aux jetons OAuth Codex / ChatGPT (~/.codex/auth.json). Affiché indépendamment afin qu'un profil utilisant les deux agents puisse gérer chaque fournisseur séparément. |
Guardrails
Moteur de stratégie côté hôte qui supprime les opérations destructives des protocoles utilisés par l'agent. L'application se fait dans le proxy MITM sur l'hôte, de sorte qu'un agent défaillant ou compromis dans la VM ne peut pas le contourner — les appels bloqués retournent une erreur 403 que l'agent voit comme un échec API normal. Chaque ressource prend en charge trois modes : Off (pas de filtrage — par défaut), Block destructive (bloquer les suppressions/drops/terminaisons ; autoriser les créations et les mises à jour) ou Read-only (bloquer toutes les mutations ; lectures uniquement).

| Paramètre | Description |
|---|---|
| Kubernetes | Mode Guardrail pour les serveurs d'API Kubernetes configurés dans les kubeconfigs de ce profil. Basé sur la méthode HTTP : DELETE = destructif (inclut deletecollection) ; toutes les écritures sont bloquées en mode lecture seule. Un avertissement est affiché si aucun kubeconfig n'est configuré. |
| AWS | Mode Guardrail pour toutes les API *.amazonaws.com. Classifié par nom d'action extrait de l'en-tête X-Amz-Target (services à protocole JSON comme DynamoDB/Lambda) ou du paramètre de formulaire Action= (services à protocole de requête comme EC2/IAM/SQS) ; se rabat sur la méthode HTTP pour S3 et les requêtes de style REST. Delete*/Terminate*/Remove*/Purge*/Destroy* = destructif ; Get*/List*/Describe* = lecture. |
| DigitalOcean | Mode Guardrail pour api.digitalocean.com et *.digitalocean.com. Basé sur la méthode HTTP : DELETE = destructif ; GET/HEAD = lecture. |
| Docker registries | Mode Guardrail pour les registres de conteneurs configurés dans les Credentials de ce profil. Basé sur la méthode HTTP pour le nom d'hôte du registre : DELETE = destructif (suppression de tag/manifest) ; GET/HEAD = lecture (pull) ; PUT/POST = écriture (push). Un avertissement est affiché si aucun registre n'est configuré. |
| GitHub | Mode Guardrail pour l'API REST de github.com et git via HTTPS. Basé sur la méthode pour REST ; git push (git-receive-pack) est traité comme une écriture et bloqué en mode lecture seule ; git fetch (git-upload-pack) est toujours autorisé. |
| GitLab | Mode Guardrail pour l'API REST de gitlab.com et git via HTTPS. Même logique de classification que GitHub. |
| Bitbucket | Mode Guardrail pour l'API REST de bitbucket.org et git via HTTPS. Même logique de classification que GitHub. |
| Databases | Mode Guardrails par point de terminaison pour chaque point de terminaison de base de données HTTPS configuré sous Credentials (MongoDB, ClickHouse, Elasticsearch). Affiché ici sous forme de lignes individuelles, une par point de terminaison. Les modes et les règles de classification correspondent à ceux décrits dans la section Credentials pour chaque moteur. Une invite est affichée si l'hôte du point de terminaison n'est pas encore défini. |
Supply Chain
Bromure scanne chaque téléchargement de paquet (npm, PyPI, Cargo, RubyGems, Maven, NuGet, modules Go, Packagist) via le proxy MITM de l'hôte et applique ces politiques avant que l'agent ne voie la réponse. Le .npmrc / pip.conf dans la VM ne peut que restreindre davantage ces paramètres — il ne peut pas les assouplir. Utilisez les listes d'autorisation par paquet pour des dérogations chirurgicales. Tous les sélecteurs de gravité proposent : Faible et plus, Moyen et plus, Élevé et plus, ou Critique uniquement.

| Paramètre | Description |
|---|---|
| Age gate — Refuser les paquets plus récents que la limite | Lorsque activé, bloque les paquets plus récents que la limite d'âge minimum, se défendant contre les publications malveillantes récentes. Activé par défaut (âge minimum de 2 jours). |
| Age gate — Âge minimum | La limite en jours (0–90). Les références flottantes (latest, plages semver) se résolvent silencieusement vers la version la plus récente antérieure à la limite ; les références épinglées sur des versions trop récentes obtiennent un 451 avec un message d'erreur Bromure clair. |
| Age gate — Paquets exemptés | Liste d'autorisation par paquet exemptée de l'age gate. Format : npm:axios (qualifié par écosystème) ou simplement axios (tout écosystème). |
| Vérification des vulnérabilités OSV | Lorsque activé, recherche les paquets sur api.osv.dev (gratuit, aucune clé requise) et bloque ceux dont la gravité est égale ou supérieure à la gravité choisie. Agrège la base de données GitHub Advisory, les avis PyPI, la base de données de Go, RubySec, etc. Désactivé par défaut — un CVE de faible gravité dans un sous-paquet transitif ne devrait pas interrompre un flux de travail. |
| OSV — Bloquer à la gravité | Le seuil de gravité à partir duquel un paquet avec une vulnérabilité connue est bloqué. |
| socket.dev — Clé API | Un token d'API socket.dev (disponible sur socket.dev/dashboard/settings/api-tokens) qui déverrouille les deux vérifications socket.dev ci-dessous. Stocké côté hôte uniquement — jamais exporté dans la VM ; les appels vont directement vers api.socket.dev depuis le proxy MITM de l'hôte. Les bascules ci-dessous sont désactivées jusqu'à ce qu'une clé soit saisie. |
| socket.dev — Bloquer les paquets compromis | Lorsque activé, bloque les paquets que socket.dev signale comme compromis : scripts d'installation malveillants, malwares, typosquats ou télémétrie suspecte. |
| socket.dev — Bloquer les paquets avec des CVE connus | Lorsque activé, bloque les paquets avec des CVE connus dont la gravité est égale ou supérieure au seuil de blocage CVE. |
| socket.dev — Seuil de blocage CVE | Le seuil de gravité pour le blocage CVE de socket.dev. Désactivé sauf si « Bloquer les paquets avec des CVE connus » est actif. |
| Scripts d'installation — Supprimer les scripts d'installation | Lorsque activé, supprime preinstall / install / postinstall / prepare des tarballs npm à la volée. Bromure réécrit le tarball, supprime les clés de script du package.json et met à jour le hash des métadonnées du registre afin que la vérification de npm reste valide pour les installations non épinglées. |
| Scripts d'installation — Liste d'autorisation | Paquets autorisés à conserver leurs scripts d'installation (les compilateurs de liaison comme better-sqlite3 ou node-canvas en ont légitimement besoin). Format : npm:better-sqlite3. |
| Installations épinglées par lockfile — Demander avant de passer | Lorsque activé, demande avant de passer les tarballs épinglés par lockfile non modifiés (npm ci, pip --require-hashes). Ceux-ci utilisent des hashes d'intégrité cryptographique intégrés dans un lockfile que Bromure ne peut pas réécrire sans casser la vérification, donc le premier téléchargement épinglé par lockfile dans un lot affiche une boîte de dialogue hôte (Autoriser une fois / 15 min / pour la session / Ne pas autoriser) et le lot entier suit cette décision. |
Injection de prompt
Bromure analyse le trafic IA de l'agent sur l'appareil à la recherche d'instructions injectées ou frauduleuses — rien ne quitte le Mac. Chaque détecteur utilise un modèle local, téléchargé depuis bromure.io la première fois que vous l'activez. Les détections apparaissent dans la fenêtre Journal de sécurité (Fenêtre → Journal de sécurité…).

| Paramètre | Description |
|---|---|
| Détecter l'injection de prompt dans le code source | Lorsque activé, évalue le contenu des fichiers, les pages web et la sortie des outils que l'agent lit (ses blocs tool_result) avec le modèle PromptGuard local. Détecte les instructions « ignorez les instructions précédentes / exfiltrez les secrets » cachées dans un dépôt malveillant. Télécharge ~272 Mo à la première activation. |
| Détecter les instructions frauduleuses dans les fichiers CLAUDE.md et similaires | Lorsque activé, évalue les fichiers d'instructions / paramètres que Claude Code, Codex et Grok chargent comme autorité (CLAUDE.md, AGENTS.md, GROK.md, et leurs variantes imbriquées / globales) à l'aide d'un classificateur ModernBERT affiné plus un scanner déterministe qui détecte l'obfuscation par Unicode invisible (payloads zéro-largeur / bidirectionnels / Unicode-tag) que le modèle ne peut pas lire. Télécharge ~571 Mo à la première activation. |
| Lorsqu'une injection est détectée — Journaliser et continuer | Enregistre chaque détection dans la fenêtre Journal de sécurité et laisse la requête continuer. Comportement par défaut. |
| Lorsqu'une injection est détectée — Me demander quoi faire | Met en pause la requête sortante et affiche le texte signalé dans une boîte de dialogue ; choisissez de l'autoriser ou de la bloquer. |
| Lorsqu'une injection est détectée — Bloquer unilatéralement | Bloque la requête avant que le modèle ne voie le contenu — l'agent reçoit une erreur HTTP 451 ferme. |
Apparence
Apparence visuelle de la fenêtre de terminal kitty. Les valeurs par défaut sont initialisées depuis le profil par défaut de Terminal.app sur macOS.

| Paramètre | Description |
|---|---|
| Police | La famille de police utilisée dans le terminal. Choisissez parmi n'importe quelle police installée sur votre Mac. La taille se règle en points via un stepper. Seules les familles de police sans . initial sont proposées — les noms internes à macOS que fontconfig de Linux ne peut pas résoudre sont exclus. |
| Curseur | Forme du curseur à l'intérieur du terminal : Block, Beam (curseur en I) ou Underline. |
| Couleurs — Fond | Couleur de fond du terminal, sous la forme d'un sélecteur de couleur. |
| Couleurs — Texte | Couleur de premier plan (texte) du terminal, sous la forme d'un sélecteur de couleur. |
| Opacité | Opacité combinée de la fenêtre et du terminal, de 30 % à 100 %. Appliquée à la fois comme background_opacity de kitty (nécessite un compositeur dans la VM) et comme alphaValue de la fenêtre macOS (toujours effective — produit un effet de transparence vers le bureau). Par défaut : 97 %. |
| Ligatures | Lorsque activées, le terminal affiche les ligatures de programmation — les séquences multi-caractères telles que <=, == et => sont dessinées comme des glyphes combinés uniques. Désactivées par défaut (disable_ligatures always de kitty est actif sauf si ceci est activé). Visibles uniquement avec des polices incluant des tables de ligatures, telles que JetBrains Mono ou Fira Code. |
| Réinitialiser depuis Terminal.app | Restaure tous les champs d'apparence aux valeurs lues depuis le profil par défaut de Terminal.app de macOS au démarrage de l'application. |
Ressources
Couches de stockage, mémoire et configuration réseau pour la VM du profil.

Stockage
Trois couches s'empilent pour constituer l'environnement du profil. La couche inférieure est partagée et immuable ; les deux supérieures sont propres au profil et peuvent être effacées indépendamment.
| Paramètre | Description |
|---|---|
| Votre dossier personnel | Le répertoire /home/ubuntu propre au profil — dotfiles, clés .ssh, npm-global, .cargo, historique du shell et tout ce que l'agent écrit dans home. Affiche la date de dernière activité et la taille actuelle. Effacer home… nettoie cette couche et réinitialise le répertoire home à son état post-clonage. |
| Disque système du profil | Une copie en lecture-écriture du système d'exploitation de base, clonée spécifiquement pour ce profil. Contient tout ce qui est installé via sudo apt install, les modifications de /etc, /var et la configuration au niveau système. Réinitialiser vers la base… abandonne toutes les modifications système et reclone depuis l'image de base actuelle. |
| Image du système d'exploitation de base | L'image de base partagée et immuable : Ubuntu Noble + Claude Code + Codex + kitty + gh + glab + polices. Partagée par tous les profils ; en lecture seule à l'exécution. Affiche la version actuelle et la date de build. Reconstruite via le menu de l'application (prend ~5–10 minutes). |
Mémoire
| Paramètre | Description |
|---|---|
| RAM de la VM | RAM allouée à la VM de ce profil, en GB (2–32 GB, pas de 2). La valeur par défaut est calculée d'après l'hôte (4 GB sur les hôtes avec moins de 18 GB de RAM, 6 GB jusqu'à 36 GB, 8 GB sur les machines plus grandes). Augmentez si Claude / Codex semble lent ou si les builds Rust manquent de mémoire. |
Réseau
| Paramètre | Description |
|---|---|
| Mode réseau | NAT (par défaut) — la VM partage la connexion réseau de votre Mac via le NAT intégré de VZ ; la sortie fonctionne, rien sur votre LAN ne peut atteindre la VM. Bridged — la VM obtient sa propre adresse IP routable sur le LAN via DHCP sur l'interface physique choisie. |
| Interface | (Mode Bridged uniquement.) L'interface réseau physique sur laquelle la VM ponte. Par défaut, la première interface bridgeable disponible si laissée non définie. |