Sensitive data handling

Commissioning GDPR functionality

General procedure for implementing the GDPR functionality in FrontStage.

  1. Add/Complete GDPR

    • Category

    • Sensitivities

    • Purposes

    • Legalization (List) – Category, Sensitivities and Purposes must already be filled.

    • Rules

  2. Set Configuration ‣ System ‣

    • GdprEnforced – Set to true - two GDPR buttons will subsequently be displayed in the editors * Sensitivity – Check what you are talking about in the call * Authorization – Cannot be used if no contact is assigned.

    • GdprDefaultSensitivity – It will be used as a default sensitivity for a new call before the agent sets a specific sensitivity; if GDPR is not used, then 0 is set here.

    • GdprIdentityEntity – If the customer uses contacts, enter Contact, otherwise PhoneNumber.

    • GdprSensivityOfPhoneNumbers – Corresponds to the value from the table Sensitivity > List, column Bit mask – see table Sensitivity > List - here it is the value 4; if GDPR is not used, 0 is set.

  3. Set Permissions

    • GdprPermission Role – Add AllowFull permissions.

    • GdprSensitivity role – Add AllowFull permissions, Custom range, click all Categories of sensitivity of displayed data. And also add AllowFull permissions, (range none), click through the Sensitivity categories of the displayed data - Personal data auxiliary and Personal data contact.

    • EditGdprEvidence role – Add AllowFull permissions.

    • EditGdprItem Role – Add AllowFull permissions

    • ExportGdprEvidence role – Add AllowFull permissions.

  4. Agents – Set permissions in the agent profile.

    • Viewing GDPR expiration records

    • Viewing GDPR archived records

A bit mask is used in the tables according to GdprSensitivity.

  • ContactModel

  • DataQueryColumn

  • GDPRLegalisation

  • Chat

  • InboundCall

  • Issue

  • Message

  • OutboundCall

  • Permission

  • ScreenControl

Overview of GDPR button colors in editors

  • Red – We have no coverage.

  • Blue – We have coverage - at least one explicit.

  • Green – We have at least one inherited coverage.

Legalisation

Table for legalizations used (“legal grounds”), which is actually a combination of purpose (GdprPurpose) and category of justification (GdprCategory).

The items acquire an aggregate status:

  • Prepared – Not offered, Now < ActiveFrom

  • Active - active, ActiveFrom < Now < RetireFrom

  • Retired - not used, RetireFrom < Now

Displayed name

AttributeName

Description

ID

GdprLegalisationId

Primary Key.

Name

DisplayName

Name for the administrator, displayed also in the agent application.

Category of justification

GdprCategoryId

Link to Categorization Rationale on which legalization relies.

Purpose

GdprPurposeId

Link to Purpose for which legalization serves.

Covers Sensitivity

GdprCoverage

Indications that the data sensitivity category of legalization covers. (Bit mask from GdprSensitivity).

Mandatory external key of evidence

EvidenceKeyObligatory

Indication that EvidenceKey must be filled out in the established GdprEvidence (indirectly that it must come from the import)

Mandatory reference of evidence

ReferenceObligatory

Indication that Reference must be filled out in established GdprEvidence.

Mandatory communication of evidence

CommIdObligatory

Indication that a link to at least one communication (IC / OC / M / CH) must be filled in the bound GdprEvidence.

Mandatory Contact

ContentContactIdObligatory

An indication that a contact with CM.GdprIdentity = false corresponding to the contact model must be populated in the established GdprEvidence. NULL = contact does not need to be filled.

Allowed Outbound Communication Type

PrivacyPermission

Indication whether legalization allows the given type of outbound communication. Bit flags - 1 - AdhocOC, 2 - CallbackOC, 4- CampaignOC, 8 - AdhocM, 16 -AnswerM, 32 - CampaignM, 64 - AdhocCH, 128 - ReturnCH, 256 - CampaignBM

Workgroup

