Purl

This document describes an application profile, in this case Consent (Application Profile). The application profile specifies a semantic data model covering a set of use cases. The specification consists of terms with their constraints (cardinalities, codelists, usage guidelines).

Summary

This application profile explains how terminology about consent should be used. By consent we mean the consent that is required from a person to process his personal data.

Almost all the necessary terms come from an existing ontology about processing personal data, namely the Data Privacy Ontology (DPV). Some additional terms were also defined as can be seen in the vocabulary associated with this application profile.

Although DPV is broader and also considers other legal bases, it pays special attention to consent given the importance of this concept when exchanging personal data.

The terminology in DPV is largely based on that in the GDPR but would allow for other similar legislation. See DPV-GDPR for further restriction to GDPR concepts.

This profile was developed as part of TRAPEZE, a project financed by the European Commission to provide citizens with tools to manage their security and privacy. This concurs with the objective of the Solid project to which Digital Flanders contributes and which aims to give citizens back the ownership of their personal data. Hence the need to semantically model consent.

The application profile combines two versions of DPV: the OWL-version for classes, attributes and associations and the SKOS-version for enumerations.

The central class is, of course, Consent.

Consent is requested by a DataController for the Processing of PersonalData of a DataSubject.

For the Consent to be given, the DataSubject needs to be informed by a ConsentNotice of the Purpose and the kind of Processing that is involved. Consent can have a limited Duration.

The model involves a class PersonalDataHandling to group all aspects of the processing of the data for which the DataSubject should give his Consent. Apart from the kind of PersonalData, the Purpose and type of Processing and the DataProcessor and/or possible Recipient, the Risks involved and the Rights of the DataSubject can be documented, as well as the Technical or Organizational Measures that were taken to ensure the data privacy and security.

Status of this document

This application profile has the status of https://data.vlaanderen.be/id/concept/StandaardStatus/KandidaatStandaard published on 2022-11-01.

Information about the process and the decisions involved in the creation of this specification are consultable at the registry of standards.

License

This specification of Digitaal Vlaanderen is published under "Model license Free Reuse - v1.0".

Conformance

An implementation is conformant with this application profile if it satisfies these rules.

Overview

This document describes the usage of the following entities for a correct usage of the Application Profile:
| Agent | Consent | ConsentNotice | DataController | DataProcessor | DataSubject | Entity | LegalBasis | LegalEntity | Organisation | Person | PersonalData | PersonalDataHandling | Processing | Purpose | Recipient | Registered Person | RegisteredOrganisation | Right | Risk | StorageCondition | StorageDuration |

This document describes the usage of the following datatypes for a correct usage of the Application Profile:
| Duration | Identifier | Location |

Entities

Agent

Description
A resource that acts or has the power to act.
Subclass of
Entity
Properties
No properties have been defined for this entity.
Description
Consent of the DataSubject for the specified Processing of their PersonalData.
Usage
REMARK: The name of this class does not imply that Consent has been given or is valid. This depends on the value of attributes like hasConsentStatus and others.
Subclass of
LegalBasis
Properties
For this entity the following properties are defined: hasConsentStatus, hasDataSubject, hasDuration, hasIndicationMethod, hasLocation, hasNotice, isIndicatedAtTime, isIndicatedBy.
Property Expected Range Cardinality Description Usage Codelist
hasConsentStatus ConsentStatus 1 Specifies the state or status of consent. Examples are: ConsentRequested, ConsentGiven, ConsentWithdrawn etc. Link
hasDataSubject DataSubject 1 Indicates the association of the Consent with a DataSubject.
hasDuration Duration 0..1 Indicates information about the Duration of the Consent. For example to indicate how long the Consent is valid (eg 6 months), or until what time (eg 31 december 2022) or until which event (eg account closure).
hasIndicationMethod IndicationMethodType 0..1 Way in which the current state of Consent realized. Eg for a state equal to GivenConsent if the Consent was given in an analogue or electronic way and if electronic for example by DigitalTickbox or DigitalSignature or other.
hasLocation Location 1 Location where this stage of the Consent was created. To be updated when the ConsentStatus changes.
hasNotice ConsentNotice 0..* Reference to the applied or used ConsentNotice.
isIndicatedAtTime DateTime 1 Moment when this stage of the Consent was created. To be updated when the ConsentStatus changes.
isIndicatedBy Entity 0..1 Entity that is responsible for this stage of the Consent. Eg the Dat Controller if the status is ConsentRequested or the DataSubject for a ConsentGiven. To be updated when the ConsentStatus changes. REMARK: Required in case of Consent by delegation, such as in the case of a parent or a guardian responsible for providing or affirming Consent. Can be omitted if the referenced entity is identical to the DataSubject.

