03.
— Section 3
Credentials
macOS Keychain
Votre mot de passe ne touche jamais le disque.
jmapcli ne conserve aucun secret sur le disque. Votre mot de passe (ou jeton bearer) réside dans le trousseau de connexion macOS ; le fichier de compte — ~/.config/jmapcli/config.json, mode 0600 — ne contient que l’URL du serveur, votre nom d’utilisateur et un indicateur par défaut. Vous découvrez le Trousseau depuis le terminal ? Le workflow complet tient en trois commandes security intégrées.
1 · Stocker un secret — et le relire. macOS vous invite à saisir la valeur, de sorte que le secret n’est jamais tapé en ligne de commande, affiché à l’écran ni écrit dans l’historique de votre shell.
# store it — you’re prompted for the secret, nothing echoes
$ security add-generic-password -U -s jmap-password -a you@example.com -l "Boogie JMAP password" -w
# read it back at any time
$ security find-generic-password -s jmap-password -a you@example.com -w
# remove it
$ security delete-generic-password -s jmap-password -a you@example.com
- -s
- service — le nom que jmapcli recherche : jmap-password pour un mot de passe, ou jmap-token pour un jeton bearer (ex. Fastmail) ; ne renseignez que celui que vous utilisez.
- -a
- account — votre adresse e-mail (le même nom d’utilisateur que vous donnez à jmapcli).
- -l
- label — ce que vous verrez dans l’application Trousseau d’accès ; -U met à jour un élément existant en place.
- -w
- sans valeur — invite à saisir le secret. C’est ce qui l’empêche d’apparaître dans ~/.zsh_history et la liste des processus.
2 · Pointer jmapcli vers votre serveur. Enregistrez le compte une seule fois ; le secret est extrait directement depuis l’élément du Trousseau que vous venez de stocker, il n’apparaît donc jamais en ligne de commande.
$ jmapcli login --url https://mail.example.com --username you@example.com \
--password "$(security find-generic-password -s jmap-password -a you@example.com -w)"
# token auth: swap --password for --token (and store under jmap-token above)
$ jmapcli list # from here on, every command reads the Keychain for you
3.1
Rien dans votre historique, vos journaux — ni dans le contexte d’une IA
Une fois le secret dans le Trousseau, les commandes courantes (list, send, draft, sync) ne transportent jamais de mot de passe ; il ne peut donc pas être capturé dans ~/.zsh_history, une liste de processus ou des journaux CI. C’est ce qui rend jmapcli sûr à piloter depuis des outils d’IA en terminal — un agent reçoit un client JMAP, jamais votre secret.
— zsh
CI · agents
3.2
Rotation ou déconnexion
Vous avez changé votre mot de passe ? Relancez la ligne security add-generic-password … -w — -U le remplace en place. Pour supprimer un compte, jmapcli logout efface en une seule étape l’entrée de configuration et le secret du Trousseau (--all supprime tous les comptes).
— rotate
logout
3.3
Par Mac, par conception
Le trousseau de connexion n’est pas synchronisé via iCloud — une limite délibérée, afin que votre mot de passe ne quitte jamais le Mac sur lequel vous l’avez saisi. Répétez l’étape security une fois par Mac ; config.json peut résider dans un dossier personnel synchronisé car il ne contient aucun secret.
— per
machine