diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java
index ab770675cfed66bb4611346ebdf300aab838cb0c..82dcc6d3e12f93a0f9b6e74c1a355e295215b058 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumGrpcService.java
@@ -34,6 +34,7 @@ import org.springframework.core.task.TaskExecutor;
 
 import com.google.protobuf.ByteString;
 
+import de.ozgcloud.apilib.file.OzgCloudFile;
 import de.ozgcloud.common.errorhandling.TechnicalException;
 import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
 import de.ozgcloud.nachrichten.common.grpc.GrpcDownloader;
@@ -151,9 +152,14 @@ class AntragraumGrpcService extends AntragraumServiceGrpc.AntragraumServiceImplB
 	public void getAttachmentMetadata(GrpcGetAttachmentMetadataRequest request, StreamObserver<GrpcGetAttachmentMetadataResponse> responseObserver) {
 		var attachment = service.getAttachmentMetadata(attachmentFileRequestMapper.fromMetadataRequest(request));
 
-		responseObserver.onNext(GrpcGetAttachmentMetadataResponse.newBuilder()
-				.setFileMetadata(ozgCloudFileMapper.toMetadata(attachment)).build());
+		responseObserver.onNext(buildAttachmentMetadataResponse(attachment));
 
 		responseObserver.onCompleted();
 	}
+
+	private GrpcGetAttachmentMetadataResponse buildAttachmentMetadataResponse(OzgCloudFile attachment) {
+		return GrpcGetAttachmentMetadataResponse.newBuilder()
+				.setFileMetadata(ozgCloudFileMapper.toMetadata(attachment))
+				.build();
+	}
 }
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
index 75c004d0813a2c2502c79c4e5c1ca94385b6e01c..40aad53c4011c6cd6fac3c2e4f8117d07baff41a 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/antragraum/AntragraumService.java
@@ -25,8 +25,6 @@ package de.ozgcloud.nachrichten.antragraum;
 
 import static java.util.Objects.*;
 
-import java.io.DataOutputStream;
-import java.io.IOException;
 import java.io.OutputStream;
 import java.time.ZonedDateTime;
 import java.util.Comparator;
@@ -48,7 +46,6 @@ import de.ozgcloud.apilib.common.errorhandling.NotFoundException;
 import de.ozgcloud.apilib.file.OzgCloudFile;
 import de.ozgcloud.apilib.file.OzgCloudFileId;
 import de.ozgcloud.apilib.file.OzgCloudFileService;
-import de.ozgcloud.common.errorhandling.TechnicalException;
 import de.ozgcloud.nachrichten.NachrichtenManagerConfiguration;
 import de.ozgcloud.nachrichten.NachrichtenManagerProperties;
 import de.ozgcloud.nachrichten.common.vorgang.Vorgang;
@@ -111,14 +108,14 @@ public class AntragraumService {
 		LOG.info("Starting Antragraum Service");
 	}
 
-	public String getAntragsraumUrl() {
-		return properties.getUrl();
-	}
-
 	public String getUserNotificationText() {
 		return USER_NOTIFICATION_TEMPLATE.formatted(getAntragsraumUrl());
 	}
 