ConsentNotice

Description
A Notice for information provision associated with a Consent.
Usage
This is to inform the Data Subject before his Consent can be obtained. To be substituted by a String, URL or Document referencing the actual Notice.
Properties
No properties have been defined for this entity.

DataController

Description
The individual or organisation that decides (or controls) the purpose(s) of processing the PersonalData.
Usage
The terms 'Controller' is usually the more common form of indicating a DataController. In ISO/IEC the term 'PII Controller' is used.
Subclass of
LegalEntity, Agent
Properties
No properties have been defined for this entity.

DataProcessor

Description
A 'processor' means a natural or legal person, public authority, agency or other body which processes personal data on behalf of the DataController.
Subclass of
Agent, LegalEntity
Properties
No properties have been defined for this entity.

DataSubject

Description
The individual (or category of individuals) whose PersonalData is being processed.
Usage
The term 'data subject' is specific to the GDPR, but is functionally equivalent to the term 'individual' and the ISO/IEC term 'PII Principle'. REMARK: Can also be instantiated as a category, eg PersonalDataHandling123 for DataSubject(s) of type Customer.
Subclass of
LegalEntity, Person
Properties
For this entity the following properties are defined: type.
Property Expected Range Cardinality Description Usage Codelist
type DataSubjectType 0..1 Type of DataSubject. For example age-based types like Adult, Child or domain-based ones like Patient, Employee ore jurisdictional roles like Citizen, Immigrant. Link

Entity

Description
A human or non-human 'thing' that constitutes as an entity.
Usage
To be used as an abstract superclass and to be substituted by an Agent like a Person or Organisation and/or a LegalEntity like a DataSubject, DataController etc.
Properties
For this entity the following properties are defined: hasRelationWithDataSubject.
Property Expected Range Cardinality Description Usage Codelist
hasRelationWithDataSubject DataSubject 0..* Indicates the relation between the Entity and a DataSubject. Typically used in case of Consent by delagation, ie to specify that the Entity that indicated the Consent is related to the DataSubject. The kind of relationship is implied by the types of DataSubject and Entity (typically Child and Parent/Guardian of DataSubject respectively).

LegalBasis

Description
The legal basis used to justify the Processing of the PersonalData.
Usage
REMARK: This profile focusses on one kind of Legal Basis, namely Consent. REMARK: DPV provides the possiblity to use LegalBasis as a category, eg the LegalBasis of PersonalDataHandling123 is Consent.
Properties
For this entity the following properties are defined: hasPersonalDataHandling.
Property Expected Range Cardinality Description Usage Codelist
hasPersonalDataHandling PersonalDataHandling 1 Indicates the association with the PersonalDataHandling.

LegalEntity

Description
A human or non-human 'thing' that constitutes as an entity and which is recognised and defined in law.
Usage
Superclass of entities like Data Subject, DataController etc, ie roles with legal importance in the GDPR.
Subclass of
Entity
Properties
No properties have been defined for this entity.

Organisation

Description
A number of people organized into a community or other social, commercial, or political structure.
Properties
No properties have been defined for this entity.

Person

Description
A natural person.
Properties
No properties have been defined for this entity.

PersonalData

