- CheckForUpdates binding returns version string if newer available - InstallUpdate binding downloads zip, extracts, replaces app, restarts - checkUpdates goroutine polls every 6h, shows dialog with version - make install copies .app to /Applications - Update script: quit app → sleep → replace .app → relaunch