You can control how visible your app is to other people, both in run mode and edit mode. Note that this options depend on the plan you have subscribed to. Currently, if you are on a free plan, all applications will be public.
In edit mode (opening the editor to edit the app), an application can be 'private', 'everyone can view', or 'everyone can edit'.
private: the application can only be edited by you and other Bubble users you have invited to collaborate on the app.
everyone can view: the editor can be opened by anyone, but they cannot modify the application. They also have access to the database view.
everyone can edit: the editor can be accessed by anyone and they can modify the application and the database. This option is usually used for testing purposes, or when you seek help from others Bubblers.
Note that only the master owner of the application can modify this setting. If you make your app open to everyone, other people won't be able to make the application private.
No matter which edit-mode right you've chosen, your application is visible in run mode. Anyone that gets (or guesses) the URL will be able to access your application. If you want to prevent others to see what you are working on, you can use the password protection option to limit access to people that you communicate the username and the password with.
You can decide to only apply this protection in development mode (when the URL contains
/version-test/). This is useful to hide from the public your latest development work, while keeping your production, live version open to everyone.
Note that you can use a different approach to hide content to the general public as you work on your application. You can use conditional formatting to only show some elements to the right people, and redirect users to a landing page using the same condition. For instance, using a code in the URL and doing something like this.
In general, using conditions on page load events is better for a soft launch, while a password protection is good for a sudden launch.