diff --git a/src/processing.hpp b/src/processing.hpp
index 0810312..1569c32 100644
--- a/src/processing.hpp
+++ b/src/processing.hpp
@@ -9,8 +9,8 @@
 #include <cassert>
 #include <string>
 
-/** @brief Define white list and black list data structure */
-using WhiteBlackList = boost::container::flat_set<std::string>;
+/** @brief Define allow list and deny list data structure */
+using AllowDenyList = boost::container::flat_set<std::string>;
 
 /** @brief The associations definitions interface */
 constexpr const char* assocDefsInterface =
@@ -45,19 +45,19 @@
 
 /** @brief Determine if dbus service is something to monitor
  *
- * mapper supports a whitelist and blacklist concept. If a whitelist is provided
- * as input then only dbus objects matching that list is monitored. If a
- * blacklist is provided then objects matching it will not be monitored.
+ * mapper supports an allowlist and denylist concept. If an allowlist is
+ * provided as input then only dbus objects matching that list is monitored. If
+ * a denylist is provided then objects matching it will not be monitored.
  *
  * @param[in] processName   - Dbus service name
- * @param[in] whiteList     - The white list
- * @param[in] blackList     - The black list
+ * @param[in] allowList     - The allow list
+ * @param[in] denyList      - The deny list
  *
  * @return True if input process_name should be monitored, false otherwise
  */
 bool needToIntrospect(const std::string& processName,
-                      const WhiteBlackList& whiteList,
-                      const WhiteBlackList& blackList);
+                      const AllowDenyList& allowList,
+                      const AllowDenyList& denyList);
 
 /** @brief Handle the removal of an existing name in objmgr data structures
  *
