Anonymization Tool
The Anonymization Tool removes, scrambles, or replaces all personally identifiable information from the Person Record when employees invoke their Right to be Forgotten.
The integration offers two options:
-
Without Traceability:
-
Both Employee ID and personal info are removed.
-
After anonymization, you cannot link the anonymized record to the original employee.
-
This is a full anonymization process, and irreversible.
-
-
With Traceability:
-
After anonymization, it will still be possible to reverse the anonymized employee, if required.
-
The Employee ID will remain as the key to the record.
-
All other visible identification (For example, last name, first name, address, email.) will be anonymized.
-
Three anonymization types are available:
-
Replace:
-
The field content is replaced with a configurable text string or date.
-
Use for fields that do not require unique entries, such as date fields.
-
-
Scramble:
-
The field content is replaced with a scrambled string.
-
Use for fields that must have unique entries, such as employee ID fields.
-
-
Remove:
-
The entire content of the field is removed.
-
Cannot be used for required fields or date fields.
-
Use case
An employee does not want the company to keep their personal information in the WFM system. The employee informs the HR Manager that they want to invoke their Right to be Forgotten.
According to local legislation, full anonymization applies and there should be no ability to backtrack the employee's personal details.
-
Names and ID fields will be scrambled.
-
Date fields replaced by 01/01/1900.
-
Other personal identifiable fields will be removed.
The HR Manager runs the Anonymization Tool for the employee. Then the manager checks the Employee Details dataview to ensure all data is anonymized.
The Store Manager, who is not the user who ran the anonymization, receives a notification that one of their employees was anonymized.
People information field |
Before anonymization |
After anonymization |
---|---|---|
Last Name |
Last |
bd1hZH |
First Name |
First |
bd1hZH |
ID |
001-456 |
BD1HZH |
Birth Date |
07/12/1965 |
01/01/1900 |
Hire Date |
12/10/2002 |
01/01/1900 |
Seniority Date |
12/10/2002 |
01/01/1900 |
|
first.last@company.com |
<blank> |
Phone 1 |
+919785554436 |
<blank> |
The integration uses the Anonymization Action cross-reference tables to map People information fields with the action to be performed.
Considerations and limitations
-
Employee picture and Biometric Data need to be removed by a user. Biometric Data is automatically deleted, but only when the employee is terminated.
Before you start
Before you configure this integration, you must do the following:
- Configure the following:
-
Workflow notification: Configure a generic Workflow Notification which can be sent to an employee's manager. See the Create workflow notifications topic.
Name:
Anonymization Notification
Long Message:
One of your employees <Person Name>, <EmpName> is being anonymized.
Control center fields
Control center fields
Field
Label
Value
1
Message
One of your employees is being anonymized.
2
Employee Name
<Person Name>
3
Employee ID
<Employee ID>
-
-
Get the URL, User, and Password for the APIGatewayServer.
Configure the Anonymization Tool integration
- Deploy the Anonymization Tool integration For more information, see the Deploy Integration Packs to your Atom topic.
-
Open the Integration Template Designer: Select Main Menu
. Note: If prompted, enter your Username and Password. Click Tap Log in. -
Make sure that the Account is correct. If not, select the right account.
- Select the Deploy tab > Integration Packs.
- From the list in the left column, search for and select the Pro WFM Anonymization Tool Extension integration. Note: If the integration does not display, select Browse Integration Packs to search for and select the iPack.
-
Click Tap Install.
-
From Unattached Environments, select the environment in which to deploy the integration process for the selected integration. Click Tap the double-left arrows button
.
-
- Configure the Anonymization Tool integration settings
- Select the environment
- Select the Manage tab > Atom Management.
- Select your environment.
- Select environment extensions
- In Administration, click tap Environment Extensions.
- In Process Filter, click tap the magnifying glass
. It can take several seconds before the button becomes active. - Scroll to and select the integration pack: .
- Select the environment
- Configure connection settings
Caution: If you select Use Default for the connection settings and process properties, ensure that Value is blank. If Value is not blank, that value overrides the default value whether or not Use Default is selected or cleared. Example: If the default value is abc, but Value shows xyz, the integration uses xyz regardless of the setting of Use Default.
- Select Connection Settings.
-
From the Connection list, select and configure the following:
Connection Settings
Connection Settings for the integration
Setting
Required
Actions
AnonymizationTool_iPack_v2_APIGatewayServer
Required
To change the default API gateway server:
- Clear Use Default.
- Enter the URL to the server.
Example:
<tenantURL>/api
AnonymizationTool_iPack_v2_AnonymizationAction_CRT
Required
Enable Override.
AnonymizationTool_iPack_v2_Locale_CRT
Required
Enable Override.
- Configure process properties
- Select Process Properties. Caution: Do not edit the default values of the AuthenticationProperties. By default, cookies are enabled and set the values for authentication properties.
-
Select AnonymizationTool_iPack_v2_CRTConfig to set process properties that must be configured before the integration can run. This main process starts the integration process and handles errors.
Process properties
Process properties
Process property name
Column header value
_AnonymizationTool_iPack_v2_AnonymizationAction_CRT
People Information Field,Action,Replaced Value
_AnonymizationTool_iPack_v2_Locale_CRT
Parameter Name,Locale Policy,Value,Description
- Select Process Properties.
- Configure cross-reference tables
Cross-reference tables (CRT) are the look-up tables that the integrations use to translate parameter values. One or more data values from the source system can be used to assign one or more parameters in the destination system.
- If more than one row matches a reference value, the first match is the output value.
- If no match is found, the output value can be null, or the integration can produce errors.
- Select Cross Reference.
-
From the Cross Reference dropdown list, select a AnonymizationTool_iPack_v2 table.
-
Select Override to:
- Download the tables when you run the integration
- Edit the table cells in Extensions
-
When you finish, click tap OK.
- Repeat the steps for each of the AnonymizationTool_iPack_v2 tables.
Note: Values entered in the CRTs are case-sensitive.
- AnonymizationTool_iPack_v2_AnonymizationAction_CRT: Contains actions to perform on the People Information fields.
Anonymization Tool — Anonymization Action CRT structure
Flexible Break Adjustment — Threshold Rules CRT
Column name
Description
People Information
The people information fields on which action needs to be taken.
Note:People Information values must be used AS-IS.
Action
The action that needs to be taken; for example, Scramble, Remove, or Replace.
Note:Action column value must be in camel case (First letter should be in upper case).
Replaced Value
The value to be used with the Replace action.
Note:-
Replaced Value must be less than 20 characters and should not contain special characters.
-
Dates must adhere to the same format defined in the Date format integration parameter.
People Information Fields - Allowed Actions
People Information Field
Allowed Action
Last Name
Replace / Scramble
Middle Name
Remove
First Name
Replace / Scramble / Remove
Short Name
Replace / Scramble / Remove
ID
Scramble
Birth Date
Replace / Remove
Hire Date
Replace
User Account Name
Scramble
Reports To
Remove
Seniority Date
Replace
Home Address
Replace / Scramble / Remove
Email
Remove
Phone 1
Remove
Phone 2
Remove
Phone 3
Remove
City
Replace / Scramble / Remove
State / Province
Replace / Scramble / Remove
Zip Code
Replace / Scramble / Remove
Country
Replace / Scramble / Remove
Additional Information
Replace / Scramble / Remove
Person's Date
Replace / Remove
Certifications
Remove
Leave Administrator
Remove
Attendance Administrator
Remove
-
- AnonymizationTool_iPack_v2_Locale_CRT: Allows translation of messages and labels into different languages.
Anonymization Tool — Locale CRT structure
Flexible Break Adjustment — Locale CRT
Column name
Description
Parameter Name
Key for which localization is defined.
Locale Policy
Locale Policy.
You can use an asterisk (*) as a wildcard, but put the less-restrictive locale policy names at the bottom of the table because the integration scans cross-reference tables from the top.Value
Message shown in Additional Details, or value of the label defined in the Run Summary section.
Comment was not provided.
Description
The description that is shown in Additional Details.
The employee is not assigned a shift.
Note:-
Localization of integration extensions remains optional, but is supported.
-
The cross-reference table (CRT) holds all messages represented with standard English labels; these apply to all locales when the Locale is set to a wildcard (*).
-
Some or all messages can be translated by adding lines to the table in their preferred translation for specific locales. Messages for the most commonly used Locale Policy should be defined at the top of the CRT.
-
Names of the parameters in the CRT column "Parameter Name" must be used as is. If any parameter value needs to be localized for a different Locale Policy, copy the "Parameter Name" with the * Locale Policy, add a new row to the CRT with the appropriate Locale Policy, and then add the localized values in the Message (or Value) and Description CRT columns.
-
Do not enter values in the CRT column "Description" if it is blank.
-
Do not modify placeholders (<>) or the configurable values that are included in the CRT column "Message" (or "Value").
Sample Locale CRT content
Sample Locale CRT content
Parameter name
Locale Policy
Value
Description
Label_DisqualifiedEmployees
*
Disqualified Employees
Label_FailedEmployees
*
Failed Employees
Label_ProcessedRecords
*
Processed Source Records
Label_UpdatedEmployees
*
Updated Employees
Message_ActivatingEmployees
*
Error encountered while activating employees.
Server error occurred while activating terminated employees. Please refer to additional details and re-run the integration.
Message_AdditionalDetails
*
Process completed with transaction errors. Additional details, such as disqualifications, may be accessible using the button below.
Message_CheckSpecialChar
*
Invalid replaced value.
The replaced value exceeds 20 characters or contains a special character.
Message_DeleteAttendance
*
Employee not eligible.
The employee does not have an Attendance License assignment.
Message_DeleteAttendanceAdmin
*
Error encountered while deleting Attendance Admin.
Server error occurred while deleting Attendance Admin. Please refer to additional details and re-run the integration.
Message_DeleteCertification
*
Error encountered while deleting employee certifications.
Server error occurred while deleting employee certifications. Please refer to additional details and re-run the integration.
Message_DeleteLeave
*
Employee not eligible.
The employee does not have a Leave License assignment.
Message_DeleteLeaveAdmin
*
Error encountered while deleting Leave Admin
Server error occurred while deleting Leave Admin. Please refer to additional details and re-run the integration.
Message_EmployeeNotSelected
*
No Hyperfind or employee selected.
No Hyperfind or employee selected.
Message_EmploymentStatusTerminate
*
Employee status must be manually set to Terminated.
An error was encountered and the employment status must be manually set to Terminated.
Message_ErrorEncountered
*
Error occurred during integration run. Please refer to Process Reporting for more details.
Message_GetEmpDetails
*
Error encountered while retrieving employee details.
Message_InvalidDate
*
The date format or date valid is incorrect.
The date format is incorrect or the replace date value does not adhere to the integration parameter format.
Message_InvalidEmployee
*
Invalid Employee ID.
Employee ID does not exist.
Message_InvalidHyperfind
*
No employees returned for the selected Hyperfind.
Message_InvalidNotification
*
Workflow name is invalid or incorrect.
Workflow does not exist.
Message_InvalidParameter
*
Error encountered during parameter validation. Please refer to Additional Information for detailed description.
Message_LimitedLicense
*
License not available.
Insufficient Timekeeping, Attendance, or Leave licenses.
Message_ManagerNotFound
*
Manager not assigned.
Manager not assigned to the selected employees.
Message_NoReplaceValue
*
Replace value was not provided.
A value must be provided for the Replace Action.
Message_NotifyManager
*
Manager ID not found.
Manager ID does not exist in the system. Notification cannot be sent.
Message_RetrieveCertification
*
Error encountered while retrieving certifications.
Server error occurred while retrieving certifications. Please refer to additional details and re-run the integration.
Message_ScrambleLength
*
Scramble length is invalid.
The minimum scramble length is 6 and the maximum is 14.
Message_ServerError
*
Server error. Please re-run the integration.
Message_TerminatedEmployee
*
Non-Terminated employee submitted.
Non-Terminated employee cannot be processed when Process Terminated Employees Only is set to True.
Message_TerminateandRe-run
*
Server error. Please manually terminate employee listed in Additional Information and re-run the integration.
Message_Traceability
*
Traceability and ID Action are not synchronized.
If Traceability = False then ID Action must be Scramble. If Traceability = True then ID Action must be blank.
Message_TransactionEnabled
*
Process completed with transaction errors. If Transaction Assistant is enabled, failed records can be resubmitted through Transaction Assistant.
Message_UndefinedAction
*
An undefined Action was provided.
Undefined Action does not apply to the field.
Message_UnsuccessfulResponse
*
Unsuccessful response code received from API when submitting custom integration details.
Unsuccessful response code received from [Process Callback].
Message_UpdatingEmployee
*
Error encountered while anonymizing employee.
Message_WithoutErros
*
Integration completed without errors.
Message_WithoutTransactionErrors
*
Integration completed with transaction errors. Additional details, such as disqualifications, may be accessible using the button below.
-
- AnonymizationTool_iPack_v2_AnonymizationAction_CRT: Contains actions to perform on the People Information fields.
Install the Anonymization Tool integration
After the integrations are deployed and the connection settings and process properties are configured, install the integrations to make them available for running or scheduling.
-
An integration template is the configured integration that you deploy to an Atom and then install to make available for running or scheduling.
- An installed integration is a single instance of an integration that is based on an integration template. When you install an integration, you can define parameters or set parameters to be defined when the integration is run.
- Select Main Menu
. - Click Tap Create
. - In Integration Name enter a unique name, such as
AnonymizationTool_iPack_v2
. - (Optional) Enter a Description.
Note: Do not select API Integration.
- In File Access, select None to not select a connection.
- (Optional) If the person who runs the integration does not have full access to integrations, select Execute Integration with System Account. This allows the integration access to all APIs in the FAP, and the relevant permissions and data, regardless of the FAP and GDAP of the person who runs the integration.
-
(Optional) Select Re-Run to allow repeated runs of the integration with the same parameter values as the previous run.
-
Email Notifications
(Optional)
- Select Yes to send email and control center notifications for integration runs.
- Enter the email addresses of the recipients for the following types of run status. For multiple recipients, separate the addresses by a comma, but no spaces:
In Progress — The integration run started and has not finished.
Completed — The integration ran successfully without errors.
Failed — The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops.
Completed with Errors — The integration run has errors or could not run.
- In Skip Configuration, select None(default) to allow multiple integrations to run at the same time or with the same data without restrictions.
Note: Do not select Allow Minute Interval.
- Integration template and parameters
- In Integration Template, select AnonymizationTool_iPack_v2.
- Click Tap Assign
. - In Integration Parameters, you can override default settings. Click Tap Create.
- Complete the configuration for each parameter value.
- Click Tap Save.
Repeat for each Integration Parameter that supports the Anonymization Tool process.
Integration Parameters
Integration Parameters
Parameter name
Description / Default value / User prompt
Template parameter
Parameter type
Individual Employee ID
A comma-separated list of specific employees for whom the integration is run.
When no value is entered, the integration defaults to the Hyperfind parameter.
To process the integration for only a limited group of employees, enter the person numbers as defined in the source system, each separated by a comma (,) but not spaces.
User prompt = Yes
Mandatory = No
IndividualEmployeeID
Text
Hyperfind
Employees for whom this integration will run.
Default =
1
User prompt = Yes
Mandatory = Yes
Note: Ad-hoc Hyperfinds are not supported. All Home does not include terminated and inactive employees even if they have totals during the period. To include these totals, configure a Hyperfind that includes terminated and inactive employees, and select that Hyperfind in this process property. The maximum number of employees in a Hyperfind is 3500. To process more employees, divide the population into smaller Hyperfinds to run sequentially.Hyperfind
Hyperfind
Traceability
Determines whether the Employee ID remains as the key to the record.
true
(default) = Employee ID remains as the key.false
= Without Traceability. After anonymization, the anonymized record cannot be linked to the original employee.Note:This Boolean parameter value is case sensitive and should be entered using lowercase (true or false).
User prompt = No
Mandatory = Yes
Traceability
Boolean
Salaried Employee
Determines whether salaried employee licenses are assigned to employees in the system.
true
(default) = Salaried employee licenses are assigned.false
= Salaried employee licenses are not assigned.User prompt = No
Mandatory = Yes
SalariedEmployee
Boolean
Attendance administration
Identifies whether Attendance licenses are assigned to employees in the system.
true
= Attendance licenses are assigned.false
(default) = Attendance licenses are not assigned.User prompt = No
Mandatory = Yes
AttendanceAdministration
Boolean
Leave Administrator
Identifies whether Leave licenses are assigned to employees in the system.
true
= Leave licenses are assigned.false
(default) = Leave licenses are not assigned.User prompt = No
Mandatory = Yes
LeaveAdministrator
Boolean
Scramble Length
The length of the scrambled string.
Default =
6
User prompt = No
Mandatory = Yes
Note:- The minimum Scramble Length value is 6.
- The maximum Scramble Length value is 14.
ScrambleLength
Text
Manager Workflow Notification
Notification name that is sent to the manager of employees who have been anonymized.
User prompt = No
Mandatory = Yes
ManagerWorkflowNotification
Text
Process Terminated Employees Only
Determines whether the integration processes Active and Terminated employees.
true
(default) = Process only terminated employees.false
= Process active and terminated employees.User prompt = No
Mandatory = Yes
ProcessTerminatedEmployeesOnly
Boolean
Date Format
The format to which dates entered in CRTs must adhere.
Supported values include:
MM/dd/yyyy
MM-dd-yyyy
dd/MM/yyyy
dd-MM-yyyy
yyyy/MM/dd
yyyy-MM-dd (default)
User prompt = No
Mandatory = Yes
DateFormat
Text
Note:Boolean parameter values are case sensitive and must be entered using lowercase (true or false).
-
Make sure that the generic data access profiles (GDAP) allow access by the people who need to run the installed integrations. Select Configure Access to Integrations.
. See
Run and test the Anonymization Tool integration
Run integrations to test that the configuration is set up correctly.
-
Run the integration
- Select the integration:
- Select
Main Menu
. -
Click Tap
Run an Integration
. - Select the AnonymizationTool_iPack_v2 integration from the list. Click Tap Select.
- (Optional) Enter a unique Integration Run Name to make it easier to identify the run of the integration. Otherwise, the system assigns a default name, which ends with a date and time stamp.
- Select
Main Menu
-
Set parameters as follows:
-
Individual Employee ID: (Optional) To process data for only a limited group of employees, enter the person numbers, as defined in the source system, each separated by a comma, but no spaces.
For 3 employees:
13997,15556,20012
- Hyperfind: Select a Hyperfind query of employees.
-
Individual Employee ID: (Optional) To process data for only a limited group of employees, enter the person numbers, as defined in the source system, each separated by a comma, but no spaces.
-
Select the following:
- Run Integration : If this is the first time this integration is being run.
- Re-Run: If this integration has been run before, and the status is not In-Progress, you can run the integration again without entering the parameter values again. Click Tap Yes to continue, or No to not run the integration and to return to the parameter settings.
- Wait for the confirmation that the integration completed or failed. Close the panel.
-
Click Tap
Refresh
. - To see details, select the integration run. Select Run Summary.
- Select the integration:
-
Check the results
Status indicators
-
In-Progress: The run of this integration has not yet completed. -
Completed: The integration ran successfully without errors. -
Scheduled: This integration is scheduled to run later or repeatedly. - (Grayed out) Scheduled but Deleted: This integration is scheduled to run, but the integration template has been deleted. When it runs, it will generate an error. To prevent this error, delete the scheduled integration run.
-
Completed with Errors: The integration ran successfully, but one or more records have errors. The integration run is treated as failed. If Abort on Failure is configured in an integration set, the integration set stops. -
Failed: The integration run has errors or could not run. - To troubleshoot and resolve errors, do the following:
Check the Run Summary for details.
- To troubleshoot all types of errors, or if the Run Summary shows a large number of errors, click tap Go to Additional Details (if available), or click tap the Source File to open and examine the input source file.
- (Only for import integrations) To troubleshoot and resubmit integrations that have transactional or data errors, click tap Go to Transaction Assistant.
To check the results in more detail:
- Click Tap the tile for the integration run.
-
Click Tap
Run Summary to see the results of the integration run.
Example Run Summary details
Note: The available details vary by integration and configuration.- Integration Run Name: Name of this run of the integration.
- Process Name: Name of any integration set that includes this integration.
- Integration Name: Name of the installed integration.
- Integration Reference ID: Unique identifier for this integration run (to help in troubleshooting errors).
- User: The person or user account that ran the integration.
- Integration Type: Import, Export, or None
- Start Date: Date and time when the integration run started.
- End Date: Date and time when the integration run finished.
- Status: In-Progress, Completed, Completed with Errors, or Failed.
- Records Processed: Number of records that were processed.
- Records Created: Number of records that were created.
- Errors: Number of records that failed.
- Source Files, Output File, and Error Files: For file-based import integrations, use Manage SFTP to access the source and output files on the inbound (source) and outbound (destination) SFTP folders. See the Manage SFTP topic.
- Log in to the destination system and ensure that the data has been correctly updated.
Note: You can schedule integrations and integration sets to run once later or at a recurring frequency. See the Schedule Integrations topic. -
APIs
API name |
Resource path |
Method |
Description |
---|---|---|---|
/v1/commons/hyperfind/execute |
POST |
Executes a Hyperfind query by ID or qualifier and returns the results. | |
v1/commons/persons/extensions/multi_read |
POST |
Returns multiple person records based on search criteria. | |
/v1/commons/persons/multi_update |
POST |
Updates or edits one or more person records. | |
/v1/commons/persons/leave_admin/multi_delete |
POST |
Deletes the assignment of an administrator to one or more Leave employees. | |
/v1/commons/persons/attendance_admin/multi_delete |
POST |
Deletes the assignment of an administrator to one or more Attendance employees. | |
/v1/commons/persons/certifications/multi_read |
POST |
Returns all of a person's certification assignments. | |
/v1/commons/persons/certifications/multi_upsert |
POST |
Updates certification assignments for one or more persons. | |
/v1/commons/persons/base_persons/multi_read |
POST |
Returns a base summary of person information for all person records that match search criteria. | |
/v1/platform/messaging/generic_notifications |
GET |
Returns a list of all available generic notifications, including the corresponding generic notification if a specific name is provided. | |
/v1/platform/messaging/generic_notifications/{id}/notify |
POST |
Sends a generic notification according to the reference ID of the generic notification. | |
/v1/licensing/entitlement_summary |
GET |
Returns a list of entitlement-summary for all license packages. | |
/v1/commons/locale_policies/multi_read |
POST |
Returns locales according to the request. | |
/v1/platform/integrations/update_status |
POST |
Updates and returns the callback instance against the integration execution details. | |
/v1/platform/integration_executions |
GET |
Returns a list of all integration runs including completed, in-progress, scheduled, and failed integration runs. |
Version history
Version |
Description |
---|---|
1 |
Initial release. |
1.1 |
Telephone field labels are now parametrized. |
1.2 |
A customized error message is generated when the Hyperfind fails to return employees. |
1.3 |
The integration now handles cases when contact details contain null values. |
iPack_v2 |
The Anonymization Tool integration delivery is now by way of an iPack. |