diff --git a/rust/README.md b/rust/README.md
new file mode 100644
index 0000000..dcd3d7e
--- /dev/null
+++ b/rust/README.md
@@ -0,0 +1,96 @@
+# Bluetooth Profile Implementations
+
+This workspace provides implementations of profiles and services defined in
+[published specifications][1] by the Bluetooth SIG.
+
+There are four types of crates: Services, Profiles, Utility and Interface
+
+Each crate is expected to include it's own unit tests that are runnable
+with `cargo test` and should be passing on every commit.  Crates that use
+async features of rust are executor-agnostic - using any async executor
+should be possible.
+
+## Services
+
+Crates that implement services as defined by the published specifications.
+They should provide parsed representations of any of the specified formats of
+characteristics or descriptors, as well as control operations and their
+arguments.
+
+Some services crates may be usable on their own, especially if they are not
+usually associated directly with a profile.
+
+List of currently implemented or in-development services crates:
+ * bt-ascs - Audio Stream Control Service
+ * bt-pacs - Published Audio Capabilities Service
+ * bt-bass - Broadcast Audio Scan Service
+ * bt-vcs - Volume Control Service
+ * bt-battery - Battery Service
+
+## Profiles
+
+Crates that implement all or some of a profile specification and provide an API
+for use of their included services. BAP Broadcast Assistant is one example of a
+role that could be a single crate.
+
+List of currently implemented or in-development profiles crates:
+ * bt-broadcast-assistant - Basic Audio Profile Broadcast Assistant Role
+
+## Utility
+
+Crates that implement some common set of shared code or types expected to be
+shared between multiple other crates in the workspace.
+
+List of current utility crates:
+ * bt-common - Defines types and formats from the [Core Specification][core]
+   or [Assigned Numbers][assigned]
+ * bt-bap - Common types shared across Basic Audio Profile roles
+
+## Interface
+
+Crates that provide an interface to system capabilities that are required for
+the other crates to work.  Each interface crate represents a requirement for
+the system to provide for some of the implementations in Profiles or Services
+crates.
+
+### bt-gatt
+
+Host stack GATT interface.
+
+Bluetooth Host implementations using the profile and services crates above
+usually require reference to `GattTypes`, and sometimes `ServerTypes`, to
+allow the services and profiles crates to find, connect to, and read/write from
+piconet peers.
+
+Generally profile or service crates will be grounded in one of these two
+Dependency Traits to use types provided by the platform stack for searching,
+publishing services, advertising, connecting, and communicating via GATT.
+
+`GattTypes` provides common types expected to be needed for any GATT operation,
+and these types should be provided by any implementation crate.
+
+`ServerTypes` are specific to publising a GATT service.
+
+Implementers are encouraged to read the README in the `bt-gatt` crate to follow
+best practices.
+
+# Important Note about User Data and Privacy
+
+As Bluetooth is often used for data sharing and can send sensitive information,
+care should be taken by integrators of this library to ensure that user data and
+privacy is maintained.
+
+The crates here do not store any data persistently, and identifiers are stable
+only as long as the connection is maintained.
+
+Interface implementations should take special care to randomize peer IDs
+as well as any other identifiers when possible to prevent leakage of
+location and/or other information through metadata.
+
+Indications of Bluetooth usage should be present on interfaces when possible to
+make it clear to users that the technology is in use and data is being
+transmitted wirelessly.
+
+[1]: https://www.bluetooth.com/specifications/specs/
+[core]: https://www.bluetooth.com/specifications/specs/core-specification-5-4/
+[assigned]: https://bitbucket.org/bluetooth-SIG/public/src/main/assigned_numbers/
