Jamie Balfour

Welcome to my personal website.

Find out more about me, my personal projects, reviews, courses and much more here.

Official ZPE/YASS documentationSafety and Security

Official ZPE/YASS documentationSafety and Security

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

Permission Levels are set from the properties file (run zpe -h config to find it) and there are two options here:

PERMISSION_LEVEL
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.
DEFAULT_PERMISSION_LEVEL
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:

Shell
zpe -c code.txt -o code.yex -k MyPass
    
Comments
Feedback 👍
Comments are sent via email to me.