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
| flow | endpoints | protection |
|---|---|---|
| Terminal session | your device ↔ the SSH server you chose | SSH v2 · ECDH/X25519 key negotiation · AES‑GCM |
| Authentication | your device → your SSH server | password inside the encrypted SSH channel, or an Ed25519 / ECDSA P‑256 signature |
| Local secrets | never leave the device | iOS Keychain · P‑256 ECIES with SHA‑256 and AES‑GCM when the Secure Enclave is present |
| Optional ✦ assist | your device ↔ the AI provider you configured | HTTPS/TLS from the iOS stack · explicit consent before any context is sent · off by default |
The full inventory
| purpose | algorithms | size / hash | implementation |
|---|---|---|---|
| Session confidentiality + integrity | aes256-gcm@openssh.com, aes128-gcm@openssh.com | 256 or 128‑bit key · 128‑bit GCM tag | SwiftNIO SSH / Swift Crypto |
| Key exchange | curve25519-sha256, curve25519-sha256@libssh.org | X25519 · SHA‑256 | SwiftNIO SSH / Swift Crypto |
| Key exchange (NIST) | ecdh-sha2-nistp256/384/521 | P‑256/SHA‑256 · P‑384/SHA‑384 · P‑521/SHA‑512 | SwiftNIO SSH / CryptoKit |
| Server host keys | ssh-ed25519, ecdsa-sha2-nistp256/384/521 | Ed25519 · P‑256/P‑384/P‑521 | SwiftNIO SSH / CryptoKit |
| Client authentication | ssh-ed25519, ecdsa-sha2-nistp256 | Ed25519 · P‑256 | CryptoKit — P‑256 can live entirely in the Secure Enclave |
| Host-key fingerprint | SHA‑256 | 256‑bit | CryptoKit |
| Local secret wrapping | ECIES, cofactor variable‑IV X9.63 | P‑256 key · SHA‑256 · AES‑GCM | Security.framework + Secure Enclave |
| Optional HTTPS (✦ assist) | TLS, suites negotiated by iOS | per Apple system policy | URLSession / iOS TLS stack |
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
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.