diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Hash.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/Hash.java
similarity index 81%
rename from api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Hash.java
rename to api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/Hash.java
index 5c65bf35b0dd9af1b737b69ae9b0d3e8ed0bcc05..f25bc95c4c07170c05d7b995496470cf5829c7e6 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Hash.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/Hash.java
@@ -1,4 +1,4 @@
-package dev.fitko.fitconnect.api.domain.model.metadata.data;
+package dev.fitko.fitconnect.api.domain.model.metadata;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
@@ -14,7 +14,7 @@ import java.util.Map;
 public class Hash {
 
     @JsonProperty("type")
-    private DataSignatureType dataSignatureType;
+    private SignatureType signatureType;
 
     @JsonProperty("content")
     private String content;
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Signature.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/Signature.java
similarity index 76%
rename from api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Signature.java
rename to api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/Signature.java
index ed51af1507934e97f025b38a162cf62ff2f5a83e..3acec627ea001bf4438d54136c2448d67da575a5 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Signature.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/Signature.java
@@ -1,15 +1,15 @@
-package dev.fitko.fitconnect.api.domain.model.metadata.data;
+package dev.fitko.fitconnect.api.domain.model.metadata;
 
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import dev.fitko.fitconnect.api.domain.model.metadata.EidasAdesProfile;
-import dev.fitko.fitconnect.api.domain.model.metadata.SignatureFormat;
 import lombok.Data;
+import lombok.NoArgsConstructor;
 
 import java.util.Map;
 
 @Data
+@NoArgsConstructor
 @JsonInclude(JsonInclude.Include.NON_NULL)
 public class Signature {
 
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/SignatureType.java
similarity index 61%
rename from api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java
rename to api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/SignatureType.java
index a41c74711971767517815666fd0550b9cec8a971..63397fa09e784c23984d70561f3fcd536ee84d75 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/DataSignatureType.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/SignatureType.java
@@ -1,4 +1,4 @@
-package dev.fitko.fitconnect.api.domain.model.metadata.data;
+package dev.fitko.fitconnect.api.domain.model.metadata;
 
 import com.fasterxml.jackson.annotation.JsonCreator;
 import com.fasterxml.jackson.annotation.JsonValue;
@@ -6,21 +6,21 @@ import com.fasterxml.jackson.annotation.JsonValue;
 import java.util.HashMap;
 import java.util.Map;
 
-public enum DataSignatureType {
+public enum SignatureType {
 
     SHA_512("sha512");
 
-    private static final Map<String, DataSignatureType> CONSTANTS = new HashMap<>();
+    private static final Map<String, SignatureType> CONSTANTS = new HashMap<>();
 
     static {
-        for (final DataSignatureType c : values()) {
+        for (final SignatureType c : values()) {
             CONSTANTS.put(c.value, c);
         }
     }
 
     private final String value;
 
-    DataSignatureType(final String value) {
+    SignatureType(final String value) {
         this.value = value;
     }
 
@@ -35,8 +35,8 @@ public enum DataSignatureType {
     }
 
     @JsonCreator
-    public static DataSignatureType fromValue(final String value) {
-        final DataSignatureType constant = CONSTANTS.get(value);
+    public static SignatureType fromValue(final String value) {
+        final SignatureType constant = CONSTANTS.get(value);
         if (constant == null) {
             throw new IllegalArgumentException("Unexpected value '" + value + "'");
         }
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/Attachment.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/Attachment.java
index a61c03e9fd768826a49f3a76ee67970154407802..6cd44428519696d680c2d494e99da6037e923824 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/Attachment.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/Attachment.java
@@ -3,8 +3,8 @@ package dev.fitko.fitconnect.api.domain.model.metadata.attachment;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
-import dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature.Hash__1;
-import dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature.Signature__1;
+import dev.fitko.fitconnect.api.domain.model.metadata.Hash;
+import dev.fitko.fitconnect.api.domain.model.metadata.Signature;
 import lombok.Data;
 import lombok.NoArgsConstructor;
 
@@ -17,10 +17,10 @@ import java.util.UUID;
 public class Attachment {
 
     @JsonProperty("hash")
-    private Hash__1 hash;
+    private Hash hash;
 
     @JsonProperty("signature")
-    private Signature__1 signature;
+    private Signature signature;
 
     @JsonProperty("purpose")
     private Purpose purpose;
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java
deleted file mode 100644
index 003d0356d56354e5812ac434606c8323a4b5334b..0000000000000000000000000000000000000000
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/AttachmentSignatureType.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature;
-
-import com.fasterxml.jackson.annotation.JsonCreator;
-import com.fasterxml.jackson.annotation.JsonValue;
-
-import java.util.Arrays;
-
-public enum AttachmentSignatureType {
-
-    SHA_512("sha512");
-    private final String value;
-
-    AttachmentSignatureType(final String value) {
-        this.value = value;
-    }
-
-    @Override
-    public String toString() {
-        return this.value;
-    }
-
-    @JsonValue
-    public String value() {
-        return this.value;
-    }
-
-    @JsonCreator
-    public static AttachmentSignatureType fromValue(final String value) {
-        return Arrays.stream(AttachmentSignatureType.values())
-                .filter(enumValue -> enumValue.value.equals(value))
-                .findFirst()
-                .orElseThrow(() -> new IllegalArgumentException("Unexpected value '" + value + "'"));
-    }
-
-}
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/Hash__1.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/Hash__1.java
deleted file mode 100644
index c707767c161315f534117ec7b1adc0625ba7c66c..0000000000000000000000000000000000000000
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/Hash__1.java
+++ /dev/null
@@ -1,25 +0,0 @@
-package dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.Map;
-
-@Data
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class Hash__1 {
-
-    @JsonProperty("type")
-    private AttachmentSignatureType attachmentSignatureType;
-
-    @JsonProperty("content")
-    private String content;
-
-    @JsonIgnore
-    private Map<String, Object> additionalProperties;
-}
-
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/Signature__1.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/Signature__1.java
deleted file mode 100644
index 5d7068edb90db185148346d887bb36a640b37760..0000000000000000000000000000000000000000
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/attachment/signature/Signature__1.java
+++ /dev/null
@@ -1,33 +0,0 @@
-package dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature;
-
-import com.fasterxml.jackson.annotation.JsonIgnore;
-import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
-import dev.fitko.fitconnect.api.domain.model.metadata.EidasAdesProfile;
-import dev.fitko.fitconnect.api.domain.model.metadata.SignatureFormat;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-import java.util.Map;
-
-@Data
-@NoArgsConstructor
-@JsonInclude(JsonInclude.Include.NON_NULL)
-public class Signature__1 {
-
-    @JsonProperty("signatureFormat")
-    private SignatureFormat signatureFormat;
-
-    @JsonProperty("eidasAdesProfile")
-    private EidasAdesProfile eidasAdesProfile;
-
-    @JsonProperty("detachedSignature")
-    private Boolean detachedSignature;
-
-    @JsonProperty("content")
-    private String content;
-
-    @JsonIgnore
-    private Map<String, Object> additionalProperties;
-}
-
diff --git a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Data.java b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Data.java
index e685033a49ecd034d25bcda18a70c6f0315c1973..46013d5d268e60098d9bce9227651e5c022cdb03 100644
--- a/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Data.java
+++ b/api/src/main/java/dev/fitko/fitconnect/api/domain/model/metadata/data/Data.java
@@ -3,6 +3,8 @@ package dev.fitko.fitconnect.api.domain.model.metadata.data;
 import com.fasterxml.jackson.annotation.JsonIgnore;
 import com.fasterxml.jackson.annotation.JsonInclude;
 import com.fasterxml.jackson.annotation.JsonProperty;
+import dev.fitko.fitconnect.api.domain.model.metadata.Hash;
+import dev.fitko.fitconnect.api.domain.model.metadata.Signature;
 import lombok.NoArgsConstructor;
 
 import java.util.Map;
diff --git a/client/src/main/java/dev/fitko/fitconnect/client/SubscriberClient.java b/client/src/main/java/dev/fitko/fitconnect/client/SubscriberClient.java
index 5f24fd917ec3b7e5f85c4bf7e8f7a865b1a16f39..cda9fe98e067ca394c51920fc863754eff19c150 100644
--- a/client/src/main/java/dev/fitko/fitconnect/client/SubscriberClient.java
+++ b/client/src/main/java/dev/fitko/fitconnect/client/SubscriberClient.java
@@ -2,10 +2,10 @@ package dev.fitko.fitconnect.client;
 
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.nimbusds.jose.jwk.RSAKey;
+import dev.fitko.fitconnect.api.domain.model.metadata.Hash;
 import dev.fitko.fitconnect.api.domain.model.metadata.Metadata;
 import dev.fitko.fitconnect.api.domain.model.metadata.attachment.Attachment;
 import dev.fitko.fitconnect.api.domain.model.metadata.attachment.AttachmentWithData;
-import dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature.Hash__1;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.Data;
 import dev.fitko.fitconnect.api.domain.model.submission.Submission;
 import dev.fitko.fitconnect.api.domain.model.submission.SubmissionForPickup;
@@ -225,7 +225,7 @@ public final class SubscriberClient {
         private ValidationResult validateAttachments(final List<AttachmentWithData> unencryptedAttachments) {
             for (final AttachmentWithData attachmentData : unencryptedAttachments) {
                 final Attachment attachmentMetadata = attachmentData.getAttachmentMetadata();
-                final Hash__1 hash = attachmentMetadata.getHash();
+                final Hash hash = attachmentMetadata.getHash();
                 final ValidationResult result = subscriber.validateHashIntegrity(hash.getContent(), attachmentData.getDecryptedData());
                 if (result.hasError()) {
                     LOGGER.error("Attachment data for id {} is corrupted", attachmentMetadata.getAttachmentId(), result.getError());
diff --git a/client/src/main/java/dev/fitko/fitconnect/client/util/SubmissionUtil.java b/client/src/main/java/dev/fitko/fitconnect/client/util/SubmissionUtil.java
index 3a74a8a71b7bc7f731cae776c66bd2e163213c93..5121b57e699a02eadc3ebe327664f81a2f0d1745 100644
--- a/client/src/main/java/dev/fitko/fitconnect/client/util/SubmissionUtil.java
+++ b/client/src/main/java/dev/fitko/fitconnect/client/util/SubmissionUtil.java
@@ -1,15 +1,13 @@
 package dev.fitko.fitconnect.client.util;
 
 import dev.fitko.fitconnect.api.domain.model.metadata.ContentStructure;
+import dev.fitko.fitconnect.api.domain.model.metadata.Hash;
 import dev.fitko.fitconnect.api.domain.model.metadata.Metadata;
 import dev.fitko.fitconnect.api.domain.model.metadata.PublicServiceType;
+import dev.fitko.fitconnect.api.domain.model.metadata.SignatureType;
 import dev.fitko.fitconnect.api.domain.model.metadata.attachment.Attachment;
 import dev.fitko.fitconnect.api.domain.model.metadata.attachment.Purpose;
-import dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature.AttachmentSignatureType;
-import dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature.Hash__1;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.Data;
-import dev.fitko.fitconnect.api.domain.model.metadata.data.DataSignatureType;
-import dev.fitko.fitconnect.api.domain.model.metadata.data.Hash;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.SubmissionSchema;
 import dev.fitko.fitconnect.api.domain.model.submission.CreateSubmission;
 import dev.fitko.fitconnect.api.domain.model.submission.ServiceType;
@@ -29,6 +27,8 @@ import java.util.stream.Collectors;
 
 public final class SubmissionUtil {
 
+    private SubmissionUtil(){}
+
     public static CreateSubmission createSubmission(final UUID destinationId, final ServiceType serviceType, final List<UUID> attachmentIdsToAnnounce) {
         return CreateSubmission.builder()
                 .destinationId(destinationId)
@@ -60,7 +60,7 @@ public final class SubmissionUtil {
     public static Data buildData(final DataPayload dataPayload) {
         final var hash = new Hash();
         hash.setContent(dataPayload.getHashedData());
-        hash.setDataSignatureType(DataSignatureType.SHA_512);
+        hash.setSignatureType(SignatureType.SHA_512);
 
         final var submissionSchema = new SubmissionSchema();
         submissionSchema.setMimeType(dataPayload.getMimeType());
@@ -104,9 +104,9 @@ public final class SubmissionUtil {
         attachment.setFilename(attachmentPayload.getFile().getName());
         attachment.setMimeType(attachmentPayload.getMimeType());
 
-        final var hash = new Hash__1();
+        final var hash = new Hash();
         hash.setContent(attachmentPayload.getHashedData());
-        hash.setAttachmentSignatureType(AttachmentSignatureType.SHA_512);
+        hash.setSignatureType(SignatureType.SHA_512);
         attachment.setHash(hash);
         return attachment;
     }
diff --git a/client/src/test/java/dev/fitko/fitconnect/client/SubscriberClientTest.java b/client/src/test/java/dev/fitko/fitconnect/client/SubscriberClientTest.java
index 206cbc35ffef88e1a7876fcabb31799e82fadcae..a06a10445559b47208ac5c4e49c1e2bdc8b2a306 100644
--- a/client/src/test/java/dev/fitko/fitconnect/client/SubscriberClientTest.java
+++ b/client/src/test/java/dev/fitko/fitconnect/client/SubscriberClientTest.java
@@ -6,10 +6,9 @@ import com.nimbusds.jose.jwk.RSAKey;
 import dev.fitko.fitconnect.api.domain.model.metadata.ContentStructure;
 import dev.fitko.fitconnect.api.domain.model.metadata.Metadata;
 import dev.fitko.fitconnect.api.domain.model.metadata.attachment.Attachment;
-import dev.fitko.fitconnect.api.domain.model.metadata.attachment.signature.Hash__1;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.Data;
-import dev.fitko.fitconnect.api.domain.model.metadata.data.DataSignatureType;
-import dev.fitko.fitconnect.api.domain.model.metadata.data.Hash;
+import dev.fitko.fitconnect.api.domain.model.metadata.SignatureType;
+import dev.fitko.fitconnect.api.domain.model.metadata.Hash;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.MimeType;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.SubmissionSchema;
 import dev.fitko.fitconnect.api.domain.model.submission.Submission;
@@ -233,7 +232,7 @@ class SubscriberClientTest {
 
         final Hash hash = new Hash();
         hash.setContent(cryptoService.hashBytes(dataPayload.getBytes()));
-        hash.setDataSignatureType(DataSignatureType.SHA_512);
+        hash.setSignatureType(SignatureType.SHA_512);
 
         final SubmissionSchema schema = new SubmissionSchema();
         schema.setSchemaUri(URI.create("https://dummy.schema.url"));
@@ -379,7 +378,7 @@ class SubscriberClientTest {
         final var data = new Data();
         data.setHash(dataHash);
 
-        final var attachmentHash = new Hash__1();
+        final var attachmentHash = new Hash();
         attachmentHash.setContent("");
         final var attachment = new Attachment();
         attachment.setFilename("src/test/resources/attachment.txt");
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 0851c1fa0ac3224f9bf1e86b51404a816851f11d..1c5eed5c3dd272d8748fb8587bf11c580f9aded2 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
@@ -12,8 +12,8 @@ import dev.fitko.fitconnect.api.config.ApplicationConfig;
 import dev.fitko.fitconnect.api.domain.model.metadata.ContentStructure;
 import dev.fitko.fitconnect.api.domain.model.metadata.Metadata;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.Data;
-import dev.fitko.fitconnect.api.domain.model.metadata.data.DataSignatureType;
-import dev.fitko.fitconnect.api.domain.model.metadata.data.Hash;
+import dev.fitko.fitconnect.api.domain.model.metadata.SignatureType;
+import dev.fitko.fitconnect.api.domain.model.metadata.Hash;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.MimeType;
 import dev.fitko.fitconnect.api.domain.model.metadata.data.SubmissionSchema;
 import dev.fitko.fitconnect.api.domain.validation.ValidationResult;
@@ -116,7 +116,7 @@ class DefaultValidationServiceTest {
 
         final var hash = new Hash();
         hash.setContent(hashService.toHexString(hashService.createHash("someBogusContent".getBytes())));
-        hash.setDataSignatureType(DataSignatureType.SHA_512);
+        hash.setSignatureType(SignatureType.SHA_512);
 
         final var data = new Data();
         data.setSubmissionSchema(submissionSchema);
@@ -176,7 +176,7 @@ class DefaultValidationServiceTest {
 
         final var hash = new Hash();
         hash.setContent("noHexString");
-        hash.setDataSignatureType(DataSignatureType.SHA_512);
+        hash.setSignatureType(SignatureType.SHA_512);
 
         final var dataWithInvalidHashFormat = new Data();
         dataWithInvalidHashFormat.setSubmissionSchema(submissionSchema);