diff --git a/policy/modules/kernel/ubac.fc b/policy/modules/kernel/ubac.fc
new file mode 100644
index 0000000..778366f
--- /dev/null
+++ b/policy/modules/kernel/ubac.fc
@@ -0,0 +1 @@
+# no UBAC file contexts
diff --git a/policy/modules/kernel/ubac.if b/policy/modules/kernel/ubac.if
new file mode 100644
index 0000000..7477750
--- /dev/null
+++ b/policy/modules/kernel/ubac.if
@@ -0,0 +1,184 @@
+## User-based access control policy
+##
+## Contains attributes used in UBAC policy.
+##
+
+########################################
+##
+## Constrain by user-based access control.
+##
+##
+##
+## Type to be constrained by UBAC.
+##
+##
+#
+interface(`ubac_constrained',`
+ gen_require(`
+ attribute ubac_constrained_type;
+ ')
+
+ typeattribute $1 ubac_constrained_type;
+')
+
+########################################
+##
+## Exempt user-based access control for files.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_file_exempt',`
+ gen_require(`
+ attribute ubacfile;
+ ')
+
+ typeattribute $1 ubacfile;
+')
+
+########################################
+##
+## Exempt user-based access control for processes.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_process_exempt',`
+ gen_require(`
+ attribute ubacproc;
+ ')
+
+ typeattribute $1 ubacproc;
+')
+
+########################################
+##
+## Exempt user-based access control for file descriptors.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_fd_exempt',`
+ gen_require(`
+ attribute ubacfd;
+ ')
+
+ typeattribute $1 ubacfd;
+')
+
+########################################
+##
+## Exempt user-based access control for sockets.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_socket_exempt',`
+ gen_require(`
+ attribute ubacsock;
+ ')
+
+ typeattribute $1 ubacsock;
+')
+
+########################################
+##
+## Exempt user-based access control for SysV IPC.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_sysvipc_exempt',`
+ gen_require(`
+ attribute ubacipc;
+ ')
+
+ typeattribute $1 ubacipc;
+')
+
+########################################
+##
+## Exempt user-based access control for X Windows.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_xwin_exempt',`
+ gen_require(`
+ attribute ubacxwin;
+ ')
+
+ typeattribute $1 ubacxwin;
+')
+
+########################################
+##
+## Exempt user-based access control for dbus.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_dbus_exempt',`
+ gen_require(`
+ attribute ubacdbus;
+ ')
+
+ typeattribute $1 ubacdbus;
+')
+
+########################################
+##
+## Exempt user-based access control for keys.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_key_exempt',`
+ gen_require(`
+ attribute ubackey;
+ ')
+
+ typeattribute $1 ubackey;
+')
+
+########################################
+##
+## Exempt user-based access control for databases.
+##
+##
+##
+## Domain to be exempted.
+##
+##
+#
+interface(`ubac_db_exempt',`
+ gen_require(`
+ attribute ubacdb;
+ ')
+
+ typeattribute $1 ubacdb;
+')
diff --git a/policy/modules/kernel/ubac.te b/policy/modules/kernel/ubac.te
new file mode 100644
index 0000000..c1f106d
--- /dev/null
+++ b/policy/modules/kernel/ubac.te
@@ -0,0 +1,20 @@
+
+policy_module(ubac, 1.0.0)
+
+########################################
+#
+# Declarations
+#
+
+attribute ubac_constrained_type;
+
+attribute ubacfile;
+attribute ubacproc;
+attribute ubacsock;
+attribute ubacfd;
+attribute ubacipc;
+attribute ubacxwin;
+attribute ubacdbus;
+attribute ubackey;
+attribute ubacdb;
+