Sensitive data handling¶
Commissioning GDPR functionality¶
General procedure for implementing the GDPR functionality in FrontStage.
Add/Complete GDPR
Category
Sensitivities
Purposes
Legalization (List) – Category, Sensitivities and Purposes must already be filled.
Rules
Set
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.
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.
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 runningGdprSuspendWipes
– 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.