wiki:S3/ConsentTracking

Version 5 (modified by Dominic König, 5 years ago) ( diff )

--

Consent Tracking

Introduction

Storing and processing of personally identifiable data (PID) may require explicit consent by the person in question. The Consent Tracking framework provides the means to request and track such consent.

Data Model

Types of Data Processing

The auth_processing_type table records types of data processing that require consent. Each processing type is identified by a unique code, which can be used to hard-code filters and consent checks throughout the application.

Consent Options

The auth_consent_option table holds a short title for each processing type (e.g. "Store my personal data") and an explanation what exactly that means. These two are used to request consent from the user, so formulations may be subject to legal requirements and guidelines.

Once a user has consented (or declined to consent) to a consent option, title and explanations can no longer be changed.

If they must be changed, e.g. for legal reasons or because the application has changed with regard to this type of data processing, then a new consent option for this processing type must be created, and the old version be marked as obsolete. Consent recorded for obsolete consent options will no longer be valid, thus, after such a change, the user must be asked for their consent again.

Consent Record

The auth_consent table records the user response to a consent option (yes or no). Each consent record refers to a specific consent option, hence type of data processing.

A consent record will be created even if the user declines to consent (in this case with the consented-flag set to False). Therefore, the absence of a consent record for a processing type does not mean the user has declined, but rather that they have not been asked.

Consent records can expire after a certain date, and will always expire when a new consent response of the same user for the same processing type is recorded.

Managing Consent Options

[tbd]

Requesting Consent

Embedding the Widget

[tbd]

Mandatory Consent Options

[tbd]

Post-processing the Widget

[tbd]

Checking for Consent

has_consented

[tbd]

[tbd]

[tbd]

Consent Expiry

[tbd]

Verifying Integrity

[tbd]

Note: See TracWiki for help on using the wiki.