diff --git a/src/main/java/de/ozgcloud/xta/client/XtaClient.java b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
index 08abacf101ab81fa54c2ba04a1da96d7a149d032..8d5d8b47a2af6bc8968e555b855185015b06d1e7 100644
--- a/src/main/java/de/ozgcloud/xta/client/XtaClient.java
+++ b/src/main/java/de/ozgcloud/xta/client/XtaClient.java
@@ -13,7 +13,7 @@ import jakarta.validation.constraints.NotNull;
 import de.ozgcloud.xta.client.config.XtaClientConfig;
 import de.ozgcloud.xta.client.core.XtaClientService;
 import de.ozgcloud.xta.client.core.XtaExceptionHandler;
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.exception.XtaClientException;
 import de.ozgcloud.xta.client.exception.XtaClientInitializationException;
 import de.ozgcloud.xta.client.model.XtaIdentifier;
@@ -158,13 +158,13 @@ public class XtaClient {
 
 	void throwExceptionIfServiceNotAvailable(XtaMessageMetaData metaData) {
 		if (!service.lookupService(metaData)) {
-			throw new ClientRuntimeException("Service %s is not available!".formatted(metaData.service()));
+			throw new XtaClientRuntimeException("Service %s is not available!".formatted(metaData.service()));
 		}
 	}
 
 	void throwExceptionIfAccountInactive(XtaIdentifier clientIdentifier) {
 		if (!service.checkAccountActive(clientIdentifier)) {
-			throw new ClientRuntimeException("Account %s is not active!".formatted(clientIdentifier.value()));
+			throw new XtaClientRuntimeException("Account %s is not active!".formatted(clientIdentifier.value()));
 		}
 	}
 
diff --git a/src/main/java/de/ozgcloud/xta/client/core/XtaClientService.java b/src/main/java/de/ozgcloud/xta/client/core/XtaClientService.java
index 6dc98c8357aee69a5bc5311ae5d42b9c43d61e28..d61028941a5ed2ec58f05e29deb9f0f0050ce9e6 100644
--- a/src/main/java/de/ozgcloud/xta/client/core/XtaClientService.java
+++ b/src/main/java/de/ozgcloud/xta/client/core/XtaClientService.java
@@ -3,7 +3,7 @@ package de.ozgcloud.xta.client.core;
 import java.util.Optional;
 
 import de.ozgcloud.xta.client.config.XtaClientConfig;
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.model.XtaIdentifier;
 import de.ozgcloud.xta.client.model.XtaMessage;
 import de.ozgcloud.xta.client.model.XtaMessageMetaData;
@@ -33,7 +33,7 @@ public class XtaClientService {
 	public Optional<XtaTransportReport> getTransportReport(XtaMessageMetaData messageMetaData) {
 		try {
 			return Optional.of(getTransportReportOrThrowException(messageMetaData));
-		} catch (ClientRuntimeException e) {
+		} catch (XtaClientRuntimeException e) {
 			logError(TRANSPORT_REPORT_FAILED_ERROR, e);
 			return Optional.empty();
 		}
@@ -78,7 +78,7 @@ public class XtaClientService {
 			service.checkAccountActive(clientIdentifier);
 			return true;
 		} catch (XTAWSTechnicalProblemException | RuntimeException e) {
-			throw new ClientRuntimeException("Failed to check account active!", e);
+			throw new XtaClientRuntimeException("Failed to check account active!", e);
 		} catch (PermissionDeniedException e) {
 			return false;
 		}
@@ -91,7 +91,7 @@ public class XtaClientService {
 			return getTransportReportOrThrowException(message.metaData());
 		} catch (XTAWSTechnicalProblemException | PermissionDeniedException | SyncAsyncException | ParameterIsNotValidException |
 				MessageVirusDetectionException | MessageSchemaViolationException | RuntimeException e) {
-			throw new ClientRuntimeException("Failed to send message!", e);
+			throw new XtaClientRuntimeException("Failed to send message!", e);
 		}
 	}
 
@@ -101,7 +101,7 @@ public class XtaClientService {
 			var messageId = service.createMessageId(authorIdentifier);
 			return createXtaMessageWithMessageId(messageWithoutMessageId, messageId);
 		} catch (XTAWSTechnicalProblemException | PermissionDeniedException | RuntimeException e) {
-			throw new ClientRuntimeException("Failed to create message id!", e);
+			throw new XtaClientRuntimeException("Failed to create message id!", e);
 		}
 	}
 
@@ -119,7 +119,7 @@ public class XtaClientService {
 		try {
 			return service.getTransportReport(messageId, authorId);
 		} catch (XTAWSTechnicalProblemException | PermissionDeniedException | InvalidMessageIDException | RuntimeException e) {
-			throw new ClientRuntimeException(
+			throw new XtaClientRuntimeException(
 					"Failed to get transport report! (messageId: %s, reader: %s)".formatted(messageId, authorId.value()), e);
 		}
 	}
diff --git a/src/main/java/de/ozgcloud/xta/client/core/XtaExceptionHandler.java b/src/main/java/de/ozgcloud/xta/client/core/XtaExceptionHandler.java
index 4fb8b1b4e00d6237f79d388e37cefbfefdeae369..a31641c1ada3c3743ec3500a731703948469f59c 100644
--- a/src/main/java/de/ozgcloud/xta/client/core/XtaExceptionHandler.java
+++ b/src/main/java/de/ozgcloud/xta/client/core/XtaExceptionHandler.java
@@ -4,7 +4,7 @@ import java.util.Optional;
 import java.util.stream.Collectors;
 import java.util.stream.Stream;
 
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.exception.XtaClientException;
 import genv3.de.xoev.transport.xta.x211.ExceptionType;
 import lombok.Builder;
@@ -17,13 +17,13 @@ public class XtaExceptionHandler {
 	static final String UNEXPECTED_ERROR_MESSAGE = "An unexpected error occurred. Please report this to the xta-client maintainers.";
 
 	public XtaClientException deriveXtaClientException(RuntimeException exception) {
-		if (exception instanceof ClientRuntimeException clientRuntimeException) {
-			return deriveXtaClientExceptionFromClientRuntimeException(clientRuntimeException);
+		if (exception instanceof XtaClientRuntimeException xtaClientRuntimeException) {
+			return deriveXtaClientExceptionFromClientRuntimeException(xtaClientRuntimeException);
 		}
 		return new XtaClientException(UNEXPECTED_ERROR_MESSAGE, exception);
 	}
 
-	XtaClientException deriveXtaClientExceptionFromClientRuntimeException(ClientRuntimeException exception) {
+	XtaClientException deriveXtaClientExceptionFromClientRuntimeException(XtaClientRuntimeException exception) {
 		var cause = exception.getCause();
 		var detailMessageLines = getDetailLines(cause);
 		var message = Stream.concat(
diff --git a/src/main/java/de/ozgcloud/xta/client/exception/ClientRuntimeException.java b/src/main/java/de/ozgcloud/xta/client/exception/ClientRuntimeException.java
deleted file mode 100644
index d2e32e5d824986c9cfc1f6a66221e7cb88c491b4..0000000000000000000000000000000000000000
--- a/src/main/java/de/ozgcloud/xta/client/exception/ClientRuntimeException.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package de.ozgcloud.xta.client.exception;
-
-public class ClientRuntimeException extends RuntimeException {
-
-	public ClientRuntimeException(String message) {
-		super(message);
-	}
-
-	public ClientRuntimeException(String message, Throwable cause) {
-		super(message, cause);
-	}
-}
diff --git a/src/main/java/de/ozgcloud/xta/client/exception/XtaClientRuntimeException.java b/src/main/java/de/ozgcloud/xta/client/exception/XtaClientRuntimeException.java
new file mode 100644
index 0000000000000000000000000000000000000000..9c7d4b89b154d0d76a18d9a00044413fa911f816
--- /dev/null
+++ b/src/main/java/de/ozgcloud/xta/client/exception/XtaClientRuntimeException.java
@@ -0,0 +1,12 @@
+package de.ozgcloud.xta.client.exception;
+
+public class XtaClientRuntimeException extends RuntimeException {
+
+	public XtaClientRuntimeException(String message) {
+		super(message);
+	}
+
+	public XtaClientRuntimeException(String message, Throwable cause) {
+		super(message, cause);
+	}
+}
diff --git a/src/test/java/de/ozgcloud/xta/client/XtaClientTest.java b/src/test/java/de/ozgcloud/xta/client/XtaClientTest.java
index 6b4cba4aae4b457d21fbb58f380c053a9a0408ca..306a1ab92c82e220c064259ae5f88cedf71b7055 100644
--- a/src/test/java/de/ozgcloud/xta/client/XtaClientTest.java
+++ b/src/test/java/de/ozgcloud/xta/client/XtaClientTest.java
@@ -27,8 +27,7 @@ import org.mockito.Spy;
 import de.ozgcloud.xta.client.config.XtaClientConfig;
 import de.ozgcloud.xta.client.core.XtaClientService;
 import de.ozgcloud.xta.client.core.XtaExceptionHandler;
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
-import de.ozgcloud.xta.client.exception.XtaClientException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.factory.ClientRuntimeExceptionTestFactory;
 import de.ozgcloud.xta.client.factory.XtaClientExceptionTestFactory;
 import de.ozgcloud.xta.client.factory.XtaMessageMetaDataListingTestFactory;
@@ -758,7 +757,7 @@ class XtaClientTest {
 			doReturn(false).when(service).lookupService(message.metaData());
 
 			assertThatThrownBy(() -> client.throwExceptionIfServiceNotAvailable(message.metaData()))
-					.isInstanceOf(ClientRuntimeException.class);
+					.isInstanceOf(XtaClientRuntimeException.class);
 		}
 	}
 
@@ -782,7 +781,7 @@ class XtaClientTest {
 			doReturn(false).when(service).checkAccountActive(AUTHOR_IDENTIFIER);
 
 			assertThatThrownBy(() -> client.throwExceptionIfAccountInactive(AUTHOR_IDENTIFIER))
-					.isInstanceOf(ClientRuntimeException.class);
+					.isInstanceOf(XtaClientRuntimeException.class);
 		}
 	}
 
diff --git a/src/test/java/de/ozgcloud/xta/client/core/XtaClientServiceTest.java b/src/test/java/de/ozgcloud/xta/client/core/XtaClientServiceTest.java
index 9ef4b29191c8bff65505dd2f4edbe4d824b42dbb..44f5255784cdd6308a28dc908641fdefa0790d94 100644
--- a/src/test/java/de/ozgcloud/xta/client/core/XtaClientServiceTest.java
+++ b/src/test/java/de/ozgcloud/xta/client/core/XtaClientServiceTest.java
@@ -19,7 +19,7 @@ import org.mockito.Mock;
 import org.mockito.Spy;
 
 import de.ozgcloud.xta.client.config.XtaClientConfig;
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.factory.XtaMessageMetaDataListingTestFactory;
 import de.ozgcloud.xta.client.factory.XtaMessageMetaDataTestFactory;
 import de.ozgcloud.xta.client.factory.XtaMessageTestFactory;
@@ -53,7 +53,7 @@ class XtaClientServiceTest {
 	class TestGetTransportReport {
 
 		@Mock
-		private ClientRuntimeException exception;
+		private XtaClientRuntimeException exception;
 
 		@DisplayName("should return")
 		@Test
@@ -243,7 +243,7 @@ class XtaClientServiceTest {
 			doThrow(technicalException).when(wrapper).checkAccountActive(any());
 
 			assertThatThrownBy(this::checkAccountActive)
-					.isInstanceOf(ClientRuntimeException.class)
+					.isInstanceOf(XtaClientRuntimeException.class)
 					.hasCause(technicalException);
 		}
 
@@ -295,7 +295,7 @@ class XtaClientServiceTest {
 			doThrow(exception).when(wrapper).sendMessage(message);
 
 			assertThatThrownBy(this::sendMessage)
-					.isInstanceOf(ClientRuntimeException.class)
+					.isInstanceOf(XtaClientRuntimeException.class)
 					.hasCause(exception);
 		}
 
@@ -333,7 +333,7 @@ class XtaClientServiceTest {
 			doThrow(exception).when(wrapper).createMessageId(AUTHOR_IDENTIFIER);
 
 			assertThatThrownBy(() -> service.getXtaMessageWithMessageId(message))
-					.isInstanceOf(ClientRuntimeException.class)
+					.isInstanceOf(XtaClientRuntimeException.class)
 					.hasCause(exception);
 		}
 	}
@@ -362,7 +362,7 @@ class XtaClientServiceTest {
 			when(wrapper.getTransportReport(MESSAGE_ID, AUTHOR_IDENTIFIER)).thenThrow(exception);
 
 			assertThatThrownBy(() -> service.getTransportReportOrThrowException(messageMetaData))
-					.isInstanceOf(ClientRuntimeException.class)
+					.isInstanceOf(XtaClientRuntimeException.class)
 					.hasCause(exception);
 		}
 	}
diff --git a/src/test/java/de/ozgcloud/xta/client/core/XtaExceptionHandlerTest.java b/src/test/java/de/ozgcloud/xta/client/core/XtaExceptionHandlerTest.java
index df6b0a203b80cb29ea12bd4f8613b7c831def4e1..cc2b76b6436841a5846b10651e7e804ae2f65d3f 100644
--- a/src/test/java/de/ozgcloud/xta/client/core/XtaExceptionHandlerTest.java
+++ b/src/test/java/de/ozgcloud/xta/client/core/XtaExceptionHandlerTest.java
@@ -15,7 +15,7 @@ import org.mockito.InjectMocks;
 import org.mockito.Mock;
 import org.mockito.Spy;
 
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.exception.XtaClientException;
 import de.ozgcloud.xta.client.factory.ClientRuntimeExceptionTestFactory;
 import genv3.de.xoev.transport.xta.x211.PermissionDeniedException;
@@ -26,7 +26,7 @@ class XtaExceptionHandlerTest {
 	@Spy
 	XtaExceptionHandler exceptionHandler;
 
-	private ClientRuntimeException exception;
+	private XtaClientRuntimeException exception;
 
 	@BeforeEach
 	void setUp() {
@@ -40,9 +40,9 @@ class XtaExceptionHandlerTest {
 		@Mock
 		private XtaClientException derivedClientException;
 
-		@DisplayName("should derive xta client exception from client runtime exception")
+		@DisplayName("should derive xta client exception from xta client runtime exception")
 		@Test
-		void shouldDeriveXtaClientExceptionFromClientRuntimeException() {
+		void shouldDeriveXtaClientExceptionFromXtaClientRuntimeException() {
 			doReturn(derivedClientException).when(exceptionHandler).deriveXtaClientExceptionFromClientRuntimeException(exception);
 
 			var result = exceptionHandler.deriveXtaClientException(exception);
@@ -50,9 +50,9 @@ class XtaExceptionHandlerTest {
 			assertThat(result).isEqualTo(derivedClientException);
 		}
 
-		@DisplayName("without client runtime exception instance")
+		@DisplayName("without xta client runtime exception instance")
 		@Nested
-		class TestWithoutClientRuntimeExceptionInstance {
+		class TestWithoutXtaClientRuntimeExceptionInstance {
 
 			@Mock
 			private RuntimeException runtimeException;
@@ -75,14 +75,14 @@ class XtaExceptionHandlerTest {
 		}
 	}
 
-	@DisplayName("derive xta client exception from client runtime exception")
+	@DisplayName("derive xta client exception from xta client runtime exception")
 	@Nested
-	class TestDeriveXtaClientExceptionFromClientRuntimeException {
+	class TestDeriveXtaClientExceptionFromXtaClientRuntimeException {
 
 		@DisplayName("should keep message if no cause")
 		@Test
 		void shouldKeepMessageIfNoCause() {
-			var exception = new ClientRuntimeException(MESSAGE);
+			var exception = new XtaClientRuntimeException(MESSAGE);
 
 			var result = exceptionHandler.deriveXtaClientExceptionFromClientRuntimeException(exception);
 
@@ -93,7 +93,7 @@ class XtaExceptionHandlerTest {
 		@Test
 		void shouldKeepMessageIfCauseIsNotAnXtaException() {
 			var cause = new Exception();
-			var exception = new ClientRuntimeException(MESSAGE, cause);
+			var exception = new XtaClientRuntimeException(MESSAGE, cause);
 
 			var result = exceptionHandler.deriveXtaClientExceptionFromClientRuntimeException(exception);
 
diff --git a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java
index 9ecd3fbcbd073a011707d78f12c931a48933b873..18197005703eb1230cf668f961f0a5fbd2bbf02d 100644
--- a/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java
+++ b/src/test/java/de/ozgcloud/xta/client/extension/XtaServerSetupExtensionTestUtil.java
@@ -14,7 +14,7 @@ import de.ozgcloud.xta.client.XtaClient;
 import de.ozgcloud.xta.client.config.XtaClientConfig;
 import de.ozgcloud.xta.client.core.WrappedXtaService;
 import de.ozgcloud.xta.client.core.XtaClientService;
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import de.ozgcloud.xta.client.model.XtaFile;
 import de.ozgcloud.xta.client.model.XtaIdentifier;
 import de.ozgcloud.xta.client.model.XtaMessage;
@@ -88,7 +88,7 @@ public class XtaServerSetupExtensionTestUtil {
 			log.info("Sending from author {} to reader {}.", message.metaData().authorIdentifier(), message.metaData().readerIdentifier());
 			var transportReport = client.sendMessage(message);
 			return transportReport.metaData().messageId();
-		} catch (ClientRuntimeException e) {
+		} catch (XtaClientRuntimeException e) {
 			var cause = e.getCause();
 			if (cause instanceof ParameterIsNotValidException) {
 				logCodeFehlerNummer(((ParameterIsNotValidException) cause).getFaultInfo().getErrorCode());
diff --git a/src/test/java/de/ozgcloud/xta/client/factory/ClientRuntimeExceptionTestFactory.java b/src/test/java/de/ozgcloud/xta/client/factory/ClientRuntimeExceptionTestFactory.java
index bfa3c0f97bda2ecb5b68821c425571a5f8809f81..7b2d14bd1bad08067e1b6a1212d05717c08ab754 100644
--- a/src/test/java/de/ozgcloud/xta/client/factory/ClientRuntimeExceptionTestFactory.java
+++ b/src/test/java/de/ozgcloud/xta/client/factory/ClientRuntimeExceptionTestFactory.java
@@ -1,6 +1,6 @@
 package de.ozgcloud.xta.client.factory;
 
-import de.ozgcloud.xta.client.exception.ClientRuntimeException;
+import de.ozgcloud.xta.client.exception.XtaClientRuntimeException;
 import genv3.de.xoev.transport.xta.x211.CodeFehlernummer;
 import genv3.de.xoev.transport.xta.x211.PermissionDeniedException;
 import genv3.de.xoev.transport.xta.x211.PermissionDeniedExceptionType;
@@ -12,8 +12,8 @@ public class ClientRuntimeExceptionTestFactory {
 	public static final String CAUSE_CODE = "cause code";
 	public static final String CAUSE_NAME = "cause name";
 
-	public static ClientRuntimeException create() {
-		return new ClientRuntimeException(MESSAGE, createPermissionDeniedException());
+	public static XtaClientRuntimeException create() {
+		return new XtaClientRuntimeException(MESSAGE, createPermissionDeniedException());
 	}
 
 	private static PermissionDeniedException createPermissionDeniedException() {