Description
Data directly or indirectly associated or related to an individual.
Usage
This definition of personal data encompasses the concepts used in GDPR Art.4-1 for 'personal data' and ISO/IEC 2700 for 'personally identifiable information (PII)'.
Properties
For this entity the following properties are defined: liveData, type.
Property Expected Range Cardinality Description Usage Codelist
liveData LiveDataType 1 Indicates how current the data is. Eg if the data is from a snaphot or if it is up-to-date.
type PersonalDataType 1 Type of PersonalData. Examples from the DPV codelist are based on the source of the data (like Derived, Inferred, Observed) or on their sensitivity or other. REMARK: More thematic categories can be found in the DPV Extended Personal Data concepts codelist. Link

PersonalDataHandling

Description
A high-level Class to describe 'data handling'. This can consist of PersonalData being processed for a Purpose, involving Entities, using TechnicalOrganisationalMeasures, applicable Risks, Rights, and LegalBasis.
Usage
REMARK: DPV uses the term 'data handling' to distinguish between the general meaning of processing (eg collect PersonalData from DataSubject123 by DataController456 for the Purpose of marketing) versus the operations pereformed with the data (eg consult, share etc).
Properties
For this entity the following properties are defined: has Technical Organisational Measure, hasDataController, hasDataProcessor, hasDataSubject, hasLegalBasis, hasPersonalData, hasProcessing, hasPurpose, hasRecipient, hasRight, hasRisk.
Property Expected Range Cardinality Description Usage Codelist
has Technical Organisational Measure TechnicalOrganisationalMeasure 0..* Indicates the use or applicability of a Technical Organisational Measure. Refers to the type of the Technical Organisational Measure that has been taken to protect the the PersonalData. Examples of TechnicalMeasures are Anonymisation, Encryption, WebSecurityProtocols. OrganisationalMeasures could be measures like ConsentNotices, Privacy Notices, CredentialManagement. Link
hasDataController DataController 1 Indicates the association with the DataController.
hasDataProcessor DataProcessor 0..* Indicates the inclusion or applicability of a DataProcessor.
hasDataSubject DataSubject 1..* Indicates the association with the DataSubject.
hasLegalBasis LegalBasis 1..* Indicates the use or applicability of a LegalBasis.
hasPersonalData PersonalData 1..* Indicates the association with the PersonalData.
hasProcessing Processing 1..* Indicates the association with the Processing.
hasPurpose Purpose 1..* Indicates the association with the Purpose.
hasRecipient Recipient 0..* Indicates the Recipient of the PersonalData.
hasRight Right 0..* Indicates the use or applicability of a Right with the PersonalDataHandling.
hasRisk Risk 0..* Indicates the applicability of a Risk associated with the PersonalDataHandling.

Processing

Description
The processing performed on the Personal Data.
Properties
For this entity the following properties are defined: hasStorageCondition, type.
Property Expected Range Cardinality Description Usage Codelist
hasStorageCondition StorageCondition 0..1 Indicates information about the storage of the PersonalData.
type ProcessingType 1 Type of Processing. Refers to the kind of operation that is performed on the PersonalData. Examples are Collect, Disclose, Share. Link

Purpose

Description
The purpose of processing the PersonalData.
Properties
For this entity the following properties are defined: type.
Property Expected Range Cardinality Description Usage Codelist
type PurposeType 1 Type of Purpose. Refers to the reason or justification for the PersonalDataHandling. Examples in the context of Consent are Marketing, Personalised Advertising, Commercial research. Link

Recipient

Description
Entitiy that receives the PersonalData.
Usage
A Recipient of Personal Data can be used to indicate any Entity that receives the data. This can be a Third Party, Processor (GDPR), or even a Controller.
Subclass of
Agent, LegalEntity
Properties
No properties have been defined for this entity.

Registered Person

