diff --git a/src/caosdb/file_transmission/FileReader.cpp b/src/caosdb/file_transmission/FileReader.cpp
index 5124846c5f993fa3311c72f3445f53ea5482bba7..b1f9789115faa064a5aef79a8b784cfde0b8a907 100644
--- a/src/caosdb/file_transmission/FileReader.cpp
+++ b/src/caosdb/file_transmission/FileReader.cpp
@@ -43,7 +43,9 @@ std::size_t FileReader::read(std::string &buffer) {
   if (!stream_.eof()) {
     auto bufferSize = buffer.size();
     if (bufferSize > 0) {
-      if (!stream_.read(&buffer[0], bufferSize)) {
+      // TODO(tf) error: narrowing conversion from 'unsigned long' to signed
+      // type 'std::streamsize' (aka 'long').
+      if (!stream_.read(&buffer[0], bufferSize)) { // NOLINT
         throw FileIOError("Can't read file: " + filename_.string());
       }
 
diff --git a/src/caosdb/file_transmission/FileWriter.cpp b/src/caosdb/file_transmission/FileWriter.cpp
index 3d89c1c6f2343ca5a39a167ad2dc88ff5a4e3aa2..4d115bb208e98dae2316d9506fd192dfc1cb2edd 100644
--- a/src/caosdb/file_transmission/FileWriter.cpp
+++ b/src/caosdb/file_transmission/FileWriter.cpp
@@ -34,7 +34,10 @@ void FileWriter::openFile() {
 void FileWriter::write(const std::string &buffer) {
   auto bufferSize = buffer.size();
   if (bufferSize > 0) {
-    if (!stream_.write(buffer.data(), bufferSize)) {
+    // TODO(tf) error: narrowing conversion from 'unsigned long' to signed type
+    // 'std::streamsize' (aka 'long').
+    // NOLINT
+    if (!stream_.write(buffer.data(), bufferSize)) { // NOLINT
       throw FileIOError("Can't write file: " + filename_.string());
     }
   }
diff --git a/src/caosdb/transaction.cpp b/src/caosdb/transaction.cpp
index 377b3b0febaec8086cc385aa6d1b815bb49fa335..663af178ddfd9ae9c2081fdf99c2441b3e908220 100644
--- a/src/caosdb/transaction.cpp
+++ b/src/caosdb/transaction.cpp
@@ -257,7 +257,8 @@ auto Transaction::Execute() -> TransactionStatus {
   return status;
 }
 
-auto Transaction::ExecuteAsynchronously() noexcept -> StatusCode {
+// TODO(tf) This has apparently a cognitive complexity of 39>25 (threshold).
+auto Transaction::ExecuteAsynchronously() noexcept -> StatusCode { // NOLINT
   if (!IsStatus(TransactionStatus::READY()) &&
       !IsStatus(TransactionStatus::GO_ON())) {
     return StatusCode::TRANSACTION_STATUS_ERROR;
@@ -356,7 +357,8 @@ auto Transaction::ExecuteAsynchronously() noexcept -> StatusCode {
   return StatusCode::EXECUTING;
 }
 
-auto Transaction::WaitForIt() const noexcept -> TransactionStatus {
+// TODO(tf) This has apparently a cognitive complexity of 36>25 (threshold).
+auto Transaction::WaitForIt() const noexcept -> TransactionStatus { // NOLINT
   bool set_error = false;
   auto *responses = this->response->mutable_responses();
   std::vector<std::unique_ptr<Entity>> entities;