03.
— Section 3
Credentials
macOS Keychain
Kata sandi Anda tidak pernah menyentuh disk.
jmapcli tidak menyimpan rahasia apa pun di disk. Kata sandi Anda (atau bearer token) tersimpan di Keychain login macOS; file akun — ~/.config/jmapcli/config.json, mode 0600 — hanya menyimpan URL server, nama pengguna, dan bendera default. Belum terbiasa menggunakan Keychain dari terminal? Seluruh alur kerjanya hanya tiga perintah bawaan security.
1 · Simpan rahasia — dan baca kembali. macOS meminta nilai tersebut, sehingga rahasia tidak pernah diketik di command line, ditampilkan di layar, atau tercatat dalam riwayat shell Anda.
# 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 — nama yang dicari oleh jmapcli: jmap-password untuk kata sandi, atau jmap-token untuk bearer token (misalnya Fastmail); atur hanya yang Anda gunakan.
- -a
- account — alamat email Anda (nama pengguna yang sama yang Anda berikan ke jmapcli).
- -l
- label — yang akan Anda lihat di aplikasi Keychain Access; -U memperbarui item yang sudah ada di tempatnya.
- -w
- tanpa nilai — meminta input rahasia. Inilah bagian yang memastikan rahasia tidak masuk ke ~/.zsh_history maupun daftar proses.
2 · Arahkan jmapcli ke server Anda. Daftarkan akun sekali; rahasia diambil langsung dari item Keychain yang baru Anda simpan, sehingga tidak pernah muncul di command line.
$ 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
Tidak ada di riwayat, log — atau konteks AI
Setelah rahasia tersimpan di Keychain, perintah sehari-hari (list, send, draft, sync) tidak pernah membawa kata sandi, sehingga tidak dapat tertangkap di ~/.zsh_history, daftar proses, atau log CI. Inilah yang membuat jmapcli aman untuk digunakan bersama alat terminal-AI — agen mendapatkan klien JMAP, bukan rahasia Anda.
— zsh
CI · agents
3.2
Rotasi atau keluar
Kata sandi berubah? Jalankan kembali baris security add-generic-password … -w — -U menimpanya di tempat yang sama. Untuk menghapus akun, jmapcli logout menghapus entri konfigurasi sekaligus rahasia Keychain dalam satu langkah (--all menghapus semua akun).
— rotate
logout
3.3
Per-Mac berdasarkan desain
Keychain login tidak disinkronkan melalui iCloud — batas yang disengaja, agar kata sandi Anda tidak pernah meninggalkan Mac tempat Anda mengetikkannya. Ulangi langkah security sekali per Mac; config.json dapat disimpan di folder home yang tersinkronisasi karena tidak membawa rahasia apa pun.
— per
machine