diff --git a/src/context.h b/src/context.h
index fb487e7..f540bd4 100644
--- a/src/context.h
+++ b/src/context.h
@@ -36,8 +36,9 @@
  *
  * The first step with libyang is to create a new context using ::ly_ctx_new(). It returns a handler used in the following work.
  * Note that the context is supposed to provide a stable environment for work with the data. Therefore the caller should prepare
- * a complete context and after starting working with the data, the context and its content should not change. Despite the API
- * does not enforce this approach, it may change in future versions in the form of a locking mechanism which would allow further
+ * a complete context and after starting working with the data, the context and its content should not change. If it does,
+ * in most cases it leads to the context being recompiled and any parsed data invalid. Despite the API not enforcing this
+ * approach, it may change in future versions in the form of a locking mechanism which would allow further
  * optimization of data manipulation. Also note that modules cannot be removed from their context. If you need to change the set
  * of the schema modules in the context, the recommended way is to create a new context. To remove the context, there is ::ly_ctx_destroy() function.
  *
diff --git a/src/libyang.h b/src/libyang.h
index 7733def..ddf9bc3 100644
--- a/src/libyang.h
+++ b/src/libyang.h
@@ -132,6 +132,22 @@
  */
 
 /**
+ * @page howtoThreads Threading Limitations
+ *
+ * @section context Context
+ *
+ * It is safe to read from ::ly_ctx structure concurrently and use its dictionary, which is protected by a lock.
+ * Thread-safe functions include any ones working with data trees (only context dictionary is accessed) and all
+ * the `ly_ctx_get_*()` functions. Generally, they are the functions with `const` context parameter.
+ *
+ * @section data Data Trees
+ *
+ * Data trees are not internally synchronized so the general safe practice of a single writer **or** several concurrent
+ * readers should be followed. Specifically, only the functions with non-const ::lyd_node parameters modify the node(s)
+ * and no concurrent execution of such functions should be allowed on a single data tree or subtrees of one.
+ */
+
+/**
  * @internal
  * @page internals Developers' Notes
  * @tableofcontents
