grant { //Need read access to System properties but System.getProperties method require read,write //You can remove write permission and see if works with assumptions. permission java.util.PropertyPermission "*", "read,write"; //Need this to save license key, previous opened file, window size etc. //can work without this but the user will have to input all data every time they run permission java.lang.RuntimePermission "preferences", "read,write"; //Need this to check for latest version and updates permission java.net.SocketPermission "enthuware.com", "connect,resolve"; //Need this to download licenses, check for existing discussion on forum etc. permission java.net.SocketPermission "support.enthuware.com", "connect,resolve"; //Need this for the GUI to work properly permission java.awt.AWTPermission "setWindowAlwaysOnTop"; permission java.awt.AWTPermission "accessClipboard"; //Need this to load and decrypt question bank files permission java.security.SecurityPermission "putProviderProperty.BC"; permission java.security.SecurityPermission "insertProvider.BC"; permission java.lang.reflect.ReflectPermission "suppressAccessChecks"; }; grant { //Need this to download and save question bank file and to save user's test data //You may remove these and then add later as and when required. permission java.io.FilePermission ".", "read,write"; permission java.io.FilePermission "${user.home}", "read,write"; permission java.io.FilePermission "${user.home}${/}*", "read,write"; permission java.io.FilePermission "${user.home}${/}-", "read,write"; };