Password protection
I've implemented it in a rather minimalist fashion to keep it simple to implement.
Set password
To set a password, you run UPDD Commander from a terminal window and pass it the "--password" argument, like so:
"/Library/Application Support/UPDD/UPDD Commander.app/Contents/MacOS/UPDD Commander" --password "password goes here"
The quotes are not included as part of the password.
Remove password
To remove a password, leave the quotes empty:
"/Library/Application Support/UPDD/UPDD Commander.app/Contents/MacOS/UPDD Commander" --password ""
Password prompt
Once the password is set, Commander will prompt the user for the password whenever they try to open the settings window.
Note
I did end up using an encryption method for the password, so it's possible to recover a forgotten password. It's not a particularly strong form of encryption, but for this feature it doesn't really need to be. But that makes it possible for us to improve the feature later, including using better encryption and more restrictions that would prevent someone from changing the password, and do so in a way that's transparent to the user.