diff --git a/certbot/docs/compatibility.rst b/certbot/docs/compatibility.rst
new file mode 100644
index 000000000..a511f36a2
--- /dev/null
+++ b/certbot/docs/compatibility.rst
@@ -0,0 +1,39 @@
+=======================
+Backwards Compatibility
+=======================
+
+All Certbot components including `acme `_,
+Certbot, and :ref:`non-third party plugins ` follow `Semantic
+Versioning `_ both for its Python :doc:`API ` and for the
+application itself. This means that we will not change behavior in a backwards
+incompatible way except in a new major version of the project.
+
+.. note:: None of this applies to the behavior of Certbot distribution
+ mechanisms such as :ref:`certbot-auto ` or OS packages whose
+ behavior may change at any time. Semantic versioning only applies to the
+ common Certbot components that are installed by various distribution
+ methods.
+
+For Certbot as an application, the command line interface and non-interactive
+behavior can be considered stable with two exceptions. The first is that no
+aspects of Certbot's console or log output should be considered stable and it
+may change at any time. The second is that Certbot's behavior should only be
+considered stable with certain files but not all. Files with which users should
+expect Certbot to maintain its current behavior with are:
+
+* ``/etc/letsencrypt/live//{cert,chain,fullchain,privkey}.pem`` where
+ ```` is the name given to ``--cert-name``. If ``--cert-name`` is not
+ set by the user, it is the first domain given to ``--domains``.
+* :ref:`CLI configuration files `
+* Hook directories in ``/etc/letsencrypt/renewal-hooks``
+
+Certbot's behavior with other files may change at any point.
+
+Another area where Certbot should not be considered stable is its behavior when
+not run in non-interactive mode which also may change at any point.
+
+In general, if we're making a change that we expect will break some users, we
+will bump the major version and will have warned about it in a prior release
+when possible. For our Python API, we will issue warnings using Python's
+warning module. For application level changes, we will print and log warning
+messages.
diff --git a/certbot/docs/index.rst b/certbot/docs/index.rst
index 17cde1adf..a7fc75c5b 100644
--- a/certbot/docs/index.rst
+++ b/certbot/docs/index.rst
@@ -10,6 +10,7 @@ Welcome to the Certbot documentation!
using
contributing
packaging
+ compatibility
resources
.. toctree::