Description
Person whose information is recorded in a register.
Subclass of
Person, Agent
Properties
For this entity the following properties are defined: fullName, registration.
Property Expected Range Cardinality Description Usage Codelist
fullName String 1 The full name of the person, in a general a combination of the first and last name.
registration Identifier 1 Identification code of the person in the register.

RegisteredOrganisation

Description
An organization that is legally registered
Subclass of
Organisation, Agent
Properties
For this entity the following properties are defined: legalName, registration.
Property Expected Range Cardinality Description Usage Codelist
legalName LangString 1 The legal name of the organisation.
registration Identifier 1 The registration is a fundamental relationship between a legal entity and the authority with which it is registered and that confers legal status upon it.
Description
The right(s) applicable, provided, or expected.
Usage
A 'right' is a legal, social, or ethical principle of freedom or entitlement which dictates the norms regarding what is allowed or owed. Rights as a concept encompass a broad area of norms and entities, and are not specific to individuals or Data Protection / Privacy. REMARK: For individual specific rights, see DPV:DataSubjectRight and EU Fundamental Rights.
Properties
No properties have been defined for this entity.

Risk

Description
A risk or possibility or uncertainty of negative effects, impacts, or consequences.
Usage
Risks can be associated with one or more different concepts such as Purpose, Processing, PersonalData, TechnicalOrganisationalMeasures. REMARK: More info on this class in DPV-Risk.
Properties
No properties have been defined for this entity.

StorageCondition

Description
Conditions required or followed regarding storage of data.
Usage
When the type of Processing is 'store', subclasses of this abstract class allow to specify duration, location etc of the storage.
Properties
No properties have been defined for this entity.

StorageDuration

Description
Duration or temporal limitation on the storage of the PersonalData.
Subclass of
StorageCondition
Properties
For this entity the following properties are defined: hasDuration.
Property Expected Range Cardinality Description Usage Codelist
hasDuration Duration 1 Indicates information about the Duration of the storage. For example how long the data is stored (eg 6 months), or until what time (eg 31 december 2022) or until which event (eg account closure).

Datatypes

Duration

Description
The duration or temporal limitation.
Usage
REMARK: The details of this class can be provided by using the Time Ontology according to the type of Duration. Eg if the type is DPV:TemporalDuration one could adda OWL-TIME:TemporalEntity as an additional type and hasXSDDuration as an attribute.
Properties
we have defined the following properties for this datatype: type.
Property Expects Type Cardinality Description Usage Codelist
type DurationType 0..1 Type of Duration Examples are TemporalDuration (eg 6 months), UnitilTimeDuration (eg till 31 december 2022), UntilEventDuration (eg until account closure). Link

Identifier

Description
Information used to uniquely identify of an object.
Usage
The basic principle here is that this string is assigned by an organisation and that this is done according to a well-defined system.
Properties
we have defined the following properties for this datatype: attributedAt, attributedBy, attributedByAsString, identifier.
Property Expects Type Cardinality Description Usage Codelist
attributedAt DateTime 0..1 The date on which the identifier was issued.
attributedBy Agent 0..1 Link to the Agent that issued the identifier.
attributedByAsString String 0..1 Name of the Agent that issued the identifier.
identifier Literal 0..1 String used to uniquely identify the object. The type of the string refers to the identification system (including its version), the string itself refers to the actual identifier.

Location

Description
A location can be an identifiable geographic place (ISO 19112), but it can also be a non-geographic place such as a directory, row, or column. As such, there are numerous ways in which location can be expressed, such as by a coordinate, address, landmark, and so forth.
Properties
There are no properties defined for this datatype.

JSON-LD context

(non-normative)

A reusable JSON-LD context definition for this application profile is retrievable at: /doc/applicationprofile/consent/kandidaatstandaard/2022-11-01/context/OSLO-consent-ap_en.jsonld

SHACL template

(non-normative)

A reusable SHACL template for this application profile is retrievable at: /doc/applicationprofile/consent/kandidaatstandaard/2022-11-01/shacl/OSLO-consent-ap_en-SHACL.ttl