Normally the app is split and what you are trying to protect from theft or manipulation is the data which will be in the back end
usual reason for protecting the front end is to prevent modification to forms, reports and code. Also to prevent someone from being able to discover the password to the back end or use the front end to gain access to the data. And perhaps licence management
what is left ‘out in the open’ is queries, which for me is the weak point. But easy to overcome by not placing them in the front end - keep in the back end either as a querydef or in a table, or hard coded in the front end vba.
so ‘how safe’ depends on what you want to protect, from whom, from doing what, by what means