outrigger App Store — soon
❯ outrigger ssh · ios

The terminal that stays steady when the connection gets rough.

An SSH client for iPhone. Your key is generated inside the Secure Enclave and never leaves the chip. Sessions come back from backgrounding and dead zones with scrollback intact — and the ✦ assist tells you what happened while you were away.

$24.99 once. No subscription, no accounts, no servers of ours.

Coming soon to the App Store How the keys work
Outrigger terminal session on iPhone: crew@gyre with service status and agent logs
02 security you can verify

Your private key is generated in the Secure Enclave and cannot leave it.

Not encrypted-at-rest in a keychain we read. Generated inside the chip, used inside the chip, and physically unable to be exported — by us, by you, or by anyone with your unlocked phone. Every connection is gated behind Face ID.

(Servers that insist on ed25519 get a software key — we say so plainly; it's Enclave-sealed at rest and Face ID-gated like everything else. Details on the privacy page.) There are no accounts because there is nothing to sign into. There is no telemetry because there is nowhere to send it. We run no servers that your data touches, which is the only version of that promise worth anything.

Read the privacy policy →
EnclaveSigner.swift — the shipping source, verbatim
// Face ID is enforced by the chip, not by us.
let access = SecAccessControlCreateWithFlags(
    kCFAllocatorDefault,
    kSecAttrAccessibleWhenUnlockedThisDeviceOnly,
    [.privateKeyUsage, .biometryCurrentSet],
    &cfError
)

// Born inside the Secure Enclave. There is no export API.
try SecureEnclave.P256.Signing.PrivateKey(
    accessControl: access
)
03 sessions that survive
10:14 · app backgrounded
10:14 · scrollback kept
10:31 · network lost
10:52 · network restored
10:52 · reconnected — tmux reattached
✦ 38 minutes summarised
Migration finished at 10:22. One failed row, logged to /var/log/migrate.err. Agent has been idle since.

Leave the app, drive home, come back. It's still there.

Drop to the home screen, lose signal in the parking garage, come back — Outrigger reconnects the moment it can, scrollback intact. Give a host a one-line startup command and tmux reattaches itself on every connect, so the session on the server never died at all. No more resuming a tmux you forgot to start — it starts itself.

The ✦ assist runs on device by default — it reads your scrollback to tell you what happened while you were away, and that text never leaves the phone. Want a bigger brain? Bring your own Anthropic or OpenAI key and requests go straight from the phone to your provider, never through us. It's the terminal that helps you watch your agents work.

~/themes

The schemes you already use, rendered properly — true colour, correct ANSI mapping, and a prompt that doesn't mangle powerline glyphs.

Outrigger Dark
systemctl status caddy
● active (running)
⚠ 2 restarts today
↳ since 09:12
Outrigger Light
systemctl status caddy
● active (running)
⚠ 2 restarts today
↳ since 09:12
Catppuccin Mocha
systemctl status caddy
● active (running)
⚠ 2 restarts today
↳ since 09:12
Dracula
systemctl status caddy
● active (running)
⚠ 2 restarts today
↳ since 09:12
Nord
systemctl status caddy
● active (running)
⚠ 2 restarts today
↳ since 09:12
Gruvbox Dark
systemctl status caddy
● active (running)
⚠ 2 restarts today
↳ since 09:12
04 honest pricing
free
$0

Genuinely useful forever. Not a trial.

  • 1 host
  • 5 snippets
  • On-device ✦ assist (iPhone 15 Pro or later)
  • All four house themes
everything, forever
$24.99 once

One purchase. Every feature, every update, no subscription — ever.

  • Unlimited hosts and snippets
  • Cloud ✦ brains — bring your own Anthropic or OpenAI key
  • Community theme pack
  • Family Sharing
Coming soon
what we don't do
  • No subscription
  • No accounts
  • No analytics SDKs
  • No ads, ever
  • No cloud sync of your keys — sealed to this phone, never in any backup

The privacy policy is one page and you'll actually finish it.

It names every piece of data the app handles and where it goes. Spoiler: it goes to your hosts — and, only if you opt in, your own AI provider. Nowhere else.

Read it →