Security Overview > Operating System and Progress Security > Compiling Custom Code on Unprotected Databases
  
Compiling Custom Code on Unprotected Databases
Progress schema-based controls do not prevent users from compiling code on an unprotected database with no schema-level access restrictions and then executing it on a production database. The schema access restrictions are checked at compile time rather than runtime.
To provide protection against this exposure, consider using the Progress PROUTIL function DBAUTHKEY to set a key for a Progress database. See the Progress Database Administration Guide for details.
Once set, this key is embedded in all r‑code compiled against the database. In addition, any r‑code is checked to verify that it contains this key value before it is permitted to execute. An additional function, RCODEKEY, is available to set or change the key value in specific r‑code entries without recompiling source code.