ProjectId

Ability to split legalizations into projects, which will affect the legalization rights and creation of GdprEvidence.

Evidence from the same project

SameProject

Indication that related evidence can only be used for communications from the same project under which it is legalized - true. Unlimited - false.

Evidence from the same group of workgroups

SameProjectGroup

Indication that related evidence can only be used for communications from the same project group under which the legalization occurs (ProjectId.ProjectGroupName) - true. Unlimited - false.

Valid since

ActiveFrom

The period from which a given legalization can be used to create GdprEvidence evidence. Used for time versioning by legalization. NULL - no start limit. Local time.

Valid till

RetireFrom

Period to which the legalization may be used to create GdprEvidence evidence. Used for time versioning by legalization. A value less than the current time indicates an invalid entry for selections. NULL - no start limit. Local time.

Knowledge article

KbArticleId

A knowledge base article that further elaborates on or legalize this.

External key

LegalKey

External key used to identify legalizations when importing evidence from an external source.

Category

Register table for Categories of GDPR grounds (Section 6.1(a-f) or Section 9.2(a-j)).

Displayed name

AttributeName

Description

ID

GdprCategoryId

Primary Key.

Name

DisplayName

Name for the administrator, displayed also in the agent application.

Description

Description

Description for administration.

Knowledge article

KbArticleId

A knowledge base article that categories or this contexts further elaborate.

Sensitivities

Sensitivity degree table.

Displayed name

AttributeName

Description

ID

GdprSensitivityId

Primary Key

Serial number

Sensitivity

Bit sensitivity data. Example: bit 0 (value 1) - personal data auxiliary (eg IP address, customer number), bit 1 (value 2) - personal information contact (phone number, email, delivery address, name, surname), bit 2 (value 4) - personal data significant (year of birth, sex, birth number, income category), bit 3 (value 8) - sensitive personal data (health status). Up to 32 options.

Name

DisplayName

Name for the administrator, displayed also in the agent application.

Description

Description

Description for administration.

Particularly sensitive

Special

Indication of whether it is a normal data (§6) or a particularly sensitive data (§9)

Knowledge article

KbArticleId

Knowledge base article that further develops the nature of personal data and their sensitivity.

Delay period

GracePeriod

The number of days the system keeps the data, regardless of the evidence provided. 0 - Sensitivity does not provide a grace period

Archiving period

ArchivationPeriod

Number of days the data is archived if there is no specific evidence (GdprEvidence), NULL - not archived by default

Deadline for inaccessibility

ExpirationPeriod

Default period (number of days) after which the data becomes inaccessible if there is no specific evidence (GdprEvidence), NULL - data expire immediately after GracePeriod, unless there is evidence

Deadline for forgetting

ObliviationPeriod

Default period (number of days) after which the data is deleted if there is no specific evidence (GdprEvidence), NULL - data is deleted immediately after GracePeriod, unless there is evidence

Purposes

Displayed name

AttributeName

Description

ID

GdprPurposeId

Primary Key.

Name

DisplayName

Name for the administrator, displayed also in the agent application.

Description

Description

Description for administration.

Group name

GroupName

Name of group of sorting purposes (eg in reporting).

Knowledge article

KbArticleId

A knowledge base article that further elaborates on the purposes or the latter.

The date of archiving

ArchivationTime

A specific date after which access to personal data is restricted by moving to the archive and accessible in a special mode. NULL means it is not set.

Archiving period

ArchivationPeriod

The number of days since the personal information was created, after which data access is restricted by moving to the archive and will be accessible in a special mode. NULL means it is not set.

Date of inaccessibility

ExpirationTime

The specific date after which a given purpose is no longer valid (§17 1.a) and the data will generally be inaccessible. NULL means it is not set.

Deadline for inaccessibility

ExpirationPeriod

The number of days since the creation of the personal data, after which the given purpose is no longer valid (§17 1.a) and the data will generally be inaccessible. NULL means it is not set.

