03.
— Section 3
Credentials
macOS Keychain
La tua password non tocca mai il disco.
jmapcli non conserva alcun segreto su disco. La tua password (o il token bearer) risiede nel Portachiavi di accesso macOS; il file account — ~/.config/jmapcli/config.json, modalità 0600 — contiene solo l’URL del server, il tuo nome utente e un flag predefinito. Non conosci il Portachiavi dal terminale? L’intero flusso di lavoro richiede solo tre comandi integrati security.
1 · Salva un segreto — e rileggilo. macOS chiede il valore in modo interattivo, quindi il segreto non viene mai digitato sulla riga di comando, visualizzato sullo schermo né scritto nella cronologia della 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 — il nome che jmapcli cerca: jmap-password per una password, o jmap-token per un token bearer (es. Fastmail); imposta solo quello che usi.
- -a
- account — il tuo indirizzo email (lo stesso nome utente che fornisci a jmapcli).
- -l
- label — ciò che vedrai nell’app Accesso Portachiavi; -U aggiorna un elemento esistente.
- -w
- senza valore — richiede il segreto in modo interattivo. È questo che lo tiene fuori da ~/.zsh_history e dall’elenco dei processi.
2 · Configura jmapcli con il tuo server. Registra l’account una sola volta; il segreto viene prelevato direttamente dall’elemento del Portachiavi appena salvato, quindi non appare mai sulla riga di comando.
$ 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
Niente nella cronologia, nei log — né nel contesto di un’IA
Una volta che il segreto è nel Portachiavi, i comandi quotidiani (list, send, draft, sync) non trasmettono mai una password, quindi non può essere catturata in ~/.zsh_history, nell’elenco dei processi o nei log CI. Questo è ciò che rende jmapcli sicuro da usare con strumenti AI da terminale — all’agente viene consegnato un client JMAP, mai il tuo segreto.
— zsh
CI · agents
3.2
Rotazione o disconnessione
Hai cambiato la password? Riesegui la riga security add-generic-password … -w — -U la sovrascrive. Per rimuovere un account, jmapcli logout elimina in un solo passaggio sia la voce di configurazione che il segreto nel Portachiavi (--all cancella tutti gli account).
— rotate
logout
3.3
Per Mac, by design
Il Portachiavi di accesso non viene sincronizzato tramite iCloud — un confine deliberato, affinché la tua password non lasci mai il Mac su cui l’hai digitata. Ripeti il passaggio security una volta per ogni Mac; config.json può risiedere in una cartella home sincronizzata perché non contiene alcun segreto.
— per
machine