diff --git a/src/caosdb/authentication.cpp b/src/caosdb/authentication.cpp
index 7faa8619b4153c8ff3c03549369b7d976a62e035..11c3c17366ae9d24f209f7915c640fd2fee80d95 100644
--- a/src/caosdb/authentication.cpp
+++ b/src/caosdb/authentication.cpp
@@ -19,11 +19,13 @@
  *
  */
 #include "caosdb/authentication.h"
-#include <grpcpp/security/credentials.h> // for MetadataCredentialsPlugin
-#include <map>                           // for multimap
-#include <memory>                        // for allocator, shared_ptr
-#include <string>                        // for basic_string, operator+
-#include <utility>                       // for pair, move, make_pair
+#include "caosdb/utility.h"               // for base64_encode
+#include <grpcpp/security/credentials.h>  // for MetadataCredentialsPlugin
+#include <grpcpp/security/auth_context.h> // for AuthContext
+#include <map>                            // for multimap
+#include <memory>                         // for allocator, shared_ptr
+#include <string>                         // for basic_string, operator+
+#include <utility>                        // for pair, move, make_pair
 
 namespace caosdb::authentication {
 using caosdb::utility::base64_encode;
diff --git a/src/caosdb/connection.cpp b/src/caosdb/connection.cpp
index 550e35aac5c58383b7a8129bc68330769c5260ad..ebd55631d9df2208d56a40385bcb4d8e4b9dad82 100644
--- a/src/caosdb/connection.cpp
+++ b/src/caosdb/connection.cpp
@@ -36,6 +36,7 @@
 #include <grpcpp/create_channel.h>       // for CreateChannel
 #include <grpcpp/support/status.h>       // for Status
 #include <string>                        // for string, operator+
+#include <memory>                        // for make_shared
 #ifdef BUILD_ACM
 #include <vector> // for vector
 #endif
diff --git a/src/caosdb/entity.cpp b/src/caosdb/entity.cpp
index 568cc5d97c38c8af0bf8fd632d93cb9b9bc4b2f1..1567488144935c3281562af75f1476fdcbbb5603 100644
--- a/src/caosdb/entity.cpp
+++ b/src/caosdb/entity.cpp
@@ -23,8 +23,10 @@
 #include "caosdb/data_type.h"         // for DataType
 #include "caosdb/entity/v1/main.pb.h" // for Messages
 #include "caosdb/protobuf_helper.h"   // for get_arena
-#include "caosdb/value.h"             // for Value
+#include "caosdb/status_code.h"       // for StatusCode
 #include <google/protobuf/arena.h>    // for Arena
+#include <string>                     // for string
+#include <vector>                     // for vector
 
 namespace caosdb::entity {
 using ProtoParent = caosdb::entity::v1::Parent;
diff --git a/src/caosdb/logging.cpp b/src/caosdb/logging.cpp
index ecc34d668971eaa22cd7ff727d8f54c84c2f3bdc..59dd93eee3c72c061501bb5dca000752b47704b6 100644
--- a/src/caosdb/logging.cpp
+++ b/src/caosdb/logging.cpp
@@ -20,27 +20,16 @@
  */
 #include "caosdb/logging.h"
 #include "caosdb/log_level.h"
-#include <boost/core/swap.hpp> // for swap
-#include <boost/iterator/iterator_facade.hpp>
 #include <boost/log/attributes/clock.hpp>
 #include <boost/log/core/core.hpp> // for core
 #include <boost/log/core/record.hpp>
-#include <boost/log/detail/attachable_sstream_buf.hpp>
 #include <boost/log/sources/record_ostream.hpp>
 #include <boost/log/sources/severity_channel_logger.hpp>
 #include <boost/log/utility/setup/from_settings.hpp>
 #include <boost/log/utility/setup/settings.hpp>
-#include <boost/multi_index/detail/bidir_node_iterator.hpp>
-#include <boost/operators.hpp>
-#include <boost/preprocessor/seq/limits/enum_256.hpp>
-#include <boost/preprocessor/seq/limits/size_256.hpp>
-#include <boost/property_tree/detail/exception_implementation.hpp>
-#include <boost/smart_ptr/intrusive_ptr.hpp>
-#include <boost/smart_ptr/intrusive_ref_counter.hpp>
 #include <boost/smart_ptr/shared_ptr.hpp>
 #include <cstdint> // for uint64_t
 #include <memory>
-#include <sstream>
 #include <string>
 #include <utility> // for move
 #include <vector>
diff --git a/src/caosdb/utility.cpp b/src/caosdb/utility.cpp
index ca7e1cbe9102763ed54763f7ca1dd271ed0b06db..1cefe34c5a69477b5ebc8d5f457eaebc044f96aa 100644
--- a/src/caosdb/utility.cpp
+++ b/src/caosdb/utility.cpp
@@ -115,7 +115,7 @@ auto base64_encode(const std::string &plain) -> std::string {
   auto size_encoded = boost::beast::detail::base64::encoded_size(size_plain);
 
   std::string result = std::string(size_encoded, '\0');
-  boost::beast::detail::base64::encode(&result[0], plain.c_str(), size_plain);
+  boost::beast::detail::base64::encode(result.data(), plain.c_str(), size_plain);
 
   return result;
 }
@@ -123,7 +123,7 @@ auto base64_encode(const std::string &plain) -> std::string {
 auto _load_json_file(const path &json_file) -> value {
   assert(exists(json_file));
 
-  constexpr auto buffer_size = std::size_t(4096);
+  constexpr auto buffer_size = static_cast<size_t>(4096);
   auto stream = ifstream(json_file);
   stream.exceptions(std::ios_base::badbit);