Outrigger outrigger App Store — soon
❯ cat security.txt

Here is every piece of cryptography in the app.

Named, versioned, and traced to the RFC it comes from. Encryption protects your credentials and your sessions between your device and the servers you choose. The app operates no relay, no private network, and no SSH infrastructure of ours.

Describes Outrigger SSH 1.0 · last updated 13 September 2026

Data flows and how each one is protected

flowendpointsprotection
Terminal sessionyour device ↔ the SSH server you choseSSH v2 · ECDH/X25519 key negotiation · AES‑GCM
Authenticationyour device → your SSH serverpassword inside the encrypted SSH channel, or an Ed25519 / ECDSA P‑256 signature
Local secretsnever leave the deviceiOS Keychain · P‑256 ECIES with SHA‑256 and AES‑GCM when the Secure Enclave is present
Optional ✦ assistyour device ↔ the AI provider you configuredHTTPS/TLS from the iOS stack · explicit consent before any context is sent · off by default
note No proprietary cryptography. Everything below is a published, recognized algorithm behind a published, recognized protocol.

The full inventory

purposealgorithmssize / hashimplementation
Session confidentiality + integrityaes256-gcm@openssh.com, aes128-gcm@openssh.com256 or 128‑bit key · 128‑bit GCM tagSwiftNIO SSH / Swift Crypto
Key exchangecurve25519-sha256, curve25519-sha256@libssh.orgX25519 · SHA‑256SwiftNIO SSH / Swift Crypto
Key exchange (NIST)ecdh-sha2-nistp256/384/521P‑256/SHA‑256 · P‑384/SHA‑384 · P‑521/SHA‑512SwiftNIO SSH / CryptoKit
Server host keysssh-ed25519, ecdsa-sha2-nistp256/384/521Ed25519 · P‑256/P‑384/P‑521SwiftNIO SSH / CryptoKit
Client authenticationssh-ed25519, ecdsa-sha2-nistp256Ed25519 · P‑256CryptoKit — P‑256 can live entirely in the Secure Enclave
Host-key fingerprintSHA‑256256‑bitCryptoKit
Local secret wrappingECIES, cofactor variable‑IV X9.63P‑256 key · SHA‑256 · AES‑GCMSecurity.framework + Secure Enclave
Optional HTTPS (✦ assist)TLS, suites negotiated by iOSper Apple system policyURLSession / iOS TLS stack
standards

SSH v2 — RFC 4251 · 4253 · 4254
AES-GCM for SSH — RFC 5647 + OpenSSH variants
ECDH for SSH — RFC 5656 · Curve25519 — RFC 8731
Ed25519 for SSH — RFC 8709 · ECDSA — RFC 5656
SHA-2 — FIPS 180-4 · AES — FIPS 197 · GCM — NIST SP 800-38D

Who implements it

None of the cryptography is ours. The SSH protocol, negotiation, and transport protection come from Apple's open-source SwiftNIO SSH (0.15.0) over SwiftNIO (2.102.0), with primitives from Swift Crypto (4.5.2) and the CryptoKit / Security.framework that ships with iOS. Terminal emulation is SwiftTerm (1.20.0), which has no cryptographic role. All of it is code you can read.

If a future version materially changes any algorithm or function on this page, the page and any required regulatory filings will change with it.

Keys and secrets

P-256 Keys created with the Secure Enclave option are generated inside the chip and are non-exportable. Using one requires the biometric authentication configured on the device, enforced by the Secure Enclave itself.
ed25519 Generated locally for servers that require them. The private bytes live in the Keychain, wrapped by a Secure Enclave P-256 key that requires user presence before it will unseal.
passwd Saved SSH passwords belong to individual hosts, stay on the device, and are presence-gated the same way. Deleting a host destroys its saved password.
api Optional assist API keys are Keychain items, Enclave-wrapped when the hardware allows. No secret is ever stored in the app's general database, and none is ever transmitted to us.
backup Keys, saved passwords, and API keys are keychain items marked this-device-only: they never enter an iCloud or local backup and cannot be restored to another device. Keychain entries can outlive an app deletion, but remain sealed to this device and this app's identity; deleting a key in Settings › Identity keys destroys it immediately.

Host verification

On first contact with a server, Outrigger computes the SHA-256 fingerprint of the presented host key and stops the negotiation before any credential is sent. You approve that fingerprint explicitly or nothing happens. Every later connection requires an exact match; a changed key blocks the connection and puts a warning in front of you.

© Paul Miller support@outriggerssh.app home docs privacy security EOF