A fast, secure CLI tool to manage your iCloud+ Hide My Email addresses.
Want autofill in the browser? Check out the Browser Extension to generate and autofill Hide My Email addresses into any website.
- Interactive TUI list — Real-time search, arrow key navigation, and inline detail view
- Full alias management — Create, edit, deactivate, reactivate, and delete aliases
- Bulk operations — Deactivate or delete multiple aliases at once
- Export — Save all aliases to CSV or JSON
- Clipboard support — Copy an alias address with a single keypress
- Apple SRP authentication — Secure login with 2FA support
- Encrypted sessions — Session data is AES-256-GCM encrypted on disk
- Standalone executable — No runtime required, just download and run
- Cross-platform — Windows, macOS, and Linux
Grab the latest executable for your platform from Releases:
| Platform | File |
|---|---|
| Windows | icloud-hme-win.exe |
| macOS | icloud-hme-macos |
| Linux | icloud-hme-linux |
No Node.js or any other dependency required — just download and run.
If you prefer to run from source:
git clone https://github.com/Yimikami/icloud-hme-manager.git
cd icloud-hme-manager
npm install
npm startRequirements (source only): Node.js 18+ and an active iCloud+ subscription.
On first run the app will ask you for three things:
- Session passphrase — a password you choose to encrypt your session locally
- Apple ID & password — used once for authentication
- 2FA code — sent as a push notification to your trusted Apple devices
After the initial login your session is cached and encrypted. You only need to enter your session passphrase to get back in.
The session passphrase is a password you choose on first run. It encrypts your iCloud session data (cookies, tokens) on disk using AES-256-GCM. Think of it as a master password for the app.
- First run: Pick any passphrase → login with Apple ID → session encrypted
- Next runs: Enter the same passphrase → session decrypted → no login needed
- Wrong passphrase: Session can't be decrypted → option to retry or login again
- Session expired: Re-authentication with Apple ID required
Session data is stored in your OS data directory:
| OS | Path |
|---|---|
| Windows | %APPDATA%\icloud-hme-manager\session.json |
| macOS | ~/Library/Application Support/icloud-hme-manager/session.json |
| Linux | ~/.config/icloud-hme-manager/session.json |
| Option | Description |
|---|---|
| Create new email | Generate a random alias and reserve it |
| List all emails | Interactive TUI — search, navigate, and manage aliases |
| Delete email | Permanently remove an alias |
| Bulk deactivate | Deactivate multiple aliases at once |
| Bulk delete | Delete multiple aliases at once |
| Update forward-to | Change which address aliases forward to |
| Export emails | Save all aliases to a CSV or JSON file |
| Re-login | Force a fresh authentication session |
| Key | Action |
|---|---|
| Type | Filter aliases in real time |
| ↑ / ↓ | Navigate rows |
| Enter | Open detail view |
| Esc | Back to main menu |
| Key | Action |
|---|---|
| C | Copy email address to clipboard |
| E | Edit label or note |
| I | Deactivate alias |
| A | Activate alias |
| D | Delete alias (asks for confirmation) |
| Esc | Back to list |
Apple ID + Password
|
SRP Protocol ──> idmsa.apple.com
|
2FA Push ──> Trusted Device
|
Session Token ──> setup.icloud.com/accountLogin
|
HME API ──> maildomainws.icloud.com
- SRP handshake via
@foxt/js-srp— password never leaves your machine in plaintext - 2FA verification pushed to your trusted Apple devices
- Session cookies encrypted with AES-256-GCM using your passphrase
- API calls to iCloud's
maildomainwsservice for alias management
| Concern | Mitigation |
|---|---|
| Credential storage | Never written to disk; entered interactively every login |
| Session persistence | AES-256-GCM encrypted with a user-provided passphrase |
| Error message leakage | API/auth errors are sanitized; no PII in console output |
| OAuth client key | Apple's own public web client key; safe to use |
- icloud-hme-extension — Browser extension to generate and autofill iCloud+ Hide My Email addresses into any website