Last updated: 2026-06-25
Server Button is a personal SSH client for iOS published by Nick Zimmermann. It is designed around a single principle: your server credentials and activity never leave your device.
None.
Server Button has no analytics, no telemetry, no crash reporters, no advertising SDKs, no third-party trackers and no remote login. We do not collect any personal information about you, and the app does not maintain any account on our side.
The app stores the following data locally on your iPhone or iPad only:
- Server configurations (name, host, port, username, auth method, auto-connect / keep-alive flags) — in the app's UserDefaults.
- Command button definitions (label, command, working directory, icon, colour, confirmation / biometric flags) — in UserDefaults.
- Command history logs (button label, command, server name, output, success / failure, timestamp) — in UserDefaults, subject to the retention picker in Settings.
- SSH host fingerprints (the SHA-256 fingerprint of each server's public host key, used for Trust-On-First-Use validation) — in UserDefaults.
- App preferences (appearance, auto-lock timing, connection timeout, biometric lock setting) — in UserDefaults.
- Credentials — passwords, SSH private keys and SSH key
passphrases are stored in the iOS Keychain with the
kSecAttrAccessibleWhenUnlockedattribute and iCloud Keychain synchronisation disabled. They can only be read while the device is unlocked.
What happens to your data in each scenario:
| Action | Servers, Buttons, Logs (UserDefaults) | Credentials (Keychain) |
|---|---|---|
| iOS version upgrade | Preserved | Preserved |
| App update from the App Store | Preserved | Preserved |
| Migration to a new device via iCloud Backup or Direct Transfer | Migrated | Migrated |
| Delete the app and reinstall it | Wiped by iOS | Effectively unavailable — Keychain entries technically persist but the app no longer has the references that point to them |
Updates never cause data loss. Only an explicit delete-and-reinstall removes the day-to-day data.
The app opens SSH connections directly from your device to the servers you configure. No traffic is routed through any intermediary controlled by us. SSH is end-to-end encrypted; only your server can decrypt it.
The Trust-On-First-Use mechanism remembers each server's host fingerprint on first connection and verifies it on subsequent connections. A mismatch surfaces an error so you can react to either a legitimate server rebuild or a man-in-the-middle attempt.
Server Button uses the following open-source Swift libraries to implement SSH:
These libraries run inside the app on your device. They do not phone home and they do not collect data about you.
The app does not continuously sync data via iCloud Keychain to other devices. Standard iOS device backups (encrypted iCloud Backup or encrypted Finder / iTunes backup) include the app's UserDefaults and Keychain entries like any other app. The backup itself is end-to-end encrypted with your Apple ID and device passcode; Apple cannot read it.
This means: when you migrate to a new iPhone via "Restore from iCloud Backup" or "Transfer Directly from iPhone", your saved servers, button definitions, logs and credentials are restored together with the app. If you never enable iCloud Backup, no backup copy of the data exists.
The app is not directed at children under 13 and does not knowingly collect any data about them — or, indeed, anyone.
Because we don't collect or store any data on our side, there is nothing on a server for us to access, export or delete. You retain full control over the data your device holds through the standard iOS interface (delete servers, clear logs, uninstall the app).
If we ever change what the app collects (which we don't plan to), an updated version of this document will be published at the URL below and the in-app version reference will change accordingly.
Questions about this policy can be sent to: