With ZPE safety and security are of paramount importance to the design of the program. For this reason, access levels (properly known as Permission Levels) have been integrated into ZPE since the earliest versions. This level allows you to restrict which commands can be run and which cannot.
Further to the Permission Levels, ZPE also includes an option to disable internal functions (ZPE 1.6.6+) and objects (ZPE 1.8.10+).
Safety went a step further when compiled files could be password protected (ZPE 1.7.6+), and then later (ZPE 1.8.8+) encrypted using that password.
ZPEServer also added encryption to communication between it and the client using public and private key encryption (ZPE 1.8.1+) to ensure the safety of data being transmitted.
Later on, ZPE also added secure file transfers (ZPE 1.8.9+) using encryption agreed by the ZPEServer and ZPEClient.
Finally, ZPE 1.8.10 added support for file encryption and decryption, offering a secure way to store files.
Permission Levels are set from the properties file (run zpe -h config to find it) and there are two options here:
Setting this value to something other than
-will force a Permission Level on the user. This cannot be overriden by the command line. It can also override the DEFAULT_PERMISSION_LEVEL setting.
- The DEFAULT_PERMISSION_LEVEL sets the default level if no -level argument is given.
Password protecting compiled files
ZPE's focus on the compiler has been one of the most significant parts of development. As such, passwording compiled files was a must.
To password protect a compiled file use the -k argument when compiling as shown in the following:
zpe -c code.txt -o code.yex -k MyPass