This is an old revision of the document!


GDPR Utility

Reference: https://developer.cisco.com/docs/enterprise-chat-and-email/#!gdpr-utility/general-data-protection-regulation-utility

From ECE 12.5 and above the utility is located on the Data Server, ECE Home Folder.
Example:

D:\ECE\Utilities\GDPR_Utility

The GDPR Utility can be used to export or anonymize user data from the ECE Database.

The GDPR utility overwrites the customers name, email address and other identifying data with a masking pattern (xxxx by default) It overwrites details such as the email subject details as well as setting the various records in the database marked as deleted. So the records cannot be viewable via the ECE Applications - such as the Finesse ECE Gadget.

For Example if the Contact Person ID 1000 had First_Name: Gerry, LAST_NAME: O'Rourke, it masks this as all these fields as xxxx1000 (including fields such as EMAIL, EMERGENCY_CONTACT etc.) and sets the various rows in the database for the and its relevant activities and cases as deleted (DELETE_FLAG=y).

Update the Java Home location in the input properties file located here:

D:\ECE\Utilities\GDPR_Utility\input.properties

i.e. comment out the default java location and replace with

JAVA_HOME=D:\ECE\jdk

As per below (the rest of the file is standard).

# JDK Home Directory path(e.g. C:\\Program Files\\Java\\jdk1.7.0_11). Note that JDK version must be 1.7 or above.
#JAVA_HOME=C:\\Program Files\\Java\\jdk1.7.0_11
JAVA_HOME=D:\ECE\jdk

# ECE Local Home Directory path on Services Server(e.g. D:\\ECE).
EGAIN_HOME=D:\\ECE

# Provide the text to be used for masking customer email ids (e.g. XXXX). Required only for Anonymize operation.
MASKING_TEXT=xxxx

Always export the data before you anonymize. So you can confirm you are only anonymizing data that you expect! You can then delete the exported data afterwards.

  1. Create input and output folders for the data you want to, e.g. input_20210106, output_20210106
  2. Copy the sample json input file located
    D:\ECE\Utilities\GDPR_Utility\sample\SAR1001.json

    and edit it.

Note - as per below example sample input filter files, you must include at the minimum the FirstName, LastName and a contact identifier such as email address.

For example

Original Sample File: SAR1001.json

{
	command: "export",
	firstName: "Antony",
	lastName: "Decousta",
	contacts: 
	[{
		type: "email_address",
		id: "[email protected]"	
	},
	{
		type: "phone_number",
		id: "123456789"
	},
	{
		type: "social_id",
		id: "anthony"
	},
	{
		type: "social_id",
		id: "@abc"
	}
	],
	customAttributes:
	[
		{
			attribName: "custom1",
			attribValue: "123"
		},
		{
			attribName: "custom2",
			attribValue: "456"
		}
	]
}

Edited version of the Sample file to export all data for one specific contact

{
	command: "export",
	firstName: "Gerry",
	lastName: "O'Rourke",	
	contacts: 
	[{
		type: "email_address",
		id: "[email protected]"	
	}
	]
}

Run the utility

  • Run the batch file from the windows command prompt
  • D:\ECE\Utilities\GDPR_Utility>GdprUtility.bat -i input_20210106 -o output_20210106
  • The Batch file will check the input folder for any json files and check and run for each one (i.e. you can export or anoymize multiple customer data at a time)
  • Once the script runs check the output folder for the UtilityResponse.json file and review it to confirm the script ran successfully

One you are happy that the data exported is the data you want to anonymize update the input file json file as per below:

{
	command: "anonymize",
	firstName: "Gerry",
	lastName: "O'Rourke",	
	contacts: 
	[{
		type: "email_address",
		id: "[email protected]"	
	}
	]
}

Note - you can only anonymize data for a contact if all the cases for that activity are closed.

  • Search for the contact in ECE gadget.
  • Confirm its firstname lastname and contact email address
  • Make sure all cases are closed - if any open search by cases with a filter for the relevant contact and then set the case to closed.
  • Wait until after the interval records have been updated (at 04 and 34 pass the hour) and then run the anonymize script (otherwise it will state some cases are not closed).

Run the utility

  • Run the batch file from the windows command prompt
  • D:\ECE\Utilities\GDPR_Utility>GdprUtility.bat -i input_20210106 -o output_20210106
  • The Batch file will check the input folder for any json files and check and run for each one (I have only tested with one json file)
  • Once the script runs check the output folder for the UtilityResponse.json file and review it to confirm the script ran successfully

Note - all the email contents also get effectivly deleted - as the data is overwritten with the masking data. E.g. view the EGML_EMAIL_DATA table in the eGActiveDB - you can see that the header and content fields are overwritten with the masked e.g. xxxx3818 where 3818 is the EMAIL_ID

In summary, the Email and Chat Content is effectively deleted by the GDPR anonymize tool. No rows are deleted from the database, but the delete flag where relevant is marked as deleted and content such as the actual email or chat content is overwritten and / or masked and personally identifiable information is masked / overwritten (such as email, name etc.)

The EGLV_SESSION_CONTENT which stores the chat session content does have its database overwritten. Not very obvious when you review it (as it is encoded in HTML Character set) - but I have confirmed this it is the case.

Below shows that the actual content of the emails is effectively deleted (overwritten & masked)

The below shows an extract of the Case Management Content Person Table - where you can see that the contact has been masked / anonymized

Email attachment Content is also overwritten - in the below I confirmed that the content changed for the ExampleTxtFile.txt

  • vendors/cisco/uc/ece/gdprutility.1610124543.txt.gz
  • Last modified: 2021/01/08 16:49
  • by gerardorourke