diff --git a/pw_bluetooth/public/pw_bluetooth/gatt/server.h b/pw_bluetooth/public/pw_bluetooth/gatt/server.h
index 04ec360..2cff56f 100644
--- a/pw_bluetooth/public/pw_bluetooth/gatt/server.h
+++ b/pw_bluetooth/public/pw_bluetooth/gatt/server.h
@@ -37,10 +37,10 @@
   Uuid type;
 
   // The characteristics of this service.
-  Vector<Characteristic> characteristics;
+  span<const Characteristic> characteristics;
 
   // Handles of other services that are included by this service.
-  Vector<Handle> includes;
+  span<const Handle> includes;
 };
 
 // Interface for serving a local GATT service. This is implemented by the API
@@ -79,7 +79,7 @@
                                            bool indicate) = 0;
 
   // Called when a peer requests to read the value of a characteristic or
-  // descriptor. It is guaranteed that the peer satisfies the permssions
+  // descriptor. It is guaranteed that the peer satisfies the permissions
   // associated with this attribute.
   //
   // Parameters:
@@ -131,7 +131,7 @@
     // The PeerIds of the peers to signal. The LocalService should respect the
     // Characteristic Configuration associated with a peer+handle when deciding
     // whether to signal it. If empty, all peers are signalled.
-    Vector<PeerId> peer_ids;
+    span<const PeerId> peer_ids;
     // The handle of the characteristic value being signaled.
     Handle handle;
     // The new value for the descriptor/characteristic.
@@ -212,7 +212,7 @@
   // `LocalService` is destroyed or an error occurs
   // (LocalServiceDelegate.OnError), the service will be unpublished.
   virtual void PublishService(
-      LocalServiceInfo info,
+      const LocalServiceInfo& info,
       LocalServiceDelegate* delegate,
       Function<
           void(Result<PublishServiceError, std::unique_ptr<LocalService>>)>&&
diff --git a/pw_bluetooth/public/pw_bluetooth/gatt/types.h b/pw_bluetooth/public/pw_bluetooth/gatt/types.h
index 3a2b2ea..df399fc 100644
--- a/pw_bluetooth/public/pw_bluetooth/gatt/types.h
+++ b/pw_bluetooth/public/pw_bluetooth/gatt/types.h
@@ -17,7 +17,7 @@
 #include <optional>
 
 #include "pw_bluetooth/types.h"
-#include "pw_containers/vector.h"
+#include "pw_span/span.h"
 
 namespace pw::bluetooth::gatt {
 
@@ -68,7 +68,7 @@
 
   // Specifies the security requirements for a client to subscribe to
   // notifications or indications on a characteristic. A characteristic's
-  // support for notifications or indiciations is specified using the NOTIFY and
+  // support for notifications or indications is specified using the NOTIFY and
   // INDICATE characteristic properties. If a local characteristic has one of
   // these properties then this field can not be null. Otherwise, this field
   // must be left as null.
@@ -103,8 +103,8 @@
   // The UUID that identifies the type of this characteristic.
   Uuid type;
 
-  // The characteristic properties bitfield. See `CharacteristicPropertyBits`
-  // above for possible values.
+  // The characteristic properties bitfield. This is a logic or of any number of
+  // values from `CharacteristicPropertyBits` above.
   CharacteristicPropertyBits properties;
 
   // The attribute permissions of this characteristic. For remote
@@ -113,7 +113,7 @@
   std::optional<AttributePermissions> permissions;
 
   // The descriptors of this characteristic.
-  Vector<Descriptor> descriptors;
+  span<const Descriptor> descriptors;
 };
 
 }  // namespace pw::bluetooth::gatt
\ No newline at end of file
diff --git a/pw_bluetooth/public/pw_bluetooth/low_energy/advertising_data.h b/pw_bluetooth/public/pw_bluetooth/low_energy/advertising_data.h
index aa79598..8724832 100644
--- a/pw_bluetooth/public/pw_bluetooth/low_energy/advertising_data.h
+++ b/pw_bluetooth/public/pw_bluetooth/low_energy/advertising_data.h
@@ -16,7 +16,6 @@
 #include <cstdint>
 
 #include "pw_bluetooth/types.h"
-#include "pw_containers/vector.h"
 #include "pw_span/span.h"
 
 namespace pw::bluetooth::low_energy {
@@ -42,11 +41,11 @@
   // The appearance of the local device.
   Appearance appearance = Appearance::kUnknown;
 
-  Vector<Uuid> service_uuids;
+  span<const Uuid> service_uuids;
 
-  Vector<ServiceData> service_data;
+  span<const ServiceData> service_data;
 
-  Vector<ManufacturerData> manufacturer_data;
+  span<const ManufacturerData> manufacturer_data;
 
   // String representing a URI to be advertised, as defined in IETF STD 66:
   // https://tools.ietf.org/html/std66. Each entry should be a UTF-8 string
@@ -56,7 +55,7 @@
   // https://www.bluetooth.com/specifications/assigned-numbers/uri-scheme-name-string-mapping
   // for code-points used by the system to compress the scheme to save space in
   // the payload.
-  Vector<std::string_view> uris;
+  span<const std::string_view> uris;
 
   // Indicates whether the current TX power level should be included in the
   // advertising data.
diff --git a/pw_bluetooth/public/pw_bluetooth/low_energy/peripheral.h b/pw_bluetooth/public/pw_bluetooth/low_energy/peripheral.h
index 8a77492..d48c776 100644
--- a/pw_bluetooth/public/pw_bluetooth/low_energy/peripheral.h
+++ b/pw_bluetooth/public/pw_bluetooth/low_energy/peripheral.h
@@ -138,7 +138,7 @@
   // `result_callback` - Called once advertising has started or failed. On
   //     success, called with an `AdvertisedPeripheral` that models the lifetime
   //     of the advertisement. Destroying it will stop advertising.
-  virtual void Advertise(AdvertisingParameters parameters,
+  virtual void Advertise(const AdvertisingParameters& parameters,
                          AdvertiseCallback&& result_callback) = 0;
 };
 
