diff --git a/include/NVMeSensor.hpp b/include/NVMeSensor.hpp
index ffe2909..02dd6fc 100644
--- a/include/NVMeSensor.hpp
+++ b/include/NVMeSensor.hpp
@@ -44,8 +44,6 @@
 
 using NVMEMap = boost::container::flat_map<int, std::shared_ptr<NVMeContext>>;
 
-int verifyIntegrity(uint8_t* msg, size_t len);
-
 namespace nvmeMCTP
 {
 void init(void);
diff --git a/src/NVMeSensor.cpp b/src/NVMeSensor.cpp
index 33c0e3f..eff96de 100644
--- a/src/NVMeSensor.cpp
+++ b/src/NVMeSensor.cpp
@@ -30,7 +30,7 @@
 
 static constexpr bool debug = false;
 
-void rxMessage(uint8_t eid, void* data, void* msg, size_t len);
+static void rxMessage(uint8_t eid, void* data, void* msg, size_t len);
 
 namespace nvmeMCTP
 {
@@ -111,7 +111,7 @@
 
 } // namespace nvmeMCTP
 
-void readResponse(const std::shared_ptr<NVMeContext>& nvmeDevice)
+static void readResponse(const std::shared_ptr<NVMeContext>& nvmeDevice)
 {
     nvmeDevice->nvmeSlaveSocket.async_wait(
         boost::asio::ip::tcp::socket::wait_error,
@@ -129,7 +129,7 @@
         });
 }
 
-int nvmeMessageTransmit(mctp& mctp, nvme_mi_msg_request& req)
+static int nvmeMessageTransmit(mctp& mctp, nvme_mi_msg_request& req)
 {
     std::array<uint8_t, NVME_MI_MSG_BUFFER_SIZE> messageBuf = {};
 
@@ -179,7 +179,7 @@
     return mctp_message_tx(&mctp, 0, messageBuf.data(), msgSize);
 }
 
-int verifyIntegrity(uint8_t* msg, size_t len)
+static int verifyIntegrity(uint8_t* msg, size_t len)
 {
     uint32_t msgIntegrity = {0};
     if (len < NVME_MI_MSG_RESPONSE_HEADER_SIZE + sizeof(msgIntegrity))
@@ -201,7 +201,8 @@
     return 0;
 }
 
-void readAndProcessNVMeSensor(const std::shared_ptr<NVMeContext>& nvmeDevice)
+static void
+    readAndProcessNVMeSensor(const std::shared_ptr<NVMeContext>& nvmeDevice)
 {
     struct nvme_mi_msg_request requestMsg = {};
     requestMsg.header.opcode = NVME_MI_OPCODE_HEALTH_STATUS_POLL;
@@ -270,7 +271,7 @@
     return reading;
 }
 
-void rxMessage(uint8_t eid, void*, void* msg, size_t len)
+static void rxMessage(uint8_t eid, void*, void* msg, size_t len)
 {
     struct nvme_mi_msg_response_header header
     {};