Date of forgetting

ObliviationTime

Specific date after which the data will be forgotten (deletion from either the archive or the production database). NULL means it is not set.

Deadline for forgetting

ObliviationPeriod

The number of days from the date of the personal data after which the data is forgotten (deletion from either the archive or the production database). NULL means it is not set.

Delay Type

RenewalType

Type of “origin” offset (effectively ArchiveAfter, ExpireAfter, and ObliviateAfter fields) for floating / self-extending purposes. NULL - Cannot, Explicit - Manual (if the agent has rights), Implicit - When every IC / OC / M / CH record is marked as IsRenewal, Auto - When every IC / OC / M / CH communication record is acquired

Number of days to extend the expiration of evidence

EvidencePeriodOffset

The number of days the ExpireAfter expiration action and ObliviateAfter are forgotten when referring to GdprEvidence (proof) communications and the GdprEvidence record itself

GDPR rules

Scenario selection table.

Displayed name

AttributeName

Description

ID

GdprConditionId

Primary Key.

Name

DisplayName

Name for administration.

Order

Rank

Evaluation conditions order.

Sensitivity

GdprSensitivityId

Which sensitivity to add.

Legalization

GdprLegalisationId

The proof of which legalization to add (NULL - not to be added) is searched for where ContactId or PhoneNumberId agrees (it must be a GdprIdentity item).

Last rule

Terminate

A flag that should not continue to the next rule.

Channel

Channel

Type of communication: channel names (Pbx, Email, Sms, … WebIM, WebVoice, Visitor), InboundCall, OutboundCall, Voice, Message, Chat, Issue, Contact, RatingVoice, RatingMessage, RatingChat, RatingIssue. RatingAgent, NULL means condition not to be checked.

Workgroup

ProjectId

Project condition, NOT applied.

Language

LanguageId

Language condition. NULL if not used.

Directory

PhoneBookId

Phonebook condition, NULL not used.

IVR A mask

IvrResponseA

The condition of the result of the first IVR, NOT used.

IVR B mask

IvrResponseB

Condition of result of the second IVR, NOT used.

Redirector

Redirector

The condition of the originally called number is NOT used.

Outbound campaign

OutboundListId

Outbound list condition, NULL not used.

IMR mask

ImrResponseA

The result of the first IMR, NULL result is not used.

IMR mask

ImrResponseB

The second IMR, NULL result condition is not used.

Topic

TopicId

Condition on a given topic in a case. NULL means no control.

Subtopic

SubTopicId

Condition for given subtopic in case. NULL means no control.

Deleting contacts via REST if GDPR is not active

If FrontStage is not used in a mode with GDPR, it is possible to delete a contact with all related objects by calling the REST API. Communications, issues, events, attachments, recordings, etc. may be related. This deletion is triggered by the WipeCtcAll change request.

The feature is suitable for customers who keep most of their personal data on another system and only occasionally send some to FrontStage, which keeps the supplied contacts. The customer monitors the GDPR deadlines in another system, and that system only tells us by calling REST that the contact should be deleted by FrontStage with all the related data.

It therefore also works under the following conditions:

  • GdprEnforced == false – Indicates whether the system uses the GDPR mode (true) or whether it is disabled (false) - in this case, the appropriate elements in the editors are not displayed and the corresponding processes of archiving, expiration and forgetting in data processing are not running

  • GdprSuspendWipes – Indicates whether the execution of a change request to delete anything should be temporarily suspended – deletion disabled = true, deletion enabled = false.

  • GdprSuspendWipeIssue – Indicates whether the execution of the change request to delete issues should be temporarily suspended – deleting disabled = true, deleting enabled = false.

Caution

If you have the GdprSuspendWipes and GdprSuspendWipeIssue parameters set to false in your configuration, it is a good idea to look for options to create a change request WipeCtcAll to prevent an accidental deletion of contacts.