Garage Opener

Privacy

There is no account, no sign-up and no analytics. Most of what the app does never leaves your home network. This page says exactly what the one optional online piece does store.

The short version

Cloud alerts send your garage door's open and close events from your UniFi Protect console to a small service we run on Cloudflare, so we can notify you when the door is left open. We store only the event type, the sensor id and the time, for 7 days, plus the push token of the devices you register and your alert settings. We never receive images, your Protect API key, your console address or your location. There is no account. You can erase everything from the app at any time.

Location is used only if you turn on the optional arriving-home reminder, to notice when you get home, even when the app is closed. It is used on your phone and never sent to us. See Location.

What stays on your device and your network

Your Protect API key, your console address and your bridge token live in your phone's secure storage (the Keychain on iPhone, encrypted app storage on Android), or in your own bridge's configuration. They are never sent to us and we have no way to read them. When the app talks to your console or your bridge, that traffic goes directly between them on your network. It does not pass through us.

The bridge's activity log, which records who opened the door and when, is a file on your machine. We never see it. You can export it or delete it.

The camera picture on the door screen travels between your phone and your bridge, or between your phone and your console, and nowhere else. A bridge holds only the most recent picture, briefly, so that several phones share one request to the console. It is never sent to us, and the cloud-alerts service never receives it.

Location

Garage Opener can ask whether to open the garage when you get home. This arriving-home reminder (Settings → Arriving home) is off by default. Only if you turn it on, the app asks for access to your precise location, including in the background ("Allow all the time" on Android, "Always" on iPhone), because you arrive while the app is closed or not in use. Before Android asks, the app explains this on its own screen, and you can say "Not now".

  • What is accessed: your phone's precise location: once when you set your home ("Use my current location as home"), and afterwards by the phone's own geofencing, which notices when you enter the circle around that home.
  • What it is used for: only to show you a notification asking whether to open the garage. The door never opens by itself. Location is used for nothing else: no tracking, no movement history, no advertising.
  • What is stored, and where: the home position and the radius you chose, in the app's settings on your phone. No record of where you go is kept. On Android this setting is excluded from backups.
  • Who receives it: not us, not your bridge and not the cloud-alerts service; the app never sends your location to any of them. The arrival is detected by your phone's operating system: Google Play services' geofencing on Android, iOS region monitoring on iPhone. The map of your home area in Settings is drawn by Google Maps on Android and by Apple Maps on iPhone, which load the map of that area from Google or Apple; on iPhone, Apple's geocoding also turns the home position into a town name for that screen. Google's and Apple's own privacy policies apply to those services.
  • How long, and how to stop: the home is kept until you set a new one or uninstall the app. Turning the switch off stops the monitoring at once. You can also withdraw the location permission at any time in your phone's settings.

Cloud alerts, in detail

Cloud alerts are optional and off unless you turn them on. If you run the bridge, you don't need them at all. When you enable them, the app creates an anonymous install on alerts.garageopener.app and gets back a private webhook URL that you paste into two Alarm Manager rules on your console.

What we storeWhyFor how long
Install id, a hash of the install secret, the routing tokenTo route your console's webhooks and to recognise your appUntil you erase
Your personal webhook address contains that routing token, so it appears in ordinary web server logs in transitUnavoidable: UniFi Protect's Alarm Manager accepts only a URL, so the token cannot travel in a hidden headerTreat the address as a password; turning cloud alerts off and on issues a new one
Push tokens for the devices you register (an Apple push token for an iPhone or Apple Watch, a Firebase Cloud Messaging token for an Android phone), and which platform each one isTo send the notificationUntil you erase, or until Apple or Google reports the token invalid
Your alert settings: thresholds, nightly time, timezone, languageTo decide when to notify, and in which languageUntil you erase
Events: type, device id and timestamp onlyTo know whether the door is open and for how long7 days, then deleted automatically
A hold-open flag and its expiryTo stay quiet when you've said soUntil it expires
The outcome of the last push we sent youSo the app can show you why a notification didn't arriveUntil you erase

What we never receive

  • Images or video. If your console attaches a thumbnail, it is discarded before the body is even parsed. It is never written anywhere. The camera picture in the app does not come this way at all.
  • Your Protect API key. The service has no way to reach your console and never asks for a credential to it.
  • Your console's address, your bridge's address, or camera names.
  • Your location. The arriving-home reminder runs on your phone; see Location.
  • Your Apple ID or Google account, name or email. There is no account to have one.
  • Payment details. The in-app purchase is handled entirely by Apple or Google.
  • Analytics of any kind. No SDK, no crash reporter, no advertising identifier.

Cloudflare, as the host, keeps standard edge logs that include IP addresses for a short period. That is infrastructure logging we do not control and do not use; see Cloudflare's own privacy documentation.

Notifications

Push notifications are delivered by the platform's own service: Apple's Push Notification service for an iPhone or Apple Watch, Google's Firebase Cloud Messaging for an Android phone. Apple or Google therefore handles the delivery of the message to your device, as it does for every app on that platform. The push contains the alert text and your install id, never images and never your console details. On Android, Firebase is used for message delivery only: the app includes no Google Analytics and no crash reporting.

The in-app purchase

Garage Opener Unlimited is bought through Apple's App Store on iPhone, or Google Play on Android. The store takes the payment and tells the app, on your device, whether the purchase exists. We receive no name, no card, no Apple ID and no Google account; what the store gives us is sales totals, not who bought.

The count of free opens is kept on your device and is never sent to us. Our service does not know whether you have paid, or how many of the free opens you have used.

Erasing everything

In the app: Settings → Alerts → Turn off cloud alerts → Erase. This destroys the storage for your install in full and immediately; your webhook URL stops working the same second. There is no backup to purge, and nothing is retained afterwards. Delete the two Alarm Manager rules on your console afterwards so it stops posting to a dead address.

Deleting the app without erasing first leaves an install we cannot identify or link to you; its events age out within 7 days.

Children

The app is not directed at children and collects nothing that could identify anyone, of any age.

Changes

If this page changes in a way that affects what is stored, the date below changes and the app's release notes say so. We will not start collecting something new and quietly update a web page.

Contact

Questions about this page, or a request about data: support@garageopener.app. See also Support and Terms.

Last updated: