diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index e06004a..d67e1ee 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -30,8 +30,8 @@
 
 `#[must_use]` may also be used on types, but should be evaluated on a
 case-by-case basis. A few things to keep in mind:
-- All functions defined in `mundane` which return values have `#[must_use]` on
-  them, so the case of a type returned by a function defined in `mundane` is
+- All functions defined in Mundane which return values have `#[must_use]` on
+  them, so the case of a type returned by a function defined in Mundane is
   already covered.
 - Unlike on functions, `#[must_use]` on types affects code other than the
   immediate caller since code outside of this crate may return types which are
@@ -90,7 +90,7 @@
 deprecated item is imported or used, it will cause a compiler warning (two,
 actually - one for the import, and one for the use in code).
 
-In `mundane`, all insecure operations must be marked with a `#[deprecated]`
+In Mundane, all insecure operations must be marked with a `#[deprecated]`
 attribute with an appropriate message. This includes all items that a user could
 ever interact with - types, functions, methods, etc. If it has a `pub` in front
 of it, it needs a deprecation attribute. For example:
diff --git a/DESIGN.md b/DESIGN.md
index f9ae5a5..9a3214d 100644
--- a/DESIGN.md
+++ b/DESIGN.md
@@ -4,9 +4,9 @@
 license that can be found in the LICENSE file or at
 https://opensource.org/licenses/MIT. -->
 
-# Design of the `mundane` crate
+# Design of Mundane
 
-`mundane` has the following design goals, in this order:
+Mundane has the following design goals, in this order:
 - To be difficult to misuse
 - To be ergonomic
 - To be performant
@@ -30,8 +30,8 @@
 most programmers aren't familiar with the requirements of using cryptography
 securely, and getting it wrong can be absolutely fatal.
 
-Given this realization, `mundane` takes the approach of giving the programmer
-the fewest degrees of freedom possible. Doing the right thing should be easy and
+Given this realization, Mundane takes the approach of giving the programmer the
+fewest degrees of freedom possible. Doing the right thing should be easy and
 feel natural. Doing the wrong thing should feel difficult and ideally be
 entirely impossible. This philosophy motivates the design patterns which are
 explored in the next section.
@@ -177,8 +177,8 @@
 
 ## Attributes
 
-Rust has two attributes which will cause compiler warnings in user code
-if elements of the `mundane` API are misused.
+Rust has two attributes which will cause compiler warnings in user code if
+elements of the Mundane API are misused.
 - The `#[must_use]` attribute on a function causes a compiler warning if a user
   calls the function and discards the result. We put this attribute on all
   functions which return values, as it is always suspicious to call a
diff --git a/README.md b/README.md
index 652edb3..2928909 100644
--- a/README.md
+++ b/README.md
@@ -4,16 +4,16 @@
 license that can be found in the LICENSE file or at
 https://opensource.org/licenses/MIT. -->
 
-# mundane
+# Mundane
 
-`mundane` is a Rust cryptography library backed by BoringSSL that is difficult
+Mundane is a Rust cryptography library backed by BoringSSL that is difficult
 to misuse, ergonomic, and performant (in that order).
 
 ## Dependencies
 
