Secure AC800M from download
All downloads are subject to authentication, rights to the engineering account can be revoked.
Preventing download is probably not so good idea, a controller might subject power loss the battery cannot cover for, need hardware replacement or simply be reset inadvertently. In all cases download is required.
Every download / compile of control application will leave a trace in the controller. A unique serial number, time and IP address of station that downloaded can be viewed: Control Builder M->Maintenance->Remote System->IP address->Show downloaded items:
A controller can be made to boot application code from a Compact Flash/SD card in which no Control Builder is needed. However, leaving a controller without tools to engineer it may backfire on you.
You can also put proprietary code into a library which you protect with a password. Download is possible, but what's in the password protected library will remain unchanged.
Use the option of Tools>>Setup>>Station>>Application Download>>DisableDownload in CBM: Which disables download form that engineering station. This would make the download option from the CBM disabled.
Use the option of Tools>>Setup>>Station>>Application Download>>ReauthenticateDL in CBM: Which asks user authentication to download, password protected from the engineering station.
If you use AC 800M HI Controller, then you could disable download to SIL application by cutting power off 'Acces Enable', which dis-allows user to download.