diff --git a/pw_build/facade.gni b/pw_build/facade.gni
index a823360..e3c1bc0 100644
--- a/pw_build/facade.gni
+++ b/pw_build/facade.gni
@@ -79,18 +79,21 @@
 template("pw_facade") {
   assert(defined(invoker.backend),
          "pw_facade requires a reference to a backend variable for the facade")
-  assert(defined(invoker.public),
-         "If your facade does not explicitly expose an API that a backend " +
-             "must depend on, you can just directly depend on the build arg " +
-             "that the `backend` template argument would have been set to.")
 
-  _facade_name = "$target_name.facade"
+  # Only define the .facade subtarget if it has a public attribute to share.
+  if (defined(invoker.public) || defined(invoker.public_deps) ||
+      defined(invoker.public_configs)) {
+    _facade_name = "$target_name.facade"
 
-  if (get_path_info(get_label_info(":$target_name", "dir"), "name") ==
-      get_label_info(":$target_name", "name")) {
-    group("facade") {
-      public_deps = [ ":$_facade_name" ]
+    # Define //foo:facade alias
+    if (get_path_info(get_label_info(":$target_name", "dir"), "name") ==
+        get_label_info(":$target_name", "name")) {
+      group("facade") {
+        public_deps = [ ":$_facade_name" ]
+      }
     }
+  } else {
+    _facade_name = ""
   }
 
   _facade_vars = [
@@ -100,9 +103,12 @@
     "public_configs",
     "public_deps",
     "public",
+    "visibility",
   ]
-  pw_source_set(_facade_name) {
-    forward_variables_from(invoker, _facade_vars, [ "require_link_deps" ])
+  if (_facade_name != "") {
+    pw_source_set(_facade_name) {
+      forward_variables_from(invoker, _facade_vars, [ "require_link_deps" ])
+    }
   }
 
   if (invoker.backend == "") {
@@ -158,14 +164,16 @@
                    ]
     forward_variables_from(invoker, "*", _ignore_vars)
 
-    public_deps = [ ":$_facade_name" ]
-
     # If the backend is set, inject it as a dependency.
     if (invoker.backend != "") {
-      public_deps += [ invoker.backend ]
+      public_deps = [ invoker.backend ]
     } else {
       # If the backend is not set, depend on the *.NO_BACKEND_SET target.
-      public_deps += [ ":$target_name.NO_BACKEND_SET" ]
+      public_deps = [ ":$target_name.NO_BACKEND_SET" ]
+    }
+
+    if (_facade_name != "") {
+      public_deps += [ ":$_facade_name" ]
     }
   }
 
@@ -183,11 +191,11 @@
         }
       }
 
-      _facade_name = get_label_info(":$target_name", "label_no_toolchain")
+      _facade = get_label_info(":$target_name", "label_no_toolchain")
       assert(_dep_is_in_link_dependencies,
              "$_required_dep must be listed in the pw_build_LINK_DEPS build " +
-                 "arg when the $_facade_name facade is in use. Please update " +
-                 "your toolchain configuration.")
+                 "arg when the $_facade facade is in use. Please update your " +
+                 "toolchain configuration.")
     }
   } else {
     not_needed(invoker, [ "require_link_deps" ])
diff --git a/pw_build/gn.rst b/pw_build/gn.rst
index fd20c96..31f5aa5 100644
--- a/pw_build/gn.rst
+++ b/pw_build/gn.rst
@@ -378,12 +378,14 @@
 This allows the facade to provide header files, compilation options or anything
 else a GN ``source_set`` provides.
 
-The ``pw_facade`` template declares two targets:
+The ``pw_facade`` template declares one or two targets:
 
-* ``$target_name``: the public-facing ``pw_source_set``, with a ``public_dep``
-  on the backend
-* ``$target_name.facade``: target used by the backend to avoid circular
-  dependencies
+* ``$target_name``: The public-facing ``pw_source_set``, with a ``public_dep``
+  on the backend. Always declared.
+* ``$target_name.facade``: Target with ``public`` headers, ``public_deps``, and
+  ``public_configs`` shared between the public-facing ``pw_source_set`` and
+  backend to avoid circular dependencies. Only declared if ``public``,
+  ``public_deps``, or ``public_configs`` are provided.
 
 .. code-block::
 
diff --git a/pw_sync/BUILD.gn b/pw_sync/BUILD.gn
index 235d8b6..0f20710 100644
--- a/pw_sync/BUILD.gn
+++ b/pw_sync/BUILD.gn
@@ -131,7 +131,11 @@
     "$dir_pw_preprocessor",
   ]
   sources = [ "recursive_mutex.cc" ]
-  visibility = [ ":*" ]
+  visibility = [
+    ":*",
+    "$dir_pw_sync_baremetal/*",
+    "$dir_pw_sync_stl/*",
+  ]
 }
 
 pw_facade("interrupt_spin_lock") {
