diff --git a/Android.mk b/Android.mk
new file mode 100755
index 0000000..cdbe311
--- /dev/null
+++ b/Android.mk
@@ -0,0 +1,7 @@
+# Fairphone specific SELinux policy variable definitions
+BOARD_SEPOLICY_DIRS += \
+       device/fairphone_devices/sepolicy 
+
+BOARD_SEPOLICY_UNION += \
+       file_contexts \
+       su.te
diff --git a/file_contexts b/file_contexts
new file mode 100644
index 0000000..4d3d938
--- /dev/null
+++ b/file_contexts
@@ -0,0 +1,4 @@
+#############
+# Superuser's control sockets
+/dev/socket/su-daemon(/.*)?   u:object_r:superuser_device:s0
+
diff --git a/su.te b/su.te
new file mode 100644
index 0000000..c2c68fd
--- /dev/null
+++ b/su.te
@@ -0,0 +1,66 @@
+type superuser_device, file_type;
+
+## Perms for the daemon
+
+type sudaemon, domain;
+
+userdebug_or_eng(`
+  domain_trans(init, su_exec, sudaemon)
+
+  type_transition sudaemon socket_device:sock_file superuser_device;
+  # The userspace app uses /dev sockets to control per-app access
+  allow sudaemon superuser_device:dir { create rw_dir_perms setattr unlink };
+  allow sudaemon superuser_device:sock_file { create setattr unlink write };
+
+  # sudaemon is also permissive to permit setenforce.
+  permissive sudaemon;
+
+  # Add sudaemon to various domains
+  net_domain(sudaemon)
+  app_domain(sudaemon)
+
+  dontaudit sudaemon self:capability_class_set *;
+  dontaudit sudaemon kernel:security *;
+  dontaudit sudaemon kernel:system *;
+  dontaudit sudaemon self:memprotect *;
+  dontaudit sudaemon domain:process *;
+  dontaudit sudaemon domain:fd *;
+  dontaudit sudaemon domain:dir *;
+  dontaudit sudaemon domain:lnk_file *;
+  dontaudit sudaemon domain:{ fifo_file file } *;
+  dontaudit sudaemon domain:socket_class_set *;
+  dontaudit sudaemon domain:ipc_class_set *;
+  dontaudit sudaemon domain:key *;
+  dontaudit sudaemon fs_type:filesystem *;
+  dontaudit sudaemon {fs_type dev_type file_type}:dir_file_class_set *;
+  dontaudit sudaemon node_type:node *;
+  dontaudit sudaemon node_type:{ tcp_socket udp_socket rawip_socket } *;
+  dontaudit sudaemon netif_type:netif *;
+  dontaudit sudaemon port_type:socket_class_set *;
+  dontaudit sudaemon port_type:{ tcp_socket dccp_socket } *;
+  dontaudit sudaemon domain:peer *;
+  dontaudit sudaemon domain:binder *;
+  dontaudit sudaemon property_type:property_service *;
+')
+
+## Perms for the app
+
+userdebug_or_eng(`
+  # Translate user apps to the shell domain when using su
+  #
+  # PR_SET_NO_NEW_PRIVS blocks this :(
+  # we need to find a way to narrow this down to the actual exec.
+  # typealias shell alias suclient;
+  # domain_auto_trans(untrusted_app, su_exec, suclient)
+
+  allow untrusted_app su_exec:file { execute_no_trans getattr open read execute };
+  allow untrusted_app sudaemon:unix_stream_socket { connectto read write setopt ioctl };
+  allow untrusted_app superuser_device:dir { r_dir_perms };
+  allow untrusted_app superuser_device:sock_file { write };
+
+
+  # For Settings control of access
+  allow system_app superuser_device:sock_file { read write create setattr unlink getattr };
+  allow system_app sudaemon:unix_stream_socket { connectto read write setopt ioctl };
+  allow system_app superuser_device:dir { create rw_dir_perms setattr unlink };
+')
