diff --git a/.clang-tidy b/.clang-tidy
index 3322c6f..cf85fa8 100644
--- a/.clang-tidy
+++ b/.clang-tidy
@@ -32,6 +32,7 @@
 bugprone-multi-level-implicit-pointer-conversion,
 bugprone-multiple-new-in-one-expression,
 bugprone-multiple-statement-macro,
+bugprone-narrowing-conversions,
 bugprone-no-escape,
 bugprone-non-zero-enum-to-bool-conversion,
 bugprone-not-null-terminated-result,
diff --git a/certs_manager.cpp b/certs_manager.cpp
index dc991d5..cf61d4f 100644
--- a/certs_manager.cpp
+++ b/certs_manager.cpp
@@ -700,7 +700,8 @@
     }
 
     if ((EVP_PKEY_keygen_init(ctx.get()) <= 0) ||
-        (EVP_PKEY_CTX_set_rsa_keygen_bits(ctx.get(), keyBitLen) <= 0))
+        (EVP_PKEY_CTX_set_rsa_keygen_bits(ctx.get(),
+                                          static_cast<int>(keyBitLen)) <= 0))
 
     {
         lg2::error("Error occurred initializing keygen context");
diff --git a/mainapp.cpp b/mainapp.cpp
index 5e47aeb..3a88231 100644
--- a/mainapp.cpp
+++ b/mainapp.cpp
@@ -35,7 +35,7 @@
     std::string res = s;
     if (!res.empty())
     {
-        res[0] = std::toupper(res[0]);
+        res[0] = static_cast<char>(std::toupper(res[0]));
     }
     return res;
 }
diff --git a/watch.cpp b/watch.cpp
index 933e5ab..8c5842c 100644
--- a/watch.cpp
+++ b/watch.cpp
@@ -77,7 +77,7 @@
         event, fd, EPOLLIN, [this](sdeventplus::source::IO&, int fd, uint32_t) {
             constexpr int size = sizeof(struct inotify_event) + NAME_MAX + 1;
             std::array<char, size> buffer{};
-            int length = read(fd, buffer.data(), buffer.size());
+            ssize_t length = read(fd, buffer.data(), buffer.size());
             if (length >= static_cast<int>(sizeof(struct inotify_event)))
             {
                 struct inotify_event* notifyEvent =
