Skip to main content

Archiving & Records Management

Overview​

OpenRegister implements a complete records management and archiving system for Dutch government compliance. This covers MDTO-compliant archival metadata on objects, selectielijsten-based retention scheduling, automated destruction workflows with multi-step approval, legal hold management, destruction certificate generation, and e-Depot transfer (SIP packages) for permanent archival at the Nationaal Archief or a municipal e-Depot.

Standards Compliance​

StandardScope
Archiefwet 1995Statutory basis for government records retention
MDTO (Metagegevens Duurzaam Toegankelijke Overheidsinformatie)Archival metadata XML schema
NEN 15489Records management principles, destruction workflows
NEN-ISO 16175-1:2020Principles and functional requirements for records in digital office environments
OAIS (ISO 14721)Open Archival Information System — SIP/AIP/DIP packaging model
PRONOMFile format identification for MDTO bestandsformaat
WCAG AAAccessibility for archivist-facing interfaces

Archival Metadata (MDTO)​

Every object in an archive-enabled schema carries MDTO-compliant fields in its retention property:

MDTO FieldObject FieldDescription
archiefnominatieretention.archiefnominatievernietigen or blijvend_bewaren
archiefstatusretention.archiefstatusnog_te_archiveren, gearchiveerd, overgedragen
bewaartermijnretention.bewaartermijnISO 8601 duration (e.g., P5Y, P20Y)
archiefactiedatumretention.archiefactiedatumCalculated date for archival action
classificatieretention.classificatieSelectielijst category code
toelichtingretention.toelichtingFree-text explanation

Schema Archive Configuration​

Schemas can define defaults so all new objects start with correct archival metadata:

{
"archive": {
"enabled": true,
"defaultNominatie": "vernietigen",
"defaultBewaartermijn": "P5Y",
"purgeAfter": "P10Y"
}
}

When a new object is created in this schema, retention is automatically populated with archiefnominatie: "vernietigen", archiefstatus: "nog_te_archiveren", bewaartermijn: "P5Y", and archiefactiedatum calculated as creation date + 5 years.

Retention Lifecycle​

nog_te_archiveren → [archiefactiedatum reached] → destruction list OR e-Depot transfer
↓
gearchiveerd / overgedragen

Archiefactiedatum Calculation (Afleidingswijzen)​

The archiefactiedatum is calculated using configurable afleidingswijzen (derivation methods):

AfleidingswijzeCalculation
aanmaakdatum + bewaartermijnCreation date + retention period
wijzigingsdatum + bewaartermijnLast modification date + retention period
einddatum + bewaartermijnObject's end date + retention period
vaste_datumFixed absolute date
Custom Twig expressionEvaluated at runtime

Destruction Workflow​

Automated Destruction Scheduling​

DestructionCheckJob (a TimedJob) runs daily and:

  1. Scans for objects where retention.archiefactiedatum < today AND retention.archiefnominatie = vernietigen
  2. Excludes objects with active legal holds (retention.legalHold.active = true)
  3. Creates a destruction list object in the archival register containing references to all eligible objects
  4. Notifies the designated archivist(s)

Destruction List Workflow​

A destruction list is itself a register object that passes through a configurable approval workflow:

StepActorAction
1SystemGenerate destruction list with object references
2ArchivistReview list, remove objects that should not be destroyed
3ArchivistApprove destruction list
4ManagerCounter-sign (optional, configurable)
5SystemExecute destruction (soft delete → physical purge)
6SystemGenerate destruction certificate

Each step is tracked with timestamps, actor identities, and audit trail entries.

Destruction Certificate​

After execution, the system generates a destruction certificate containing:

  • List of destroyed objects (UUID, title, schema, register)
  • archiefactiedatum and bewaartermijn per object
  • Selectielijst categories
  • Approval chain (names, timestamps, signatures)
  • Total count and data volume destroyed
  • Certificate UUID and timestamp

Objects can be placed under legal hold to prevent destruction:

POST /api/objects/{register}/{schema}/{id}/legal-hold
{
"reason": "Lopende bezwaarprocedure",
"heldBy": "juridisch-team",
"expiresAt": "2027-01-01"
}

Objects with active legal holds are excluded from destruction lists. Legal holds appear in audit trail and MDTO metadata.

e-Depot Transfer​

MDTO XML Generation​

Each object selected for e-Depot transfer generates MDTO-compliant XML:

<mdto:informatieobject xmlns:mdto="https://www.nationaalarchief.nl/mdto">
<identificatie>
<identificatiekenmerk>550e8400-e29b-41d4-a716-446655440000</identificatiekenmerk>
<identificatiebron>OpenRegister/meldingen-register</identificatiebron>
</identificatie>
<naam>Geluidsoverlast Kerkstraat 12</naam>
<waardering>vernietigen</waardering>
<bewaartermijn>P5Y</bewaartermijn>
<archiefvormer>Gemeente Voorbeeld</archiefvormer>
<bestand>
<naam>bijlage.pdf</naam>
<omvang>204800</omvang>
<bestandsformaat>fmt/276</bestandsformaat>
<checksum>
<checksumAlgoritme>SHA-256</checksumAlgoritme>
<checksumWaarde>abc123...</checksumWaarde>
</checksum>
</bestand>
</mdto:informatieobject>

The XML is validated against the MDTO XSD schema before inclusion in any SIP package.

SIP Package Assembly​

Objects approved for transfer are packaged into SIP (Submission Information Package) archives per OAIS (ISO 14721):

  • Self-contained ZIP archive
  • Contains: MDTO XML metadata per object, all associated content files, a manifest with checksums
  • Suitable for ingest by the Nationaal Archief or any OAIS-compliant e-Depot

Transfer Workflow API​

GET    /api/archival/eligible               List objects eligible for archival
POST /api/archival/transfer-list Create a transfer list
GET /api/archival/transfer-list/{id} Get transfer list status
POST /api/archival/transfer-list/{id}/approve Approve transfer list
GET /api/archival/sip/{id} Download SIP package (ZIP)
GET /api/archival/destruction-lists List destruction lists
POST /api/archival/destruction-lists/{id}/approve Approve destruction
GET /api/archival/certificates/{id} Download destruction certificate

GEMMA Component Alignment​

GEMMA ComponentHow OpenRegister supports it
ArchiefregistratiecomponentObject archival metadata (MDTO), retention tracking
ArchiefbeheercomponentDestruction workflows, legal holds, selectielijsten
Archiefportaalcomponente-Depot transfer (SIP packages), transfer lists