-`mundane` vendors a copy of the BoringSSL source, so BoringSSL does not need to
-be installed locally in order to build. However, the BoringSSL build system has
-the following dependencies:
+Mundane vendors a copy of the BoringSSL source, so BoringSSL does not need to be
+installed locally in order to build. However, the BoringSSL build system has the
+following dependencies:
 - [CMake](https://cmake.org/download/) 2.8.11 or later
 - Perl 5.6.1 or later. See [BoringSSL's build
   instructions](https://boringssl.googlesource.com/boringssl/+/master/BUILDING.md)
@@ -29,14 +29,14 @@
 In order to avoid errors at link time due to conflicting symbols, we build
 BoringSSL with a custom prefix for all of its symbols which is based on the name
 and version of this crate. That way, even if multiple different versions of
-`mundane` are present in the same dependency graph, none of the symbols from one
+Mundane are present in the same dependency graph, none of the symbols from one
 version's BoringSSL will conflict with the symbols from another version's
 BoringSSL.
 
 ## Supported platforms
 
-`mundane` supports being built on and for Linux and Mac. Windows support is
-under development. Cross-compilation is not supported.
+Mundane supports being built on and for Linux and Mac. Windows support is under
+development. Cross-compilation is not supported.
 
 ## License
 
@@ -45,4 +45,4 @@
 `boringssl/boringssl` directory is licensed with a license that can be found in
 the `boringssl/boringssl/LICENSE` file.
 
-Disclaimer: mundane is not an officially supported Google product.
+Disclaimer: Mundane is not an officially supported Google product.
diff --git a/boringssl/README.md b/boringssl/README.md
index d462c91..f097532 100644
--- a/boringssl/README.md
+++ b/boringssl/README.md
@@ -11,14 +11,14 @@
 
 ## Versions
 
-BoringSSL is vendored here, so each version of `mundane` will depend on a
+BoringSSL is vendored here, so each version of Mundane will depend on a
 particular version of BoringSSL. Each new release will usually vendor the latest
 version of BoringSSL in order to pick up bug fixes and improvements.
 
 ## Bindings
 
 Rust bindings live in `boringssl.rs`. This file is included from the main
-`mundane` source code using a `#[path]` attribute.
+Mundane source code using a `#[path]` attribute.
 
 These bindings are auto-generated using the `bindgen.sh` script, although some
 manual intervention is required. In particular, after running `bindgen.sh`, each
diff --git a/boringssl/bindgen.sh b/boringssl/bindgen.sh
index c7ef530..564423c 100755
--- a/boringssl/bindgen.sh
+++ b/boringssl/bindgen.sh
@@ -31,7 +31,7 @@
 # to make will affect us, which they will care about, making them either expend
 # effort in a graceful transition or decide to abandon the change. Thus, instead
 # of whitelisting broad classes of symbols, we explicitly whitelist the exact
-# list of symbols that mundane depends on.
+# list of symbols that Mundane depends on.
 WHITELIST="(CBB|\
 CBB_cleanup|\
 CBB_data|\
diff --git a/boringssl/boringssl.rs b/boringssl/boringssl.rs
index 714ef5f..306f96e 100644
--- a/boringssl/boringssl.rs
+++ b/boringssl/boringssl.rs
@@ -8,7 +8,7 @@
 // suppress the unused warning when those features aren't enabled.
 #![allow(unused)]
 // Only necessary for test_symbol_conflict.sh, which exposes these symbols
-// through mundane's public interface.
+// through Mundane's public interface.
 #![allow(missing_docs)]
 #![allow(non_camel_case_types)]
 #![allow(non_snake_case)]
diff --git a/boringssl/test_symbol_conflict.sh b/boringssl/test_symbol_conflict.sh
index 15a0f14..a67d40b 100755
--- a/boringssl/test_symbol_conflict.sh
+++ b/boringssl/test_symbol_conflict.sh
@@ -6,16 +6,16 @@
 # license that can be found in the LICENSE file or at
 # https://opensource.org/licenses/MIT.
 
-# This script tests that a build with multiple versions of the mundane crate in
+# This script tests that a build with multiple versions of the Mundane crate in
 # the same build graph works properly. It performs the following steps:
 # - Create a temporary directory
-# - Create two copies of mundane - mundane-v1, and mundane-v2 - which directly
+# - Create two copies of Mundane - mundane-v1, and mundane-v2 - which directly
 #   expose the boringssl::ffi module so that dependent crates can access the raw
 #   symbols
 # - Create two crates, one depending on mundane-v1, and one on mundane-v2, each
-#   of which exposes all of the BoringSSL symbols from mundane
+#   of which exposes all of the BoringSSL symbols from Mundane
 # - Create a top-level program which depends on both of these crates
-# - Have the top-level program's main call all of the mundane functions from
+# - Have the top-level program's main call all of the Mundane functions from
 #   each of the crates
 # - Produce a release build, which forces linking, to make sure that linking
 #   these two versions of the library at the same time works properly
@@ -35,7 +35,7 @@
 echo "$TMP"
 
 #
-# Make mundane crates
+# Make Mundane crates
 #
 
 # Update the Cargo.toml versions and names in place to be distinct
@@ -53,12 +53,12 @@
 # Mark the ffi module as public
 sed  -i '' -e 's/^mod ffi;$/pub mod ffi;/' mundane-v1/src/boringssl/mod.rs
 sed  -i '' -e 's/^mod ffi;$/pub mod ffi;/' mundane-v2/src/boringssl/mod.rs
-# Make mundane directly expose the ffi module
+# Make Mundane directly expose the ffi module
 echo "pub use boringssl::ffi;" >> mundane-v1/src/lib.rs
 echo "pub use boringssl::ffi;" >> mundane-v2/src/lib.rs
 
 #
-# Make crates which depend on mundane
+# Make crates which depend on Mundane
 #
 
 # Usage: make_crate <crate name> <dep name>
@@ -69,7 +69,7 @@
 
     mkdir "$CRATE_NAME"
     mkdir "${CRATE_NAME}/src"
-    # Re-export all symbols from mundane
+    # Re-export all symbols from Mundane
     cat >> "${CRATE_NAME}/src/lib.rs" <<EOF
 extern crate ${DEP_NAME_RS};
 
diff --git a/src/lib.rs b/src/lib.rs
index 468ee9b..6caf2ea 100644
--- a/src/lib.rs
+++ b/src/lib.rs
@@ -6,15 +6,15 @@
 
 //! Cryptography in Rust.
 //!
-//! `mundane` is a Rust cryptography library backed by BoringSSL that is
-//! difficult to misuse, ergonomic, and performant (in that order).
+//! Mundane is a Rust cryptography library backed by BoringSSL that is difficult
+//! to misuse, ergonomic, and performant (in that order).
 //!
 //! # Features
 //!
-//! By default, `mundane` provides only high-level cryptographic primitives.
+//! By default, Mundane provides only high-level cryptographic primitives.
 //! Unless you are implementing cryptographic protocols, these high-level
 //! primitives should be all you need. However, if you are sure that you need
-//! something lower level, `mundane` provides features to enable a number of
+//! something lower level, Mundane provides features to enable a number of
 //! different low level primitives.
 //!
 //! WARNING: Being low level, these primitives provide the programmer with more
@@ -33,12 +33,12 @@
 //!
 //! # Insecure Operations
 //!
-//! `mundane` supports one additional feature not listed in the previous
-//! section: `insecure`. This enables some cryptographic primitives which are
-//! today considered insecure. These should only be used for compatibility with
-//! legacy systems, but never in new systems! When the `insecure` feature is
-//! used, an `insecure` module is added to the crate root. All insecure
-//! primitives are exposed through this module.
+//! Mundane supports one additional feature not listed in the previous section:
+//! `insecure`. This enables some cryptographic primitives which are today
+//! considered insecure. These should only be used for compatibility with legacy
+//! systems, but never in new systems! When the `insecure` feature is used, an
+//! `insecure` module is added to the crate root. All insecure primitives are
+//! exposed through this module.
 
 #![doc(html_root_url = "https://docs.rs/mundane/0.2.0")]
 #![deny(missing_docs)]
