diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..95731801eda4732fbe275c4d312f0a14ea2f4d88
--- /dev/null
+++ b/README.md
@@ -0,0 +1,28 @@
+# Tahoe-Capabilities
+
+## What is it?
+
+Tahoe-LAFS LIT, CHK, SDMF, and MDMF capabilities offer varying functionality for interacting with encrypted data.
+This library provides abstractions for functionality common to all of these capability types.
+
+All responsibility for implementing these abstractions is left to the capability-specific libraries.
+
+### What is the current state?
+
+* The `ConfidentialShowable` type class provides a uniform way for losslessly converting a capability to a string.
+
+### What is planned?
+
+Sufficient abstraction so that general encoding, decoding, upload, and download functions could be implemented independent of the specific capability type in use.
+
+## Why does it exist?
+
+Each specific Tahoe-LAFS capability type supports certain operations and offers certain security properties.
+At a high level,
+an application will often want to select among the available capability types to satisfy its particular security and/or privacy requirements.
+A lower level exists encompassing such details of a capability type as which hash function is used or the size or alignment of certain fields.
+Applications should typically not be required to make choices at this lower level.
+By using a set of operations that abstract over these details,
+application code can be kept simpler and more general-purpose.
+By allowing some centralization of the choice of which concrete capability type to use,
+applications can also be made more secure over time at a lower maintenance cost.
diff --git a/tahoe-capabilities.cabal b/tahoe-capabilities.cabal
index 063c604ed5d0f5a15b6bf1f67a658d18a6c4c3d3..67a6c2251907f139e6ee54fc8379852fe5567302 100644
--- a/tahoe-capabilities.cabal
+++ b/tahoe-capabilities.cabal
@@ -54,7 +54,9 @@ category:        Codec
 build-type:      Simple
 
 -- Extra doc files to be distributed with the package, such as a CHANGELOG or a README.
-extra-doc-files: CHANGELOG.md
+extra-doc-files:
+  CHANGELOG.md
+  README.md
 
 -- Extra source files to be distributed with the package, such as examples, or a tutorial module.
 -- extra-source-files: