+# Compile permissions
+domain_everything_files(gruntmaster_compile_t, gruntmaster_job_exec_t)
+domain_everything_files(gruntmaster_compile_t, tmp_t)
+domain_read_files(gruntmaster_compile_t, bin_t)
+domain_read_files(gruntmaster_compile_t, lib_t)
+domain_read_files(gruntmaster_compile_t, proc_t)
+domain_read_files(gruntmaster_compile_t, proc_t)
+domain_read_files(gruntmaster_compile_t, usr_t)
+domain_read_files(gruntmaster_compile_t, gruntmasterd_tmp_t)
+allow gruntmaster_compile_t gruntmasterd_t : fifo_file { read write ioctl };
+allow gruntmaster_compile_t gruntmasterd_t:fd use;
+allow gruntmaster_compile_t gruntmasterd_t:process sigchld;
+allow gruntmaster_compile_t gruntmasterd_tmp_t:dir { write add_name };
+allow gruntmaster_compile_t self : fifo_file { read write ioctl };
+allow gruntmaster_compile_t self:process signal;
+allow gruntmaster_compile_t urandom_device_t:chr_file read_file_perms;
+allow gruntmaster_compile_t { bin_t lib_t } : file { execute execute_no_trans };
+
+libs_use_ld_so(gruntmaster_compile_t)
+libs_use_shared_libs(gruntmaster_compile_t)
+miscfiles_read_localization(gruntmaster_compile_t)
+
+# Page generator permissions
+domain_everything_files(gruntmaster_paged_t, httpd_sys_content_rw_t)
+domain_read_files(gruntmaster_paged_t, usr_t)
+domain_read_files(gruntmaster_paged_t, bin_t)
+allow gruntmaster_paged_t urandom_device_t:chr_file read_file_perms;
+allow gruntmaster_paged_t port_t:tcp_socket name_connect;
+allow gruntmaster_paged_t self:tcp_socket { read write create ioctl connect };
+
+libs_use_ld_so(gruntmaster_paged_t)
+libs_use_shared_libs(gruntmaster_paged_t)
+miscfiles_read_localization(gruntmaster_paged_t)