+	public String getAntragsraumUrl() {
+		return properties.getUrl();
+	}
+
 	public Stream<RueckfrageHead> findRueckfragen(String samlToken) {
 		verifyToken(samlToken);
 
@@ -156,7 +153,7 @@ public class AntragraumService {
 
 	public String sendRueckfrageAnswer(String samlToken, String rueckfrageId, PostfachNachricht nachricht) {
 		verifyToken(samlToken);
-		verifyPostfachIdFromNachricht(samlToken, nachricht);
+		verifyPostfachIdFromPostfachNachricht(samlToken, nachricht);
 
 		return postfachNachrichtService.persistAnswer(rueckfrageId, nachricht);
 	}
@@ -172,33 +169,17 @@ public class AntragraumService {
 
 		var nachricht = nachrichtMapper.fromMapToPostfachMail(postfachNachrichtService.getById(id));
 
-		verifyPostfachIdFromNachricht(samlToken, nachricht);
+		verifyPostfachIdFromPostfachNachricht(samlToken, nachricht);
 
 		return nachricht;
 	}
 
-	void verifyPostfachIdFromNachricht(String samlToken, PostfachNachricht nachricht) {
+	void verifyPostfachIdFromPostfachNachricht(String samlToken, PostfachNachricht nachricht) {
 		var vorgang = vorgangService.getVorgang(nachricht.getVorgangId());
 
 		verifyPostfachId(samlToken, nachricht, vorgang);
 	}
 
-	String getPostfachId(String samlToken) {
-		return decrypter.decryptPostfachId(parser.parse(samlToken));
-	}
-
-	public boolean isAccessible(String samlToken, String trustLevel) {
-		return getTrustLevel(samlToken).getIntValue() >= TrustLevel.fromString(trustLevel).getIntValue();
-	}
-
-	TrustLevel getTrustLevel(String samlToken) {
-		return TrustLevel.fromString(decrypter.decryptTrustLevel(parseSamlToken(samlToken)));
-	}
-
-	Response parseSamlToken(String samlToken) {
-		return parser.parse(samlToken);
-	}
-
 	public void getAttachmentContent(AttachmentFileRequest request, OutputStream outputStream) {
 		try {
 			verifyAccessToFile(request);
@@ -206,12 +187,7 @@ public class AntragraumService {
 			IOUtils.closeQuietly(outputStream);
 			throw e;
 		}
-
-		try (var dataOutput = new DataOutputStream(outputStream)) {
-			ozgCloudFileService.writeFileDataToStream(OzgCloudFileId.from(request.getFileId()), dataOutput);
-		} catch (IOException e) {
-			throw new TechnicalException("Error on getting attachment file content.", e);
-		}
+		ozgCloudFileService.writeFileDataToStream(OzgCloudFileId.from(request.getFileId()), outputStream);
 	}
 
 	public OzgCloudFile getAttachmentMetadata(AttachmentFileRequest request) {
@@ -222,7 +198,7 @@ public class AntragraumService {
 	void verifyAccessToFile(AttachmentFileRequest request) {
 		verifyToken(request.getSamlToken());
 		var nachricht = attachedItemService.getPostfachNachricht(request.getNachrichtId());
-		verifyAccessToVorgang(request.getSamlToken(), nachricht);
+		verifyAccessToPostfachNachricht(request.getSamlToken(), nachricht);
 		verifyFileId(request.getFileId(), nachricht);
 	}
 
@@ -233,7 +209,7 @@ public class AntragraumService {
 		}
 	}
 
-	void verifyAccessToVorgang(String token, PostfachNachricht nachricht) {
+	void verifyAccessToPostfachNachricht(String token, PostfachNachricht nachricht) {
 		var vorgang = vorgangService.getVorgang(nachricht.getVorgangId());
 		verifyPostfachId(token, nachricht, vorgang);
 		verifyTrustLevel(token, nachricht, vorgang);
@@ -245,12 +221,28 @@ public class AntragraumService {
 		}
 	}
 
+	String getPostfachId(String samlToken) {
+		return decrypter.decryptPostfachId(parser.parse(samlToken));
+	}
+
 	void verifyTrustLevel(String token, PostfachNachricht nachricht, Vorgang vorgang) {
 		if (!isAccessible(token, vorgang.getTrustLevel())) {
 			throw new NotFoundException(GenericId.from(nachricht.getId()), POSTFACH_NACHRICHT);
 		}
 	}
 
+	public boolean isAccessible(String samlToken, String trustLevel) {
+		return getTrustLevel(samlToken).getIntValue() >= TrustLevel.fromString(trustLevel).getIntValue();
+	}
+
+	TrustLevel getTrustLevel(String samlToken) {
+		return TrustLevel.fromString(decrypter.decryptTrustLevel(parseSamlToken(samlToken)));
+	}
+
+	Response parseSamlToken(String samlToken) {
+		return parser.parse(samlToken);
+	}
+
 	void verifyFileId(String fileId, PostfachNachricht nachricht) {
 		if (!nachricht.getAttachments().contains(fileId)) {
 			throw new NotFoundException(GenericId.from(nachricht.getId()), POSTFACH_NACHRICHT);
diff --git a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteService.java b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteService.java
index b04d4daeafce7b3b4b1d5c725e043c66d4dd686e..d7607de3d693db332191ce174d6553d30a9fba32 100644
--- a/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteService.java
+++ b/nachrichten-manager-server/src/main/java/de/ozgcloud/nachrichten/postfach/AttachedItemRemoteService.java
@@ -79,8 +79,8 @@ class AttachedItemRemoteService {
 				.build();
 	}
 
-	public PostfachNachricht getPostfachNachrichtById(String nachrichtId) {
-		var response = getVorgangAttachedItemServiceStub().getById(buildGetByIdRequest(nachrichtId));
+	public PostfachNachricht getPostfachNachrichtById(String postfachNachrichtId) {
+		var response = getVorgangAttachedItemServiceStub().getById(buildGetByIdRequest(postfachNachrichtId));
 		return postfachNachrichtMapper.fromAttachedItem(response.getVorgangAttachedItem());
 	}
 
@@ -88,9 +88,9 @@ class AttachedItemRemoteService {
 		return vorgangAttachedItemServiceStub.withInterceptors(new NachrichtenCallContextAttachingInterceptor());
 	}
 
-	GrpcVorgangAttachedItemRequest buildGetByIdRequest(String id) {
+	GrpcVorgangAttachedItemRequest buildGetByIdRequest(String postfachNachrichtId) {
 		return GrpcVorgangAttachedItemRequest.newBuilder()
-				.setId(id)
+				.setId(postfachNachrichtId)
 				.build();
 	}
 }
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
index d0fe6486cee6c5e1ef54c0373e004df6f4ab47a1..8b6fb121f9dcfcb9dc8e206ae447d23b5c019e9c 100644
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
+++ b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/AntragraumServiceTest.java
@@ -5,9 +5,7 @@ import static org.junit.jupiter.api.Assertions.*;
 import static org.mockito.ArgumentMatchers.*;
 import static org.mockito.Mockito.*;
 
-import java.io.DataOutputStream;
-import java.io.IOException;
-import java.io.PipedOutputStream;
+import java.io.OutputStream;
 import java.time.ZonedDateTime;
 import java.util.List;
 import java.util.Map;
@@ -23,7 +21,6 @@ import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 import org.mockito.InjectMocks;
 import org.mockito.Mock;
-import org.mockito.MockedConstruction;
 import org.mockito.MockedStatic;
 import org.mockito.Spy;
 import org.opensaml.saml.saml2.core.Response;
@@ -33,7 +30,6 @@ import de.ozgcloud.apilib.file.OzgCloudFile;
 import de.ozgcloud.apilib.file.OzgCloudFileId;
 import de.ozgcloud.apilib.file.OzgCloudFileService;
 import de.ozgcloud.apilib.file.OzgCloudFileTestFactory;
-import de.ozgcloud.common.errorhandling.TechnicalException;
 import de.ozgcloud.nachrichten.NachrichtenManagerProperties;
 import de.ozgcloud.nachrichten.common.vorgang.GrpcPostfachAddressTestFactory;
 import de.ozgcloud.nachrichten.common.vorgang.GrpcServiceKontoTestFactory;
@@ -323,7 +319,7 @@ class AntragraumServiceTest {
 		@BeforeEach
 		void mock() {
 			doNothing().when(service).verifyToken(any());
-			doNothing().when(service).verifyPostfachIdFromNachricht(any(), any());
+			doNothing().when(service).verifyPostfachIdFromPostfachNachricht(any(), any());
 		}
 
 		@Test
@@ -341,10 +337,10 @@ class AntragraumServiceTest {
 		}
 
 		@Test
-		void shouldVerifyPostfachIdFromNachricht() {
+		void shouldVerifyPostfachIdFromPostfachNachricht() {
 			service.sendRueckfrageAnswer(SAML_TOKEN, RUECKFRAGE_ID, NACHRICHT);
 
-			verify(service).verifyPostfachIdFromNachricht(SAML_TOKEN, NACHRICHT);
+			verify(service).verifyPostfachIdFromPostfachNachricht(SAML_TOKEN, NACHRICHT);
 		}
 	}
 
@@ -420,7 +416,7 @@ class AntragraumServiceTest {
 			when(nachrichtMapper.fromMapToPostfachMail(any())).thenReturn(nachricht);
 
 			doNothing().when(service).verifyToken(any());
-			doNothing().when(service).verifyPostfachIdFromNachricht(any(), any());
+			doNothing().when(service).verifyPostfachIdFromPostfachNachricht(any(), any());
 		}
 
 		@Test
@@ -452,10 +448,10 @@ class AntragraumServiceTest {
 		}
 
 		@Test
-		void shouldCallVerifyPostfachIdFromNachricht() {
+		void shouldCallVerifyPostfachIdFromPostfachNachricht() {
 			getRueckfrage();
 
-			verify(service).verifyPostfachIdFromNachricht(samlToken, nachricht);
+			verify(service).verifyPostfachIdFromPostfachNachricht(samlToken, nachricht);
 		}
 
 		private PostfachNachricht getRueckfrage() {
@@ -463,9 +459,9 @@ class AntragraumServiceTest {
 		}
 	}
 
-	@DisplayName("Verify postfachId from Nachricht")
+	@DisplayName("Verify postfachId from PostfachNachricht")
 	@Nested
-	class TestVerifyPostfachIdFromNachricht {
+	class TestVerifyPostfachIdFromPostfachNachricht {
 
 		private static final String SAML_TOKEN = "TOKEN";
 		private static final PostfachNachricht POSTFACH_NACHRICHT = PostfachNachrichtTestFactory.create();
@@ -479,14 +475,14 @@ class AntragraumServiceTest {
 
 		@Test
 		void shouldCallVorgangService() {
-			service.verifyPostfachIdFromNachricht(SAML_TOKEN, POSTFACH_NACHRICHT);
+			service.verifyPostfachIdFromPostfachNachricht(SAML_TOKEN, POSTFACH_NACHRICHT);
 
 			verify(vorgangService).getVorgang(MessageTestFactory.VORGANG_ID);
 		}
 
 		@Test
 		void shouldCallVerifyPostfachId() {
-			service.verifyPostfachIdFromNachricht(SAML_TOKEN, POSTFACH_NACHRICHT);
+			service.verifyPostfachIdFromPostfachNachricht(SAML_TOKEN, POSTFACH_NACHRICHT);
 
 			verify(service).verifyPostfachId(SAML_TOKEN, POSTFACH_NACHRICHT, vorgang);
 		}
@@ -625,29 +621,16 @@ class AntragraumServiceTest {
 	class TestGetAttachmentContent {
 
 		@Mock
-		private PipedOutputStream pipedOutputStream;
+		private OutputStream outputStream;
 
 		private final AttachmentFileRequest request = AttachmentFileRequestTestFactory.create();
 
 		@Nested
-		class OnNoException {
-
-			private MockedConstruction<DataOutputStream> dataOutputStreamMockedConstruction;
-			private DataOutputStream dataOutputStream;
-			private PipedOutputStream underlyingStream;
+		class OnSuccessfullVerification {
 
 			@BeforeEach
 			void mock() {
 				doNothing().when(service).verifyAccessToFile(request);
-				dataOutputStreamMockedConstruction = mockConstruction(DataOutputStream.class, (dataOutputStream, context) -> {
-					underlyingStream = (PipedOutputStream) context.arguments().get(0);
-					this.dataOutputStream = dataOutputStream;
-				});
-			}
-
-			@AfterEach
-			void cleanUp() {
-				dataOutputStreamMockedConstruction.close();
 			}
 
 			@Test
@@ -657,54 +640,17 @@ class AntragraumServiceTest {
 				verify(service).verifyAccessToFile(request);
 			}
 
-			@Test
-			void shouldCreateDataOutputStream() {
-				callGetAttachmentContent();
-
-				assertThat(dataOutputStreamMockedConstruction.constructed()).hasSize(1);
-			}
-
-			@Test
-			void shouldCreateDataOutputStreamWithPipedOutputStream() {
-				callGetAttachmentContent();
-
-				assertThat(underlyingStream).isEqualTo(pipedOutputStream);
-			}
-
 			@Test
 			void shouldCallOzgCloudFileServiceToWriteData() {
 				callGetAttachmentContent();
 
-				verify(ozgCloudFileService).writeFileDataToStream(OzgCloudFileId.from(AttachmentFileRequestTestFactory.FILE_ID), dataOutputStream);
+				verify(ozgCloudFileService).writeFileDataToStream(OzgCloudFileId.from(AttachmentFileRequestTestFactory.FILE_ID), outputStream);
 			}
 
-			@Test
-			@SneakyThrows
-			void shouldCloseDataOutputStream() {
-				callGetAttachmentContent();
-
-				verify(dataOutputStream).close();
-			}
-		}
-
-		@Nested
-		class OnIOException {
-
-			@Test
-			@SneakyThrows
-			void shouldThrowTechnicalException() {
-				doNothing().when(service).verifyAccessToFile(request);
-
-				try (var dataOutputStreamMockedConstruction = mockConstruction(DataOutputStream.class,
-						(outputStream, context) -> doThrow(IOException.class).when(outputStream).close())) {
-
-					assertThrows(TechnicalException.class, () -> callGetAttachmentContent());
-				}
-			}
 		}
 
 		@Nested
-		class OnRuntimeException {
+		class OnUnsuccessfullVerification {
 
 			private MockedStatic<IOUtils> mockedIOUtils;
 			private RuntimeException exception;
@@ -727,7 +673,7 @@ class AntragraumServiceTest {
 					callGetAttachmentContent();
 				} catch (RuntimeException e) {
 				}
-				mockedIOUtils.verify(() -> IOUtils.closeQuietly(pipedOutputStream));
+				mockedIOUtils.verify(() -> IOUtils.closeQuietly(outputStream));
 			}
 
 			@Test
@@ -738,7 +684,7 @@ class AntragraumServiceTest {
 
 		@SneakyThrows
 		private void callGetAttachmentContent() {
-			service.getAttachmentContent(request, pipedOutputStream);
+			service.getAttachmentContent(request, outputStream);
 		}
 	}
 
@@ -790,7 +736,7 @@ class AntragraumServiceTest {
 		@BeforeEach
 		void mock() {
 			when(attachedItemService.getPostfachNachricht(AttachmentFileRequestTestFactory.NACHRICHT_ID)).thenReturn(nachricht);
-			doNothing().when(service).verifyAccessToVorgang(AttachmentFileRequestTestFactory.TOKEN, nachricht);
+			doNothing().when(service).verifyAccessToPostfachNachricht(AttachmentFileRequestTestFactory.TOKEN, nachricht);
 			doNothing().when(service).verifyFileId(AttachmentFileRequestTestFactory.FILE_ID, nachricht);
 		}
 
@@ -809,10 +755,10 @@ class AntragraumServiceTest {
 		}
 
 		@Test
-		void shouldCallVerifyAccessToVorgang() {
+		void shouldCallVerifyAccessToPostfachNachricht() {
 			callVerifyAccessToFile();
 
-			verify(service).verifyAccessToVorgang(AttachmentFileRequestTestFactory.TOKEN, nachricht);
+			verify(service).verifyAccessToPostfachNachricht(AttachmentFileRequestTestFactory.TOKEN, nachricht);
 		}
 
 		@Test
@@ -829,7 +775,7 @@ class AntragraumServiceTest {
 	}
 
 	@Nested
-	class TestVerifyAccessToVorgang {
+	class TestVerifyAccessToPostfachNachricht {
 
 		private final PostfachNachricht nachricht = PostfachNachrichtTestFactory.create();
 		private final Vorgang vorgang = VorgangTestFactory.create();
@@ -843,27 +789,27 @@ class AntragraumServiceTest {
 
 		@Test
 		void shouldCallVorgangService() {
-			verifyAccessToVorgang();
+			verifyAccessToPostfachNachricht();
 
 			verify(vorgangService).getVorgang(MessageTestFactory.VORGANG_ID);
 		}
 
 		@Test
 		void shouldCallVerifyPostfachId() {
-			verifyAccessToVorgang();
+			verifyAccessToPostfachNachricht();
 
 			verify(service).verifyPostfachId(AttachmentFileRequestTestFactory.TOKEN, nachricht, vorgang);
 		}
 
 		@Test
 		void shouldVerifyTrustLevel() {
-			verifyAccessToVorgang();
+			verifyAccessToPostfachNachricht();
 
 			verify(service).verifyTrustLevel(AttachmentFileRequestTestFactory.TOKEN, nachricht, vorgang);
 		}
 
-		private void verifyAccessToVorgang() {
-			service.verifyAccessToVorgang(AttachmentFileRequestTestFactory.TOKEN, nachricht);
+		private void verifyAccessToPostfachNachricht() {
+			service.verifyAccessToPostfachNachricht(AttachmentFileRequestTestFactory.TOKEN, nachricht);
 		}
 	}
 
diff --git a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/FileContentTestFactory.java b/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/FileContentTestFactory.java
deleted file mode 100644
index e36617b77b7921b98aae465fdcde16710eb43084..0000000000000000000000000000000000000000
--- a/nachrichten-manager-server/src/test/java/de/ozgcloud/nachrichten/antragraum/FileContentTestFactory.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package de.ozgcloud.nachrichten.antragraum;
-
-import java.util.Random;
-
-public class FileContentTestFactory {
-
-	public static byte[] createContentInByte(int fileSize) {
-		Random r = new Random();
-		byte[] chunk = new byte[fileSize];
-		for (int i = 0; i < chunk.length; i++) {
-			chunk[i] = (byte) (r.nextInt('z' - 'a') + 'a');
-		}
-		return chunk;
-	}
-
-}