Ga naar hoofdinhoud

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