Developer tools · Est. 2026

Your servers,
one keystroke away.

Tarmus is an SSH client for Windows and Android. Hosts, identities and SSH keys live in a vault that encrypts on your device and syncs across them — the server only ever holds ciphertext.

v1.1.1 · x64 · 10.0 MB · unsigned build


01 / Product

Built like a tool, not a dashboard.

Six things the vault holds, and the rules it holds them by.

hosts
Label, address, port, username, tags.

Every host carries a reusable identity, so changing a key once updates everywhere it's used. Tags keep sixty machines navigable.

identities
Passwords or OpenSSH / PEM keys.

Private keys with optional passphrases are stored in the vault, never on disk in plaintext. Import an existing key or generate one on the device.

key generation
Ed25519, generated on-device.

The private key is encrypted into the vault and synced as ciphertext. The public key and its SHA-256 fingerprint are shown once for pasting into authorized_keys, and stay retrievable later from the identity.

terminal
Full xterm emulation.

Colours, resize and scrollback. Native SSH over TCP via dartssh2 — no browser relay in the connection path on Windows or Android.

always connected
Optional per-host keep-alive.

When a session drops, Tarmus reconnects with exponential backoff and reuses the stored credential. Authentication errors stop the retry loop instead of hammering the host.

sync
Incremental push/pull, per item.

Hybrid logical clocks order edits across devices, last-writer-wins resolves collisions per item, tombstones carry deletions. Sync runs every 30 seconds and immediately after each edit.

Practical consequence: edit a host on your phone, and it's on the Windows client before you finish reaching for the keyboard.

02 / Security

The server can't read your vault.

Not a policy promise — an architectural one. What the server stores is not readable without a key it never receives.

STEP 01

Unlock on the device

Your master password derives the vault key locally with Argon2id (PBKDF2 where Argon2id isn't available). It is never transmitted, and it cannot be reset — there is no server-side copy to reset.

Argon2id → HKDF → AES-256-GCM
STEP 02

Sync ciphertext only

Each item is encrypted before it leaves the client. The sync server stores opaque blobs in SQLite alongside an account id, a device list and edit clocks.

server holds: ciphertext + HLC timestamps
STEP 03

Decrypt on arrival

Another device pulls the delta, decrypts with the key derived from the same master password, and merges per item. Nothing readable is ever written to the server.

plaintext exists only on your devices
▸AES-256-GCM for every vault item, authenticated so tampering fails closed.
▸Master password never leaves the device; no recovery, by design.
▸Ed25519 private keys generated and stored encrypted, synced as ciphertext.
▸Deletions propagate as tombstones — a removed host doesn't come back.
03 / Download

Get Tarmus.

Current release builds target Windows and Android from one Flutter codebase.

Windows v1.1.1 x64

Tarmus for Windows

Per-user install to %LOCALAPPDATA%\Programs\Tarmus — no administrator rights, Start Menu shortcuts, and an uninstaller registered in Apps & Features.

sha256 d6dc719381f18501e5c3350400447970f39e296ff3b725f5d2d4385ab65141d4
changes Public key import with fingerprint verification; settings alignment fixes.

The installer is not code-signed yet, so SmartScreen may warn on first run. Verify the SHA-256 above before you execute it.

AndroidIn development

Android client

Same vault, same sync, native SSH from the phone. Not published yet — the Windows build ships first.

status not released
tracking via the same account once published

04 / Tarmus Labs

Small tools,
held to a high bar.

Tarmus Labs builds software for people who spend their day in a terminal. The first product is Tarmus: an SSH client that treats your keys as something worth designing around, not an afterthought bolted onto a connection dialog.

That means local-first encryption, a sync layer that merges rather than overwrites, and an interface that gets out of the way once you're connected. No telemetry in the connection path, no cloud relay holding your credentials.

Tarmus is self-hosted software: the sync server runs on infrastructure we control, and the client points at it over HTTPS.