diff --git a/DLCM-Model/src/main/java/ch/dlcm/model/preingest/AnonymizedDeposit.java b/DLCM-Model/src/main/java/ch/dlcm/model/preingest/AnonymizedDeposit.java
index ba581e52ffb833711376173705eec0f19f7e1579..c0e1fe02645f6641885041f68c70019abcc64442 100644
--- a/DLCM-Model/src/main/java/ch/dlcm/model/preingest/AnonymizedDeposit.java
+++ b/DLCM-Model/src/main/java/ch/dlcm/model/preingest/AnonymizedDeposit.java
@@ -47,15 +47,18 @@ public class AnonymizedDeposit extends ResourceNormalized {
   private Deposit deposit;
 
   @Schema(description = "The timestamp when the zip file of the anonymized deposit has been created")
+  @NotNull
   private OffsetDateTime timestamp;
 
   @Schema(description = "The checksum of the checksums of all data files")
+  @NotNull
   private String aggregateChecksum;
 
   @Schema(description = "The id of the page listing all anonymized deposits of a given deposit")
+  @NotNull
   private String pageId;
 
-  public @NotNull Deposit getDeposit() {
+  public Deposit getDeposit() {
     return deposit;
   }
 
@@ -71,7 +74,7 @@ public class AnonymizedDeposit extends ResourceNormalized {
     return pageId;
   }
 
-  public void setDeposit(@NotNull Deposit deposit) {
+  public void setDeposit(Deposit deposit) {
     this.deposit = deposit;
   }
 
diff --git a/DLCM-PreIngest/src/main/java/ch/dlcm/business/DepositService.java b/DLCM-PreIngest/src/main/java/ch/dlcm/business/DepositService.java
index 457953ebcc93786aa0cde479dccd5268479ff366..4e98914e95b34d3c7bd050c3c35084ffbb692af6 100644
--- a/DLCM-PreIngest/src/main/java/ch/dlcm/business/DepositService.java
+++ b/DLCM-PreIngest/src/main/java/ch/dlcm/business/DepositService.java
@@ -26,9 +26,14 @@ package ch.dlcm.business;
 import static ch.dlcm.DLCMConstants.ANONYMIZED_DEPOSITS_FOLDER;
 import static ch.dlcm.DLCMRestFields.STATUS_FIELD;
 import static ch.dlcm.model.preingest.Deposit.DepositStatus.CANCEL_EDITING_METADATA;
+import static ch.dlcm.model.preingest.Deposit.DepositStatus.CLEANED;
+import static ch.dlcm.model.preingest.Deposit.DepositStatus.CLEANING;
+import static ch.dlcm.model.preingest.Deposit.DepositStatus.COMPLETED;
 import static ch.dlcm.model.preingest.Deposit.DepositStatus.DELETING;
+import static ch.dlcm.model.preingest.Deposit.DepositStatus.EDITING_METADATA;
 import static ch.dlcm.model.preingest.Deposit.DepositStatus.IN_PROGRESS;
 import static ch.dlcm.model.preingest.Deposit.DepositStatus.IN_VALIDATION;
+import static ch.dlcm.model.preingest.Deposit.DepositStatus.UPGRADING_METADATA;
 
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
@@ -58,6 +63,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.unit.DataSize;
 import org.springframework.validation.BindingResult;
 import org.springframework.validation.FieldError;
+import org.springframework.web.servlet.ModelAndView;
 
 import ch.unige.solidify.ChecksumAlgorithm;
 import ch.unige.solidify.SolidifyConstants;
@@ -84,6 +90,7 @@ import ch.unige.solidify.validation.ValidationError;
 import ch.dlcm.DLCMConstants;
 import ch.dlcm.DLCMMetadataVersion;
 import ch.dlcm.config.DLCMProperties;
+import ch.dlcm.config.DLCMRepositoryDescription;
 import ch.dlcm.controller.PreIngestController;
 import ch.dlcm.exception.DLCMCollectionDepositStatusException;
 import ch.dlcm.message.DepositMessage;
@@ -99,6 +106,7 @@ import ch.dlcm.model.StatusHistory;
 import ch.dlcm.model.dto.DepositDto;
 import ch.dlcm.model.notification.NotificationType;
 import ch.dlcm.model.oais.ArchivalInfoPackage;
+import ch.dlcm.model.oais.SubmissionInfoPackage;
 import ch.dlcm.model.policies.PreservationPolicy;
 import ch.dlcm.model.policies.SubmissionPolicy;
 import ch.dlcm.model.preingest.AnonymizedDeposit;
@@ -133,6 +141,7 @@ import ch.dlcm.service.rest.fallback.FallbackUserRemoteResourceService;
 import ch.dlcm.service.rest.trusted.TrustedArchivePrivateMetadataRemoteResourceService;
 import ch.dlcm.service.rest.trusted.TrustedNotificationRemoteResourceService;
 import ch.dlcm.service.rest.trusted.TrustedSubmissionAgreementUserRemoteResourceService;
+import ch.dlcm.service.rest.trusted.TrustedSubmissionInfoPackageRemoteResourceService;
 import ch.dlcm.service.rest.trusted.TrustedUserRemoteResourceService;
 import ch.dlcm.specification.DepositSpecification;
 import ch.dlcm.specification.dto.DepositDtoSpecification;
@@ -206,9 +215,13 @@ public class DepositService extends CompositeResourceService<Deposit> {
   private final PreparationService preparationService;
   private final ChecksumAlgorithm defaultChecksumAlgorithm;
   private final AnonymizedDepositRepository anonymizedDepositRepository;
+  private final TrustedSubmissionInfoPackageRemoteResourceService trustedSubmissionInfoPackageRemoteResourceService;
 
   private final String preingestLocation;
   private final String preingestTempLocation;
+  private final String preingestPublicUrl;
+  private final String archiveHomePage;
+
   private final DataSize fileSizeLimit;
   private final String defaultLicense;
   private final String defaultMasterArchiveType;
@@ -235,7 +248,9 @@ public class DepositService extends CompositeResourceService<Deposit> {
           FallbackSubjectAreaRemoteResourceService subjectAreaService,
           HistoryService historyService,
           @Lazy PreparationService preparationService,
-          AnonymizedDepositRepository anonymizedDepositRepository) {
+          AnonymizedDepositRepository anonymizedDepositRepository,
+          TrustedSubmissionInfoPackageRemoteResourceService trustedSubmissionInfoPackageRemoteResourceService,
+          DLCMRepositoryDescription dlcmRepository) {
     this.depositDataFileRepository = depositDataFileRepository;
     this.specificationPermissionFilter = specificationPermissionFilter;
     this.httpRequestInfoProvider = httpRequestInfoProvider;
@@ -258,13 +273,16 @@ public class DepositService extends CompositeResourceService<Deposit> {
     this.subjectAreaService = subjectAreaService;
     this.preparationService = preparationService;
     this.anonymizedDepositRepository = anonymizedDepositRepository;
+    this.trustedSubmissionInfoPackageRemoteResourceService = trustedSubmissionInfoPackageRemoteResourceService;
 
     this.defaultChecksumAlgorithm = ChecksumAlgorithm.valueOf(dlcmProperties.getParameters().getDefaultChecksum());
     this.preingestLocation = dlcmProperties.getPreingestLocation();
     this.preingestTempLocation = dlcmProperties.getTempLocation(this.preingestLocation);
+    this.preingestPublicUrl = dlcmProperties.getModule().getPreingest().getPublicUrl();
     this.fileSizeLimit = dlcmProperties.getParameters().getFileSizeLimit();
     this.defaultLicense = dlcmProperties.getParameters().getDefaultLicense();
     this.defaultMasterArchiveType = dlcmProperties.getParameters().getDefaultMasterArchiveType();
+    this.archiveHomePage = dlcmRepository.getArchiveHomePage();
   }
 
   /**
@@ -1323,6 +1341,18 @@ public class DepositService extends CompositeResourceService<Deposit> {
     }).start();
 
     // Delete old anonymized deposit
+    this.deleteLastAnonymizedDeposit(lastOptionalAnonymizedDeposit);
+
+    return anonymizedDeposit.getPageId();
+  }
+
+  public void deleteLastAnonymizedDeposit(Deposit deposit) {
+    final Optional<AnonymizedDeposit> lastOptionalAnonymizedDeposit = this.anonymizedDepositRepository.findLastAnonymizedDeposit(deposit);
+    this.deleteLastAnonymizedDeposit(lastOptionalAnonymizedDeposit);
+  }
+
+  private void deleteLastAnonymizedDeposit(Optional<AnonymizedDeposit> lastOptionalAnonymizedDeposit) {
+    final Path anonymizedDepositFolder = Path.of(this.preingestLocation, ANONYMIZED_DEPOSITS_FOLDER);
     if (lastOptionalAnonymizedDeposit.isPresent()) {
       final String lastAnonymizedDepositId = lastOptionalAnonymizedDeposit.get().getResId();
       try {
@@ -1332,8 +1362,36 @@ public class DepositService extends CompositeResourceService<Deposit> {
         throw new SolidifyRuntimeException("Unable to delete old anonymized deposit " + lastAnonymizedDepositId, e);
       }
     }
+  }
 
-    return anonymizedDeposit.getPageId();
+  public ModelAndView buildAnonymizedDepositPage(String anonymizedDepositPageId) {
+    final Optional<Deposit> depositOptional = this.anonymizedDepositRepository.findDepositByPageId(anonymizedDepositPageId);
+    if (depositOptional.isEmpty()) {
+      throw new SolidifyResourceNotFoundException("No anonymized deposit page found");
+    }
+    final Deposit deposit = depositOptional.get();
+    final DepositStatus depositStatus = deposit.getStatus();
+    final List<AnonymizedDepositEntry> anonymizedDepositEntryList = this.buildAnonymizedDepositEntryList(anonymizedDepositPageId);
+    if (IN_PROGRESS.equals(depositStatus)) {
+      final ModelAndView modelAndView = new ModelAndView("anonymizedInProgressDeposit");
+      modelAndView.addObject("anonymizedDepositEntryList", anonymizedDepositEntryList);
+      modelAndView.addObject("preingestPublicUrl", this.preingestPublicUrl);
+      return modelAndView;
+    } else {
+      String archiveLink = null;
+      if (List.of(COMPLETED, EDITING_METADATA, CLEANED, CLEANING, UPGRADING_METADATA).contains(depositStatus)) {
+        final String sipId = deposit.getSipId();
+        if (sipId != null) {
+          final SubmissionInfoPackage sip = this.trustedSubmissionInfoPackageRemoteResourceService.findOne(sipId);
+          if (sip != null && sip.getAipId() != null) {
+            archiveLink = this.archiveHomePage + sip.getAipId();
+          }
+        }
+      }
+      final ModelAndView modelAndView = new ModelAndView("anonymizedCompletedDeposit");
+      modelAndView.addObject("archiveLink", archiveLink);
+      return modelAndView;
+    }
   }
 
   public List<AnonymizedDepositEntry> buildAnonymizedDepositEntryList(String anonymizedDepositPageId) {
diff --git a/DLCM-PreIngest/src/main/java/ch/dlcm/controller/preingest/DepositController.java b/DLCM-PreIngest/src/main/java/ch/dlcm/controller/preingest/DepositController.java
index 2667381ba83aa7dd38371c04a50b845ac29f6973..7c493836ced7cb30238de25b2e57dae69c45a4db 100644
--- a/DLCM-PreIngest/src/main/java/ch/dlcm/controller/preingest/DepositController.java
+++ b/DLCM-PreIngest/src/main/java/ch/dlcm/controller/preingest/DepositController.java
@@ -121,7 +121,6 @@ import ch.dlcm.model.notification.NotificationStatus;
 import ch.dlcm.model.notification.NotificationType;
 import ch.dlcm.model.policies.SubmissionAgreementType;
 import ch.dlcm.model.policies.SubmissionPolicy;
-import ch.dlcm.model.preingest.AnonymizedDepositEntry;
 import ch.dlcm.model.preingest.Deposit;
 import ch.dlcm.model.preingest.Deposit.DepositStatus;
 import ch.dlcm.model.preingest.DepositDataFile;
@@ -417,15 +416,7 @@ public class DepositController extends AbstractPackageController<DepositDataFile
   @GetMapping(SolidifyConstants.URL_ID_PLUS_SEP + DLCMActionName.GET_ANONYMIZED_DEPOSIT_PAGE)
   @EveryonePermissions
   public ModelAndView getAnonymizedDepositPage(@PathVariable("id") String anonymizedDepositPageId) {
-    final ModelAndView modelAndView = new ModelAndView("anonymizedDeposit");
-    final List<AnonymizedDepositEntry> anonymizedDepositEntryList =
-            ((DepositService) this.itemService).buildAnonymizedDepositEntryList(anonymizedDepositPageId);
-    if (anonymizedDepositEntryList.isEmpty()) {
-      throw new SolidifyResourceNotFoundException("No anonymized deposit page found");
-    }
-    modelAndView.addObject("anonymizedDepositEntryList", anonymizedDepositEntryList);
-    modelAndView.addObject("preingestPublicUrl", this.preingestModulePublicUrl);
-    return modelAndView;
+    return ((DepositService) this.itemService).buildAnonymizedDepositPage(anonymizedDepositPageId);
   }
 
   @GetMapping(SolidifyConstants.URL_ID_PLUS_SEP + DLCMActionName.DOWNLOAD_ANONYMIZED_DEPOSIT)
diff --git a/DLCM-PreIngest/src/main/java/ch/dlcm/repository/AnonymizedDepositRepository.java b/DLCM-PreIngest/src/main/java/ch/dlcm/repository/AnonymizedDepositRepository.java
index 4a03cd2472e6819f2c4ce948911b9d5c82246fbf..6c433faa88bbc76a0806f53917b832f8ea8bcaa8 100644
--- a/DLCM-PreIngest/src/main/java/ch/dlcm/repository/AnonymizedDepositRepository.java
+++ b/DLCM-PreIngest/src/main/java/ch/dlcm/repository/AnonymizedDepositRepository.java
@@ -45,4 +45,6 @@ public interface AnonymizedDepositRepository extends SolidifyRepository<Anonymiz
 
   List<AnonymizedDeposit> findAnonymizedDepositByPageIdOrderByTimestamp(String pageId);
 
+  @Query("SELECT deposit FROM AnonymizedDeposit ad WHERE ad.pageId = :pageId")
+  Optional<Deposit> findDepositByPageId(String pageId);
 }
diff --git a/DLCM-PreIngest/src/main/java/ch/dlcm/service/DepositStatusService.java b/DLCM-PreIngest/src/main/java/ch/dlcm/service/DepositStatusService.java
index 0bb4c0daa52b3285ca81ef33a57db5f0a1828fe2..b08f9cba48222b56208ef8ca3f60653adf453eb5 100644
--- a/DLCM-PreIngest/src/main/java/ch/dlcm/service/DepositStatusService.java
+++ b/DLCM-PreIngest/src/main/java/ch/dlcm/service/DepositStatusService.java
@@ -437,6 +437,12 @@ public class DepositStatusService extends DLCMService {
          */
         final String currentDepositTmpLocation = this.depositTmpLocation + File.separatorChar + deposit.getResId();
         FileTool.deleteRecursivelyEmptyDirectories(Path.of(currentDepositTmpLocation));
+
+        /*
+         * Delete anonymized deposit
+         */
+        this.depositService.deleteLastAnonymizedDeposit(deposit);
+
       }
       case IN_ERROR -> {
         deposit.setErrorStatusWithMessage(this.messageService.get("preingest.deposit.error.preparation"));
diff --git a/DLCM-PreIngest/src/main/resources/templates/anonymizedCompletedDeposit.html b/DLCM-PreIngest/src/main/resources/templates/anonymizedCompletedDeposit.html
new file mode 100644
index 0000000000000000000000000000000000000000..d10ca76dcfbded895afb8048c9f40d4853a638f2
--- /dev/null
+++ b/DLCM-PreIngest/src/main/resources/templates/anonymizedCompletedDeposit.html
@@ -0,0 +1,19 @@
+<!DOCTYPE html>
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
+<head>
+    <meta charset="UTF-8">
+    <title>Anonymized Completed Deposit</title>
+    <link rel="stylesheet" th:href="@{/css/style.css}">
+</head>
+<body>
+
+<h1>Welcome to the anonymized deposit download page</h1>
+<div th:if="${archiveLink != null}" class="centered-div">
+  This deposit has already been archived.<br>
+  You can access it from this link: <a th:href="${archiveLink}" th:text="${archiveLink}"></a>
+</div>
+<div th:if="${archiveLink == null}" class="centered-div">
+    This deposit is in the process of being archived. It will be available shortly.
+</div>
+</body>
+</html>
\ No newline at end of file
diff --git a/DLCM-PreIngest/src/main/resources/templates/anonymizedDeposit.html b/DLCM-PreIngest/src/main/resources/templates/anonymizedInProgressDeposit.html
similarity index 63%
rename from DLCM-PreIngest/src/main/resources/templates/anonymizedDeposit.html
rename to DLCM-PreIngest/src/main/resources/templates/anonymizedInProgressDeposit.html
index 8d2f5812cf77e2b5d3a46ab21247ed1f95a07a09..0184a4a54031c14b4bad7118051bca384d9981db 100644
--- a/DLCM-PreIngest/src/main/resources/templates/anonymizedDeposit.html
+++ b/DLCM-PreIngest/src/main/resources/templates/anonymizedInProgressDeposit.html
@@ -1,24 +1,9 @@
 <!DOCTYPE html>
-<html xmlns:th="http://www.thymeleaf.org">
+<html lang="en" xmlns:th="http://www.thymeleaf.org">
 <head>
     <meta charset="UTF-8">
-    <title>URL List</title>
-    <style>
-        h1 {text-align: center;}
-        body { font-family: Arial, sans-serif; }
-        table { width: 100%; border-collapse: collapse; margin: 30px; }
-        th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
-        th { background-color: #f2f2f2; }
-        .centered-div {
-            width: 50%;
-            margin: 20px auto;
-            text-align: center;
-            line-height: 1.8;
-            padding: 20px;
-            border: 1px solid #ddd;
-            background-color: #f9f9f9;
-        }
-    </style>
+    <title>Anonymized In Progress Deposit</title>
+    <link rel="stylesheet" th:href="@{/css/style.css}">
 </head>
 <body>
 
diff --git a/DLCM-ResourceServerCommon/src/main/resources/static/css/style.css b/DLCM-ResourceServerCommon/src/main/resources/static/css/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..03fc8596a71f6dae9079d220c13c5b1c23ef7e29
--- /dev/null
+++ b/DLCM-ResourceServerCommon/src/main/resources/static/css/style.css
@@ -0,0 +1,14 @@
+h1 {text-align: center;}
+body { font-family: Arial, sans-serif; }
+table { width: 100%; border-collapse: collapse; margin: 30px; }
+th, td { border: 1px solid #ddd; padding: 8px; text-align: left; }
+th { background-color: #f2f2f2; }
+.centered-div {
+    width: 50%;
+    margin: 20px auto;
+    text-align: center;
+    line-height: 1.8;
+    padding: 20px;
+    border: 1px solid #ddd;
+    background-color: #f9f9f9;
+}
\ No newline at end of file