diff --git a/private/compat/26.0/26.0.ignore.cil b/private/compat/26.0/26.0.ignore.cil
index 2c38deb1aa2dae539e294dfc15c6db42e830ec47..f9ec790fc973e93ee593376e6f9c9f65cddd1403 100644
--- a/private/compat/26.0/26.0.ignore.cil
+++ b/private/compat/26.0/26.0.ignore.cil
@@ -25,6 +25,7 @@
     e2fs
     e2fs_exec
     exfat
+    exported_audio_prop
     exported_bluetooth_prop
     exported_config_prop
     exported_dalvik_prop
diff --git a/private/compat/27.0/27.0.ignore.cil b/private/compat/27.0/27.0.ignore.cil
index 3b3f6f81451db86888bcf31a3eb62323275eb7bf..9b82f35f3927527b12f4939ec37451f212ca36f5 100644
--- a/private/compat/27.0/27.0.ignore.cil
+++ b/private/compat/27.0/27.0.ignore.cil
@@ -29,6 +29,7 @@
     exported3_default_prop
     exported3_radio_prop
     exported3_system_prop
+    exported_audio_prop
     exported_bluetooth_prop
     exported_config_prop
     exported_dalvik_prop
diff --git a/private/system_server.te b/private/system_server.te
index a838d3fc77ec280a4df65a5765ce1bca6498aa39..6b3f0c07e434d4040c422504b97ea92c77ff364c 100644
--- a/private/system_server.te
+++ b/private/system_server.te
@@ -540,6 +540,10 @@ get_prop(system_server, serialno_prop)
 # Read/write the property which keeps track of whether this is the first start of system_server
 set_prop(system_server, firstboot_prop)
 
+# Audio service in system server can read exported audio properties,
+# such as camera shutter enforcement
+get_prop(system_server, exported_audio_prop)
+
 # Create a socket for connections from debuggerd.
 allow system_server system_ndebug_socket:sock_file create_file_perms;
 
diff --git a/public/property.te b/public/property.te
index b57cc6fda36a3a6bebdbfa6e2d4787ba8717e033..d2083d34a9fb4ad96de31b8c8bcd3c4de6ea9580 100644
--- a/public/property.te
+++ b/public/property.te
@@ -67,6 +67,7 @@ type wifi_prop, property_type;
 type vendor_security_patch_level_prop, property_type;
 
 # Properties for whitelisting
+type exported_audio_prop, property_type;
 type exported_bluetooth_prop, property_type;
 type exported_config_prop, property_type;
 type exported_dalvik_prop, property_type;
diff --git a/public/property_contexts b/public/property_contexts
index 2098fda571c22ad152853e5070b16d26d84a4f8b..14d8f44b578ece5e10befa4db8d6d66a9c428e35 100644
--- a/public/property_contexts
+++ b/public/property_contexts
@@ -3,6 +3,7 @@ persist.radio.airplane_mode_on u:object_r:exported2_radio_prop:s0 exact int
 
 # vendor-init-settable
 af.fast_track_multiplier u:object_r:exported3_default_prop:s0 exact int
+audio.camerasound.force u:object_r:exported_audio_prop:s0 exact bool
 camera.disable_zsl_mode u:object_r:exported3_default_prop:s0 exact bool
 camera.fifo.disable u:object_r:exported3_default_prop:s0 exact int
 dalvik.vm.appimageformat u:object_r:exported_dalvik_prop:s0 exact string
diff --git a/public/vendor_init.te b/public/vendor_init.te
index 6307f2cf6ef332d3bd6eb4f68f7091fee22f38ec..fda80f4162e2abfa98798499fb735a5c41adef49 100644
--- a/public/vendor_init.te
+++ b/public/vendor_init.te
@@ -176,6 +176,7 @@ not_compatible_property(`
 
 set_prop(vendor_init, bluetooth_a2dp_offload_prop)
 set_prop(vendor_init, debug_prop)
+set_prop(vendor_init, exported_audio_prop)
 set_prop(vendor_init, exported_bluetooth_prop)
 set_prop(vendor_init, exported_config_prop)
 set_prop(vendor_init, exported_dalvik_prop)