Ingest (CPP-029)
| CPP-Identifier | CPP-029 |
| CPP-Label | Ingest |
| Author | Mikko Laukkanen, Johan Kylander |
| Contributors | Bertrand Caron, Mattias Levlin |
| Evaluators | Felix Burger, Maria Benauer, Kris Dekeyser |
| Change history | Comments |
|---|---|
| Version 1.0.0 - 2025-08-29 | Milestone version |
| Version 1.1.0 - 2026-04-10 | Migration to XML |
1. Description of the CPP
The TDA performs all operations necessary to transform an SIP into an AIP.
Inputs and outputs
| Input(s) | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Data |
| ||||||||||
| Metadata |
| ||||||||||
| Documentation/guidance |
| ||||||||||
| Output(s) | |||||||||||
| Data |
| ||||||||||
| Metadata |
| ||||||||||
| Documentation/guidance |
| ||||||||||
Definition and scope
Ingest is a high-level CPP, that is composed of or utilised by many other CPPs, and refers to the process of acquiring and incorporating data into a TDA. In its most abstract form, Ingest describes the process in which a TDA receives a SIP and transforms it into one or several AIP(s) through a process that includes Data Quality Assessment (CPP-019). At the end of a successful ingest, the data is preserved in the TDA for future use.
The Ingest process begins with the transfer of digital Objects and Metadata from their source environment to the TDA in the form of a SIP. The digital preservation workflow triggered by the submission ensures that the data is properly prepared for long-term storage, discovery and access. The workflow ensures that essential Metadata about the creation, structure, and context (CPP-016 Metadata Ingest and Management) of the data exists. Fixity metadata that will be essential for future preservation actions must also exist before the data can be preserved. In addition, Technical metadata that could not be easily extracted (e.g. column delimiters for CSV, quality assessment for OCR, or EPUB Files etc.) from the Files by the TDA may be required to be supplied by the producer.
Data Quality Assessment (CPP-019) measures are integrated throughout the ingest workflow to catch potential issues early. This includes Virus Scanning (CPP-007), File Format Identification (CPP-008), Metadata Extraction (CPP-009) and File Format Validation (CPP-010), and completeness checks to ensure that the digital Objects are suitable for preservation. The TDA verifies that transferred Objects are complete and uncorrupted through Checksum Validation (CPP-002). The process also involves assessing whether the digital Objects conform to the repository's technical requirements and collection development policies. Depending on the TDA’s file format policy - preferred formats, Objects may also need to be normalised (CPP-026 File Normalisation) to preferred formats before or during the ingest process. During the ingest process, the TDA can generate additional Metadata and assign identifiers (CPP-005 Identifier Management) to support Enabling Discovery (CPP-024); perform Enabling Access (CPP-025) for cataloging purposes; and generate Provenance metadata that documents the transfer and processing history of the Objects. In order to evaluate the SIP and its contents, the TDA ensures that the SIP structure is valid and that the SIP is not incomplete (i.e. all Objects and Metadata are present).
SIPs that conform to the TDAs requirements and policies are transformed into AIPs which are sent to preservation in the archival storage of a TDA. SIPs that do not conform to the TDAs requirements will be handled according to its policies (in particular, file format policy and validation policy). The TDA can either reject the submitted data, ask the producer to address the issues before proceeding, flag the data as problematic and ingest it as it is, or perform an operation to address the identified issues.
Process description
Trigger event(s)
| Trigger Event | CPP-identifier |
|---|---|
| Submission of data to a TDA |
Step-by-step description
| No | Supplier | Input | Steps | Output | Customer | ||
|---|---|---|---|---|---|---|---|
| sequence | |||||||
| 1 | CPP-008 (File Format Identification) CPP-009 (Metadata Extraction) CPP-005 (Identifier Management) | Digital ObjectsMetadata provided by the producer | Pre-ingest actions (normalisation, metadata generation, identifier generation etc.) and SIP creation performed by the producer | SIP | CPP-005 (Identifier Management) | ||
| 2 | SIP | Submission of data to a TDA (SIP transfer) | |||||
| 3 | SIP | Identify whether the SIP is meant to create a new AIP or is intended to update one or several AIPs E.g. If the SIP has a Producer identifier that already corresponds to an AIP ingested in the system, proceed with the process | Updating request | CPP-021 (AIP Versioning) | |||
| 4 | SIP | Ensure that the SIP structure conforms to the requirements and that its contents are not missing | Valid and complete SIP | ||||
| Packaging Policy | |||||||
| 5 | CPP-002 (Checksum Validation) | Files in the SIP | Perform checksum validation on each File in the SIP | Information package with fixity checked | |||
| 6 | CPP-019 (Data Quality Assessment) | Quality assessment report | Quality assessment (ensuring that the submitted data conforms to requirements set by the TDA) | Information package with assessed quality | |||
| SIP | Result of the quality assessment recorded as Provenance metadata | ||||||
| 7 | CPP-008 (File Format Identification) CPP-009 (Metadata Extraction) CPP-007 (Virus Scanning) | SIP | Perform File Format Identification, Metadata Extraction, and Virus Scanning | Technical metadata | |||
| Provenance metadata | |||||||
| 8 | CPP-010 (File Format Validation) | Format policy - ValidationFiles in the SIP | Optional: Perform Format Validation if the TDAs format policy states that validation must be performed | Technical metadata | |||
| Provenance metadata | |||||||
| 9 | CPP-020 (Rights Management) | Objects in the SIPRights assessment | Perform rights assessment on Objects contained in the SIP | Rights metadata | |||
| 10 | CPP-016 (Metadata Ingest and Management) | Metadata provided by the producerTechnical metadataProvenance metadataRights metadata | Record the Metadata provided by the producer and produced by the TDA according to the TDAs SIP requirements and policy of automatic enrichment of SIP Metadata | Information package with Metadata recorded | |||
| 11 | CPP-005 (Identifier Management) | Identifier | Assign identifier to the Information package | Information package with Identifier assigned | |||
| 12 | CPP-026 (File Normalisation) | Files in the SIP | Optional: Only if the TDA supports normalisation during ingest:Normalisation of data, including documenting the actions | New Representations in a supported format | |||
| Provenance metadata | |||||||
| 13 | CPP-028 (Creation of Derivatives) | Files in the SIP | Optional: Only if the TDA supports creating derivatives during ingest:Generation of derivatives | New additional Representations | |||
| 14 | alternative | ||||||
| 14.a | sequence | ||||||
| 14.a.1 | Information package with fixity checked, identifier assigned, quality assessed, Metadata recorded and optionally new Representations added | If SIP conforms to the requirements (steps 7a and 7b): SIP transformation to AIP | AIP | ||||
| 14.a.2 | AIP | Move the AIP to the archival storage | AIP on multiple locations | CPP-011 (Replication) | |||
| 14.b | Error-handling policies (in particular file format policy and validation policy) | If SIP doesn’t conform to the requirements, perform one of these actions: (a) Rejection of SIP; (b) Request the producer to address the issues; (c) Flag the data as problematic and ingest it as it is; (d) Perform an operation to address the identified issues. | Error report to the submitter of the SIP (producer) | ||||
| Trigger technical analysis | |||||||
| 15 | Notification / report to the producer about the outcome of the ingest | Ingest report | |||||
Rationale(s) and worst case(s)
| Rationale | Impact of inaction or failure of the process |
|---|---|
| Ingest transfers the responsibility from the creator/owner/depositor of the digital Objects to the TDA, enabling long-term preservation, discovery and access to the digital Objects. Also, the ingest process captures the Objects’ state at the time of transfer through checksums, metadata extraction, and documentation of the transfer process itself. This creates an auditable trail that supports future authenticity claims and helps detect any corruption or unauthorised modifications that may occur over time. | The digital Objects remain vulnerable to loss, corruption, or unauthorised changes in their original environment. Furthermore, Objects in their original environments are often stored in formats, structures, or contexts that are not optimal for long-term preservation. |
2. Dependencies and relationships with other CPPs
Dependencies
| CPP-ID | CPP-Title | Relationship description |
|---|---|---|
| CPP-002 | Checksum Validation | Must be performed during ingest. |
| CPP-005 | Identifier Management | Must be performed during ingest. |
| CPP-007 | Virus Scanning | Must be performed during ingest. |
| CPP-008 | File Format Identification | Must be performed during ingest. |
| CPP-009 | Metadata Extraction | Must be performed during ingest. |
| CPP-020 | Rights Management | Some minimal rights assessment must be performed during ingest to verify that the TDA should be in charge of preserving the content of the SIP. |
| CPP-016 | Metadata Ingest and Management | The ingest process produces Technical, Rights and Provenance metadata that are recorded in the Information package and digital archive database by Metadata Ingest and Management. |
Other relations
| Relation | CPP-ID | CPP-Title | Relationship description |
|---|---|---|---|
| May require | CPP-010 | File Format Validation | A TDA may validate the format of the submitted Files in the ingest phase. |
| May require | CPP-019 | Data Quality Assessment | The TDA may have quality requirements that may be checked during ingest. |
| May require | CPP-026 | File Normalisation | The ingest may require that the digital Objects are first normalised before ingestion. |
| Required by | CPP-021 | AIP Versioning | Versioning implies several delicate operations, in particular in the case of a partial update, where the incoming SIP should be merged with the existing AIP. |
| May be required by | CPP-028 | Creation of Derivatives | The ingestion may generate derivatives for access. |
| Affinity with | CPP-012 | Risk Mitigation | The ingest process must adhere to the risk mitigation policies. |
| Affinity with | CPP-013 | Object Management Reporting | Ingest is both an important provider of reporting data to the TDA (via other CPPs) as well as a customer, as the ingest checks and outcomes must be reported to the producer. |
3. Links to frameworks
4. Reference implementations
Use cases
Ingest processes described as workflows
| Institutional background | |
|---|---|
| Institution | Several institutions, MUL |
| Hyperlink | https://coptr.digipres.org/index.php/Workflow:Community_Owned_Workflows |
| Description | |
| Problem statement | Several institutions have described their workflow for ingesting Objects in the Community Owned Workflow section of the COPTR registry. |
Publicly available documentation
| Institution | Organisation type | Language | Hyperlink |
|---|---|---|---|
| TIB – Leibniz Information Centre for Science and Technology and University Library, DE | National library Non-commercial digital preservation service Research infrastructure Research performing organisation | English | https://wiki.tib.eu/confluence/spaces/lza/pages/93608618/Ingest |
| CSC – IT Center for Science Ltd., FI | Non-commercial digital preservation service | Finnish | https://urn.fi/urn:nbn:fi-fe2024051731943 (Appendix 4, section 2.2.1) |
| Archivematica, CA | Digital preservation system | English | https://www.archivematica.org/en/docs/archivematica-1.17/user-manual/transfer/transfer/ (Transfer - steps that lead up to creating a SIP, e.g. checksum generation, file format identification etc.) |
| Archivematica, CA | Digital preservation system | English | https://www.archivematica.org/en/docs/archivematica-1.17/user-manual/ingest/ingest/ (Ingest - steps from SIP to AIP, e.g. file format normalisation) |