diff --git a/private/compat/26.0/26.0.cil b/private/compat/26.0/26.0.cil
index 74fef1a9af0cab2df968dfcbe80fdbed81d6ead3..261fc6de2b9b065bad7edd516f58c5630a1f9e86 100644
--- a/private/compat/26.0/26.0.cil
+++ b/private/compat/26.0/26.0.cil
@@ -11,7 +11,6 @@
 (type tracing_shell_writable)
 (type tracing_shell_writable_debug)
 (type webview_zygote_socket)
-(type rild)
 
 (typeattributeset accessibility_service_26_0 (accessibility_service))
 (typeattributeset account_service_26_0 (account_service))
diff --git a/private/compat/27.0/27.0.cil b/private/compat/27.0/27.0.cil
index 791a6f19becc7130aec3e8697051d5f6f63a860b..1be82bfa5986908d9c10a7ce21bf41006d68114d 100644
--- a/private/compat/27.0/27.0.cil
+++ b/private/compat/27.0/27.0.cil
@@ -1,7 +1,6 @@
 ;; types removed from current policy
 (type webview_zygote_socket)
 (type reboot_data_file)
-(type rild)
 
 (expandtypeattribute (accessibility_service_27_0) true)
 (expandtypeattribute (account_service_27_0) true)
diff --git a/public/domain.te b/public/domain.te
index 46b624bc57c08f05a02d12d2644b68cfac645477..fc9c0a95ab5b765681315b717a2094bcf75b7f05 100644
--- a/public/domain.te
+++ b/public/domain.te
@@ -959,6 +959,7 @@ full_treble_only(`
         domain
         -coredomain
         -appdomain
+        -rild
         -vendor_executes_system_violators
         -vendor_init
     } {
diff --git a/public/hal_neverallows.te b/public/hal_neverallows.te
index ce4b48cd015a55982b6dfd586b6d4937425b8797..c866baeff9a8bff9821bb5a36be6ae0cefa6468a 100644
--- a/public/hal_neverallows.te
+++ b/public/hal_neverallows.te
@@ -5,7 +5,7 @@ neverallow {
   -hal_bluetooth_server
   -hal_wifi_server
   -hal_wifi_supplicant_server
-  -hal_telephony_server
+  -rild
 } self:global_capability_class_set { net_admin net_raw };
 
 # Unless a HAL's job is to communicate over the network, or control network
@@ -15,7 +15,7 @@ neverallow {
   -hal_tetheroffload_server
   -hal_wifi_server
   -hal_wifi_supplicant_server
-  -hal_telephony_server
+  -rild
 } domain:{ tcp_socket udp_socket rawip_socket } *;
 
 ###
@@ -42,7 +42,7 @@ neverallow {
 neverallow {
   halserverdomain
   -hal_dumpstate_server
-  -hal_telephony_server
+  -rild
 } { file_type fs_type }:file execute_no_trans;
 # Do not allow a process other than init to transition into a HAL domain.
 neverallow { domain -init } halserverdomain:process transition;
diff --git a/public/hal_telephony.te b/public/hal_telephony.te
index 86f41cbea62db3232b204750cfaecbd76d389ce8..41cfd4bf3fa76cbdfdf7c94d974465975af46d0a 100644
--- a/public/hal_telephony.te
+++ b/public/hal_telephony.te
@@ -5,42 +5,3 @@ binder_call(hal_telephony_server, hal_telephony_client)
 add_hwservice(hal_telephony_server, hal_telephony_hwservice)
 allow hal_telephony_client hal_telephony_hwservice:hwservice_manager find;
 
-allowxperm hal_telephony_server self:udp_socket ioctl priv_sock_ioctls;
-
-allow hal_telephony_server self:netlink_route_socket nlmsg_write;
-allow hal_telephony_server kernel:system module_request;
-allow hal_telephony_server self:global_capability_class_set { setpcap setgid setuid net_admin net_raw };
-allow hal_telephony_server alarm_device:chr_file rw_file_perms;
-allow hal_telephony_server cgroup:dir create_dir_perms;
-allow hal_telephony_server cgroup:{ file lnk_file } r_file_perms;
-allow hal_telephony_server radio_device:chr_file rw_file_perms;
-allow hal_telephony_server radio_device:blk_file r_file_perms;
-allow hal_telephony_server mtd_device:dir search;
-allow hal_telephony_server efs_file:dir create_dir_perms;
-allow hal_telephony_server efs_file:file create_file_perms;
-allow hal_telephony_server vendor_shell_exec:file rx_file_perms;
-allow hal_telephony_server bluetooth_efs_file:file r_file_perms;
-allow hal_telephony_server bluetooth_efs_file:dir r_dir_perms;
-allow hal_telephony_server sdcard_type:dir r_dir_perms;
-
-# property service
-set_prop(hal_telephony_server, radio_prop)
-set_prop(hal_telephony_server, exported_radio_prop)
-set_prop(hal_telephony_server, exported2_radio_prop)
-
-allow hal_telephony_server tty_device:chr_file rw_file_perms;
-
-# Allow hal_telephony_server to create and use netlink sockets.
-allow hal_telephony_server self:netlink_socket create_socket_perms_no_ioctl;
-allow hal_telephony_server self:netlink_generic_socket create_socket_perms_no_ioctl;
-allow hal_telephony_server self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
-
-# Access to wake locks
-wakelock_use(hal_telephony_server)
-
-r_dir_file(hal_telephony_server, proc_net)
-r_dir_file(hal_telephony_server, sysfs_type)
-r_dir_file(hal_telephony_server, system_file)
-
-# granting the ioctl permission for hal_telephony_server should be device specific
-allow hal_telephony_server self:socket create_socket_perms_no_ioctl;
diff --git a/public/property.te b/public/property.te
index cb839c955bbba0b183d25b693aed06f50485da6d..e4003326868a25c2e4aa9164638719098d5e9fe0 100644
--- a/public/property.te
+++ b/public/property.te
@@ -158,7 +158,7 @@ compatible_property_only(`
     domain
     -coredomain
     -appdomain
-    -hal_telephony_server
+    -rild
     -vendor_init
   } {
     exported_radio_prop
@@ -203,7 +203,7 @@ compatible_property_only(`
     domain
     -coredomain
     -appdomain
-    -hal_telephony_server
+    -rild
     -vendor_init
   } {
     radio_prop
diff --git a/public/radio.te b/public/radio.te
index 4998a61cd804d81604f755e4c7b2249620168866..b66514c8308a3fdd6f30afc44bcd0dd04c394857 100644
--- a/public/radio.te
+++ b/public/radio.te
@@ -5,8 +5,8 @@ net_domain(radio)
 bluetooth_domain(radio)
 binder_service(radio)
 
-# Talks to hal_telephony_server via the rild socket only for devices without full treble
-not_full_treble(`unix_socket_connect(radio, rild, hal_telephony_server)')
+# Talks to rild via the rild socket only for devices without full treble
+not_full_treble(`unix_socket_connect(radio, rild, rild)')
 
 # Data file accesses.
 allow radio radio_data_file:dir create_dir_perms;
diff --git a/public/rild.te b/public/rild.te
new file mode 100644
index 0000000000000000000000000000000000000000..8cafd23e4c18bf204e3a747d97acddb56375cfa7
--- /dev/null
+++ b/public/rild.te
@@ -0,0 +1,45 @@
+# rild - radio interface layer daemon
+type rild, domain;
+hal_server_domain(rild, hal_telephony)
+
+net_domain(rild)
+allowxperm rild self:udp_socket ioctl priv_sock_ioctls;
+
+allow rild self:netlink_route_socket nlmsg_write;
+allow rild kernel:system module_request;
+allow rild self:global_capability_class_set { setpcap setgid setuid net_admin net_raw };
+allow rild alarm_device:chr_file rw_file_perms;
+allow rild cgroup:dir create_dir_perms;
+allow rild cgroup:{ file lnk_file } r_file_perms;
+allow rild radio_device:chr_file rw_file_perms;
+allow rild radio_device:blk_file r_file_perms;
+allow rild mtd_device:dir search;
+allow rild efs_file:dir create_dir_perms;
+allow rild efs_file:file create_file_perms;
+allow rild shell_exec:file rx_file_perms;
+allow rild bluetooth_efs_file:file r_file_perms;
+allow rild bluetooth_efs_file:dir r_dir_perms;
+allow rild sdcard_type:dir r_dir_perms;
+
+# property service
+set_prop(rild, radio_prop)
+set_prop(rild, exported_radio_prop)
+set_prop(rild, exported2_radio_prop)
+
+allow rild tty_device:chr_file rw_file_perms;
+
+# Allow rild to create and use netlink sockets.
+allow rild self:netlink_socket create_socket_perms_no_ioctl;
+allow rild self:netlink_generic_socket create_socket_perms_no_ioctl;
+allow rild self:netlink_kobject_uevent_socket create_socket_perms_no_ioctl;
+
+# Access to wake locks
+wakelock_use(rild)
+
+r_dir_file(rild, proc_net)
+r_dir_file(rild, sysfs_type)
+r_dir_file(rild, system_file)
+
+# granting the ioctl permission for rild should be device specific
+allow rild self:socket create_socket_perms_no_ioctl;
+
diff --git a/vendor/rild.te b/vendor/rild.te
index fc84ef706bedf7b3af76d96f3abc2a71fa1f409e..510a776c44ca3384dce724bc3b770e57877aa62d 100644
--- a/vendor/rild.te
+++ b/vendor/rild.te
@@ -1,8 +1,3 @@
-# rild - radio interface layer daemon
-type rild, domain;
-hal_server_domain(rild, hal_telephony)
-net_domain(rild)
-
 # type_transition must be private policy the domain_trans rules could stay
 # public, but conceptually should go with this
 type rild_exec, exec_type, vendor_file_type, file_type;