Maine
A native SSH client for macOS.
macOS is the reference client. Windows and Android are still in progress; sync currently works on macOS only.
- Year
- 2026
- Role
- Product design, native clients, and sync protocol

Overview
Maine keeps the shortest path from a saved host to a real terminal. The macOS client uses SwiftUI, SwiftTerm, and the system OpenSSH process rather than replacing SSH's transport or configuration. Hosts, passwords, and session snapshots share one master-password-encrypted vault. Optional sync runs on a Rust server you host yourself and transfers encrypted vault bytes, not plaintext credentials. macOS is the reference client; native Windows and Android implementations are still being brought to feature parity.
Technology
- Swift 6
- SwiftUI
- SwiftTerm
- OpenSSH
- AES-256-GCM
- Rust
- Axum
- SQLite
- C# / WPF
- Kotlin / Compose
Built around
- The shared contract is a versioned file format, not a shared UI. macOS, Windows, and Android implement the same AES-256-GCM vault envelope, with cross-client fixtures checking interoperability.
- On macOS, a PTY runs the user's OpenSSH client, preserving its key, agent, certificate, and ProxyJump behavior. Multiple named sessions live beneath each host, and saved plain-text scrollback is encrypted with the vault rather than logged separately.
- The optional sync server keeps encrypted blobs and token hashes. Conditional writes, local conflict copies, and the last 32 server versions prevent a stale device from silently overwriting another. The sync client is currently implemented on macOS only.
If I kept going
- Close Windows and Android feature-parity gaps, especially session restoration, lifecycle handling, and host-management UI.
- Bring the existing sync protocol to Windows and Android; Linux remains a future client rather than a shipped platform.