diff --git a/api/src/main/java/dev/fitko/fitconnect/api/config/ApplicationConfig.java b/api/src/main/java/dev/fitko/fitconnect/api/config/ApplicationConfig.java
index 5c57e4aa7fa47ba9f2d40b0697ab5c34537e91d9..762597640529b490d53b1f1bb503e3247ab04dd0 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/config/ApplicationConfig.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/config/ApplicationConfig.java
@@ -42,6 +42,8 @@ public class ApplicationConfig {
 
     private EnvironmentName activeEnvironment;
 
+    private String submissionDataSchemaPath;
+
     private Environment getEnvironmentByName(final EnvironmentName environmentName) {
         if (environments.containsKey(environmentName)) {
             return environments.get(environmentName);
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/config/SchemaConfig.java b/api/src/main/java/dev/fitko/fitconnect/api/config/SchemaConfig.java
index 3250d70249af4e2b0308c01f664a8d33d09d1bb6..b1d3c0d49c2823d3b261acc212514b5b57922005 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/config/SchemaConfig.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/config/SchemaConfig.java
@@ -15,8 +15,7 @@ public enum SchemaConfig {
     SET_V_1_0_1(SCHEMA_BASE_URL.schemaUri.resolve("set-payload/1.0.1/set-payload.schema.json"), "set_schema_1.0.1.json"),
     SET_V_1_0_0(SCHEMA_BASE_URL.schemaUri.resolve("set-payload/1.0.0/set-payload.schema.json"), "set_schema_1.0.0.json"),
     METADATA_V_1_0_0(SCHEMA_BASE_URL.schemaUri.resolve("metadata/1.0.0/metadata.schema.json"), "metadata_schema_1.0.0.json"),
-    XZUFI_DESTINATION_SCHEMA(SCHEMA_BASE_URL.schemaUri.resolve("xzufi/destination.schema.json"), "destination_schema.json"),
-    SUBMISSION_DATA_SCHEMA(URI.create("https://schema.fitko.de/fim/s00000096_1.0.schema.json"), "s00000096_1.0.schema.json");
+    XZUFI_DESTINATION_SCHEMA(SCHEMA_BASE_URL.schemaUri.resolve("xzufi/destination.schema.json"), "destination_schema.json");
 
     private final URI schemaUri;
 
@@ -50,12 +49,6 @@ public enum SchemaConfig {
                 .collect(Collectors.toList());
     }
 
-    public static List<String> getSubmissionDataSchemaPaths(final String submissionDataSchemaBaseDir) {
-        return Stream.of(SUBMISSION_DATA_SCHEMA.fileName)
-                .map(fileName -> submissionDataSchemaBaseDir + "/" + fileName)
-                .collect(Collectors.toList());
-    }
-
     @Override
     public String toString() {
         return schemaUri.toString();
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/schema/SchemaResources.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/schema/SchemaResources.java
index f64692e175cced47719ca2fca139d4bd8edbc106..4c53496cf0675da5684749a2f018ac339e9d738e 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/schema/SchemaResources.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/domain/schema/SchemaResources.java
@@ -10,5 +10,5 @@ public class SchemaResources {
     List<String> setSchemaPaths;
     List<String> metadataSchemaPaths;
     List<String> destinationSchemaPaths;
-    List<String> submissionDataSchemaPaths;
+    String submissionDataSchemaPath;
 }
diff --git a/client/src/main/java/dev/fitko/fitconnect/client/factory/ClientFactory.java b/client/src/main/java/dev/fitko/fitconnect/client/factory/ClientFactory.java
index 24eff7a4a2621a0b10291a9b9793c445cbf52a34..975fb202ad1271d8bdbaa11df19720d4c00097c0 100644
--- a/client/src/main/java/dev/fitko/fitconnect/client/factory/ClientFactory.java
+++ b/client/src/main/java/dev/fitko/fitconnect/client/factory/ClientFactory.java
@@ -61,7 +61,6 @@ public final class ClientFactory {
     private static final String SET_SCHEMA_DIR = "/set-schema";
     private static final String DESTINATION_SCHEMA_DIR = "/destination-schema";
     private static final String METADATA_SCHEMA_DIR = "/metadata-schema";
-    private static final String SUBMISSION_DATA_SCHEMA_DIR = "/submission-data-schema";
 
     private ClientFactory() {
     }
@@ -129,7 +128,7 @@ public final class ClientFactory {
     public static RoutingClient routingClient(final ApplicationConfig config) {
         LOGGER.info("Initializing routing client ...");
         final RestTemplate restTemplate = getRestTemplate(config, ApplicationConfigLoader.loadBuildInfo());
-        final SchemaProvider schemaProvider = getSchemaProvider(restTemplate);
+        final SchemaProvider schemaProvider = getSchemaProvider(restTemplate, config.getSubmissionDataSchemaPath());
         final OAuthService authService = getSenderConfiguredAuthService(config, restTemplate);
 
         final MessageDigestService messageDigestService = getMessageDigestService();
@@ -145,7 +144,7 @@ public final class ClientFactory {
 
     private static Sender getSender(final ApplicationConfig config, final BuildInfo buildInfo) {
         final RestTemplate restTemplate = getRestTemplate(config, buildInfo);
-        final SchemaProvider schemaProvider = getSchemaProvider(restTemplate);
+        final SchemaProvider schemaProvider = getSchemaProvider(restTemplate, config.getSubmissionDataSchemaPath());
         final MessageDigestService messageDigestService = getMessageDigestService();
 
         final CryptoService cryptoService = getCryptoService(messageDigestService);
@@ -162,7 +161,7 @@ public final class ClientFactory {
 
     private static Subscriber getSubscriber(final ApplicationConfig config, final BuildInfo buildInfo) {
         final RestTemplate restTemplate = getRestTemplate(config, buildInfo);
-        final SchemaProvider schemaProvider = getSchemaProvider(restTemplate);
+        final SchemaProvider schemaProvider = getSchemaProvider(restTemplate, config.getSubmissionDataSchemaPath());
         final MessageDigestService messageDigestService = getMessageDigestService();
 
         final CryptoService cryptoService = getCryptoService(messageDigestService);
@@ -231,12 +230,11 @@ public final class ClientFactory {
         return new EventLogVerifier(keyService, validationService);
     }
 
-    private static SchemaProvider getSchemaProvider(RestTemplate restTemplate) {
+    private static SchemaProvider getSchemaProvider(RestTemplate restTemplate, String submissionDataSchemaPath) {
         final List<String> setSchemaFiles = SchemaConfig.getSetSchemaFilePaths(SET_SCHEMA_DIR);
         final List<String> metadataSchemaFiles = SchemaConfig.getMetadataSchemaFileNames(METADATA_SCHEMA_DIR);
         final List<String> destinationSchemaFiles = SchemaConfig.getDestinationSchemaPaths(DESTINATION_SCHEMA_DIR);
-        final List<String> submissionDataSchemaFiles = SchemaConfig.getSubmissionDataSchemaPaths(SUBMISSION_DATA_SCHEMA_DIR);
-        final SchemaResources schemaResources = new SchemaResources(setSchemaFiles, metadataSchemaFiles, destinationSchemaFiles, submissionDataSchemaFiles);
+        final SchemaResources schemaResources = new SchemaResources(setSchemaFiles, metadataSchemaFiles, destinationSchemaFiles, submissionDataSchemaPath);
         return new SchemaResourceProvider(restTemplate, schemaResources);
     }
 
diff --git a/core/src/main/java/dev/fitko/fitconnect/core/schema/SchemaResourceProvider.java b/core/src/main/java/dev/fitko/fitconnect/core/schema/SchemaResourceProvider.java
index cb81e6849f036aaf147d460cac118a155c35b394..d753850ab0851810afb81e26e1b21d3eeffdd87c 100644
--- a/core/src/main/java/dev/fitko/fitconnect/core/schema/SchemaResourceProvider.java
+++ b/core/src/main/java/dev/fitko/fitconnect/core/schema/SchemaResourceProvider.java
@@ -12,12 +12,11 @@ import org.slf4j.LoggerFactory;
 import org.springframework.web.client.RestTemplate;
 
 import java.io.BufferedReader;
+import java.io.File;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.net.URI;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.regex.Pattern;
 import java.util.stream.Collectors;
 
@@ -48,7 +47,7 @@ public class SchemaResourceProvider implements SchemaProvider {
         populateSetSchemas(schemaResources.getSetSchemaPaths());
         populateMetadataSchemas(schemaResources.getMetadataSchemaPaths());
         populateDestinationSchemas(schemaResources.getDestinationSchemaPaths());
-        populateSubmissionDataSchemas(schemaResources.getSubmissionDataSchemaPaths());
+        populateSubmissionDataSchemas(schemaResources.getSubmissionDataSchemaPath());
     }
 
     private void populateMetadataSchemas(final List<String> metadataSchemaPaths) {
@@ -66,9 +65,11 @@ public class SchemaResourceProvider implements SchemaProvider {
         getResourceFiles(destinationSchemaPaths).forEach(this::addDestinationSchema);
     }
 
-    private void populateSubmissionDataSchemas(final List<String> submissionDataSchemaPaths) {
+    private void populateSubmissionDataSchemas(final String submissionDataSchemaPath) {
         LOGGER.info("Initializing submission data schemas");
-        getResourceFiles(submissionDataSchemaPaths).forEach(this::addSubmissionDataSchema);
+        if (submissionDataSchemaPath != null && !submissionDataSchemaPath.isEmpty()) {
+            getResourceFiles(submissionDataSchemaPath).forEach(this::addSubmissionDataSchema);
+        }
     }
 
     @Override
@@ -156,6 +157,15 @@ public class SchemaResourceProvider implements SchemaProvider {
         return schemaFiles.stream().map(SchemaResourceProvider::readResourceToString).collect(Collectors.toList());
     }
 
+    private List<String> getResourceFiles(final String schemaPath) {
+
+        File schemaFolder = new File(Objects.requireNonNull(SchemaResourceProvider.class.getClassLoader().getResource(schemaPath)).getFile());
+
+        return Arrays.stream(Objects.requireNonNull(schemaFolder.listFiles()))
+                .map(file -> "/" + schemaPath + "/" + file.getName())
+                .map(SchemaResourceProvider::readResourceToString).collect(Collectors.toList());
+    }
+
     private static String readResourceToString(final String schemaFile) {
         try (final InputStream is = SchemaResourceProvider.class.getResourceAsStream(schemaFile);
              final BufferedReader reader = new BufferedReader(new InputStreamReader(is))) {
diff --git a/core/src/test/java/dev/fitko/fitconnect/core/events/SecurityEventTokenServiceTest.java b/core/src/test/java/dev/fitko/fitconnect/core/events/SecurityEventTokenServiceTest.java
index c894ac53ad9d76576289815db42492223f081f7b..dc93dc13aec5b170a2aca5bff8a24c0f1225a915 100644
--- a/core/src/test/java/dev/fitko/fitconnect/core/events/SecurityEventTokenServiceTest.java
+++ b/core/src/test/java/dev/fitko/fitconnect/core/events/SecurityEventTokenServiceTest.java
@@ -11,8 +11,8 @@ import dev.fitko.fitconnect.api.config.ApplicationConfig;
 import dev.fitko.fitconnect.api.config.Environment;
 import dev.fitko.fitconnect.api.config.EnvironmentName;
 import dev.fitko.fitconnect.api.config.SchemaConfig;
-import dev.fitko.fitconnect.api.domain.model.event.EventPayload;
 import dev.fitko.fitconnect.api.domain.model.event.Event;
+import dev.fitko.fitconnect.api.domain.model.event.EventPayload;
 import dev.fitko.fitconnect.api.domain.model.event.problems.submission.AttachmentsMismatch;
 import dev.fitko.fitconnect.api.domain.model.submission.Submission;
 import dev.fitko.fitconnect.api.domain.schema.SchemaResources;
@@ -63,8 +63,8 @@ class SecurityEventTokenServiceTest {
         final List<String> setSchemas = SchemaConfig.getSetSchemaFilePaths("/set-schema");
         final List<String> metadataSchemas = SchemaConfig.getMetadataSchemaFileNames("/metadata-schema");
         final List<String> destinationSchemas = SchemaConfig.getDestinationSchemaPaths("/destination-schema");
-        final List<String> submissionDataSchemas = SchemaConfig.getSubmissionDataSchemaPaths("/submission-data-schema");
-        final SchemaResources schemaResources = new SchemaResources(setSchemas, metadataSchemas, destinationSchemas, submissionDataSchemas);
+        final String submissionDataSchemaPath = "submission-data-test-schema";
+        final SchemaResources schemaResources = new SchemaResources(setSchemas, metadataSchemas, destinationSchemas, submissionDataSchemaPath);
         final SchemaProvider schemaProvider = new SchemaResourceProvider(mock(RestTemplate.class), schemaResources);
 
         validationService = new DefaultValidationService(config, new HashService(), schemaProvider);
diff --git a/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java b/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java
index 10b954b6ae4fe5fe9f1f426a302ad857c44032c6..2a58d12bd3cf838b51f365295787f90b39e826f4 100644
--- a/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java
+++ b/core/src/test/java/dev/fitko/fitconnect/core/schema/SchemaResourceProviderTest.java
@@ -32,8 +32,8 @@ class SchemaResourceProviderTest {
         final List<String> setSchemas = SchemaConfig.getSetSchemaFilePaths("/set-schema");
         final List<String> metadataSchemas = SchemaConfig.getMetadataSchemaFileNames("/metadata-schema");
         final List<String> destinationSchemas = SchemaConfig.getDestinationSchemaPaths("/destination-schema");
-        final List<String> submissionDataSchemas = SchemaConfig.getSubmissionDataSchemaPaths("/submission-data-schema");
-        final SchemaResources schemaResources = new SchemaResources(setSchemas, metadataSchemas, destinationSchemas, submissionDataSchemas);
+        final String submissionDataPath = "submission-data-test-schema";
+        final SchemaResources schemaResources = new SchemaResources(setSchemas, metadataSchemas, destinationSchemas, submissionDataPath);
         underTest = new SchemaResourceProvider(mock(RestTemplate.class), schemaResources);
     }
 
@@ -108,7 +108,7 @@ class SchemaResourceProviderTest {
         when(restTemplate.getForEntity(eq(URI.create("https://test.json")), any())).thenReturn(ResponseEntity.ok("schema"));
 
         SchemaResourceProvider schemaResourceProvider = new SchemaResourceProvider(restTemplate,
-                new SchemaResources(List.of(), List.of(), List.of(), List.of()));
+                new SchemaResources(List.of(), List.of(), List.of(), null));
 
         String schema = schemaResourceProvider.loadSubmissionDataSchema(URI.create("https://test.json"));
 
@@ -122,7 +122,7 @@ class SchemaResourceProviderTest {
         when(restTemplate.getForEntity(eq(URI.create("https://test.json")), any())).thenThrow(new RuntimeException("Something went wrong!"));
 
         SchemaResourceProvider schemaResourceProvider = new SchemaResourceProvider(restTemplate,
-                new SchemaResources(List.of(), List.of(), List.of(), List.of()));
+                new SchemaResources(List.of(), List.of(), List.of(), null));
 
         Exception exception = assertThrows(SchemaNotFoundException.class,
                 () -> schemaResourceProvider.loadSubmissionDataSchema(URI.create("https://test.json")));
@@ -133,8 +133,7 @@ class SchemaResourceProviderTest {
     @Test
     void loadSubmissionDataSchemaFromMemory() {
 
-        SchemaResources schemaResources = new SchemaResources(List.of(), List.of(), List.of(),
-                List.of("/submission_data_schema_local.json"));
+        SchemaResources schemaResources = new SchemaResources(List.of(), List.of(), List.of(), "submission-data-test-schema");
 
         SchemaResourceProvider schemaResourceProvider = new SchemaResourceProvider(mock(RestTemplate.class), schemaResources);
 
@@ -146,7 +145,7 @@ class SchemaResourceProviderTest {
     @Test
     void loadSubmissionDataSchemaFromMemoryFailed() {
 
-        SchemaResources schemaResources = new SchemaResources(List.of(), List.of(), List.of(), List.of());
+        SchemaResources schemaResources = new SchemaResources(List.of(), List.of(), List.of(), null);
 
         SchemaResourceProvider schemaResourceProvider = new SchemaResourceProvider(mock(RestTemplate.class), schemaResources);
 
diff --git a/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java b/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java
index 0eb691a6532e697499528397e53c6dcc15bb1da9..651a433cc023608102aac70a486d80e0d4f99984 100644
--- a/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java
+++ b/core/src/test/java/dev/fitko/fitconnect/core/validation/DefaultValidationServiceTest.java
@@ -61,8 +61,8 @@ class DefaultValidationServiceTest {
         final List<String> setSchemas = SchemaConfig.getSetSchemaFilePaths("/set-schema");
         final List<String> metadataSchemas = SchemaConfig.getMetadataSchemaFileNames("/metadata-schema");
         final List<String> destinationSchemas = SchemaConfig.getDestinationSchemaPaths("/destination-schema");
-        final List<String> submissionDataSchemas = SchemaConfig.getSubmissionDataSchemaPaths("/submission-data-schema");
-        final SchemaResources schemaResources = new SchemaResources(setSchemas, metadataSchemas, destinationSchemas, submissionDataSchemas);
+        final String submissionDataSchemaPath = "submission-data-test-schema";
+        final SchemaResources schemaResources = new SchemaResources(setSchemas, metadataSchemas, destinationSchemas, submissionDataSchemaPath);
         schemaProvider = new SchemaResourceProvider(restTemplate, schemaResources);
         underTest = new DefaultValidationService(config, hashService, schemaProvider);
     }
@@ -449,7 +449,7 @@ class DefaultValidationServiceTest {
 
         // Given
         SchemaProvider schemaProvider = mock(SchemaProvider.class);
-        when(schemaProvider.loadSubmissionDataSchema(any())).thenReturn(getResource("/submission_data_schema_remote.json"));
+        when(schemaProvider.loadSubmissionDataSchema(any())).thenReturn(getResource("/submission-data-test-schema/submission_data_schema_remote.json"));
         DefaultValidationService defaultValidationService = new DefaultValidationService(getApplicationConfig(true, false), new HashService(), schemaProvider);
 
         final var invalidJson = "{ \"someString\": \"someStringValue\", \"someArray\": [\"someArrayValue\"] }";
@@ -467,7 +467,7 @@ class DefaultValidationServiceTest {
 
         // Given
         SchemaProvider schemaProvider = mock(SchemaProvider.class);
-        when(schemaProvider.loadSubmissionDataSchema(any())).thenReturn(getResource("/submission_data_schema_remote.json"));
+        when(schemaProvider.loadSubmissionDataSchema(any())).thenReturn(getResource("/submission-data-test-schema/submission_data_schema_remote.json"));
         DefaultValidationService defaultValidationService = new DefaultValidationService(getApplicationConfig(true, false), new HashService(), schemaProvider);
 
         final var invalidJson = "{ \"wrongString\": \"someStringValue\", \"someArray\": [\"someArrayValue\"] }";
@@ -486,7 +486,7 @@ class DefaultValidationServiceTest {
 
         // Given
         SchemaProvider schemaProvider = mock(SchemaProvider.class);
-        when(schemaProvider.loadSubmissionDataSchema(any())).thenReturn(getResource("/submission_data_schema_remote.json"));
+        when(schemaProvider.loadSubmissionDataSchema(any())).thenReturn(getResource("/submission-data-test-schema/submission_data_schema_remote.json"));
         DefaultValidationService defaultValidationService = new DefaultValidationService(getApplicationConfig(true, true), new HashService(), schemaProvider);
 
         final var invalidJson = "{ \"wrongString\": \"someStringValue\", \"someArray\": [\"someArrayValue\"] }";
diff --git a/core/src/main/resources/submission-data-schema/s00000096_1.0.schema.json b/core/src/test/resources/submission-data-test-schema/s00000096_1.0.schema.json
similarity index 100%
rename from core/src/main/resources/submission-data-schema/s00000096_1.0.schema.json
rename to core/src/test/resources/submission-data-test-schema/s00000096_1.0.schema.json
diff --git a/core/src/test/resources/submission_data_schema_local.json b/core/src/test/resources/submission-data-test-schema/submission_data_schema_local.json
similarity index 100%
rename from core/src/test/resources/submission_data_schema_local.json
rename to core/src/test/resources/submission-data-test-schema/submission_data_schema_local.json
diff --git a/core/src/test/resources/submission_data_schema_remote.json b/core/src/test/resources/submission-data-test-schema/submission_data_schema_remote.json
similarity index 100%
rename from core/src/test/resources/submission_data_schema_remote.json
rename to core/src/test/resources/submission-data-test-schema/submission_data_schema_remote.json