Last updated 28 September 2026
Homelab Deck has no account, no analytics, no advertising and no tracking. Almost everything it does is a connection between your phone and the servers you added, which are normally machines on your own network.
Two things leave that network, and because they are the whole of it they are named here rather than further down: a public version check when you open the Agent screen, and — only if you turn push notifications on — a relay of ours that holds one device token. Both are described below, and the app is fully usable with neither.
kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly. Unless you
turn on iCloud Keychain sync (below), they are never synced to iCloud or
to any other device, and they are unreadable
until the device has been unlocked once after a restart. This class is
what allows the optional background checks to read them while the phone
is locked; if you never enable background checks, nothing reads them in
the background at all.None of this leaves your device on its own, and deleting the app removes all of it.
If you choose to, the app can keep servers in step across your own devices — an iPhone and an iPad, say — through your iCloud Keychain. It is off by default, it is turned on separately on each device, and nothing is stored there until you pick which servers go: the app asks when you add one, and Settings can store the rest.
There is one way to take it with you, and you have to ask for it: an
encrypted backup, in Settings. It exists because tokens are marked
ThisDeviceOnly and therefore cannot ride an iCloud restore to a new
phone (iCloud Keychain sync, above, is the other way across). The file holds every server, API token, console login and pinned
certificate the app has, sealed with AES-GCM under a password you choose
(PBKDF2-HMAC-SHA256, 210,000 rounds). Exporting is behind Face ID, and the
file goes wherever you send it — so if you put it in iCloud Drive or email it to
yourself, that copy is in someone else's hands and the password is the only thing
protecting it. Choose one you would use for a password manager, and keep it
somewhere other than next to the file. We never see the file or the password.
Almost everything the app does is a connection to the servers you add, at the addresses you supply — normally machines on your own network. It sends your API token to those servers in order to authenticate, because that is what the token is for.
There are exactly two exceptions, both listed here so the sentence above can stay true:
api.github.com for the latest published
version of the agent, so it can tell you if yours is behind. It sends
nothing about you or your servers — it is the same public request anyone
visiting the releases page makes — and it happens only while that screen
is open, never in the background.Sample data mode makes no network connections at all.
Push is off unless you turn it on, and the app works fully without it — the agent can notify you through your own ntfy, Gotify or webhook instead, which involves us not at all.
If you do turn it on, Apple's push service requires a server that can reach
Apple, so we run a small relay at push.homelabdeck.app. Turning
push on sends your device's APNs device token to that relay,
which stores it and returns an opaque key that your agent uses to trigger a
notification. That means:
The app contains no third-party libraries, SDKs, analytics or advertising code of any kind. The only non-Apple services involved are the two named above: GitHub, when you look at the Agent screen, and our own push relay, if you turn push on.
When a warning has no fix the app can offer, it can hand you a diagnostic report to put in an email to support. It carries no credentials and no addresses — it names the platform, the release, the port, the transport and whether the server is reached by name or by IP, never the value, because nothing that identifies your network helps diagnose an adapter. You can read the whole report before you send it, and nothing is sent unless you send it.
If you buy the app, Apple handles the purchase and may provide us with aggregate sales and crash statistics through App Store Connect. That data comes from Apple, not from anything the app sends, and it does not identify you. Apple's own handling of it is covered by Apple's privacy policy.
The app is not directed at children, and nothing it does collects personal information from anyone of any age.
Regulations such as the GDPR and CCPA give you rights to access, correct, export and delete personal data held about you. The only thing we hold about anyone is a push device token, and only for as long as push is switched on — it identifies a copy of an app on a device, we have no way to connect it to a person, and turning push off deletes it. Everything else described above sits on your own device, under your control, and deleting the app removes it.
If this policy ever changes, the updated version will be posted here with a new date. Every change so far has been to describe the app more accurately rather than to widen what is collected; if that ever stopped being true, this page would say so plainly rather than quietly.
Questions about this policy: [email protected]