Storage MS GDPR Solution

Storage MS stores data that belongs to Prospect, Verified Prospect and Customer.

The following entities stores PII Data:

  • EntityItemResolveImpl
  • SearchExtractDataResolveImpl

Business Implementation :

Commands for erasure & Reporting contains customer Id and Party Id along with the business Entity and its fields. In order to resolve the entities for a given customer Id or Party Id, the below business implementation is done in MS for each entity.

Interface : com.temenos.microservice.framework.dataprotection.Iresolve

Class : com.temenos.microservice.<ms.name>.function.dataprotection. <entityType>ResolveImpl.java

Method : public Object [] resolveEntity(String entityType, String customerId, String partyId, Map<String, String> customEntityIdentifier) throws FunctionException

Prospect:

Report: Report is taken care in spotlight application.

Erasure : Storage is the source of Trigger for Prospect Data. It purges applications and it emits events to delete data in Document MS and DBXDB based on purge data of the application. It picks those applications where purge date is less than the current date. Scheduler component in storage MS is responsible for emitting these events.

Flow:

Events :

Document.deleteEvidencesOfApplication

This event is emitted from ODMS to Document MS to delete all the evidences belonging to the application. API with operationID deleteEvidencesOfApplication is invoked and data is deleted.

Document.deleteDocument

This event is emitted from Storage MS to Document MS to delete all the standalone documents belonging to the application. API with operationID deleteDocument is invoked and data is deleted.

APPLICATION_PURGED: This event is emitted from Storage MS to DBXDB to delete all the data stored in DBX.

Verified Prospect / Customer : Transact is the source of trigger. It emits events to Storage MS for report / to delete customer data.

Report/Erasure:

Types of Requests:

executeSubjectAcessRequest: Generates reports from customer data managed in the respective components

executeCDPErasureRequest: Erases the customer data managed in the respective components

Sample Payloads:

Storage to Document

{
			"eventId":"fd035db6-f299-4eb7-a935-20ee3e7ef41e",
			"dateTime":"2022-06-29T10:02:09.837+0000",
			"correlationId":"20800f6b-afda-4851-bec5-887b5604150b",
			"userId":"T24",
			"status":"new",
			"eventSourceId":"Storage",
			"headers":{
			"authorization":"eyJraWQiOiJLQTAxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhdWQiOiJJUklTIiwic3ViIjoiVDI0Iiwicm9sZUlkIjoiSU5GSU5JVFkuT05CT0FSRElORyIsImlzcyI6IkZhYnJpYyIsImRieFVzZXJJZCI6IjAwMDEiLCJleHAiOjMxNjQ4NDY5NjMsImlhdCI6MTU4ODA0Njk2MywidXNlcklkIjoiVDI0IiwiX2lzc21ldGEiOiJodHRwczpcL1wvZGJ4bGVuZGluZ3FhLmtvbnljbG91ZC5jb21cL3NlcnZpY2VzXC9UMjRJU0V4dHJhXC9nZXRwdWJsaWNrZXkiLCJqdGkiOiI3OTZkNjUyNy1mNmEwLTQ4YmItYmI0NS1hZmQyMzdhZTUwZmYifQ.g-5pPTK1sSZUbbvZ-ScgN6kEOv8uSpvGcYjH1miF_mHV3vr3kDVXCspz3sbFHgCHK-UmU8v6xGIXSOntL4Go5oO5LyYsLS7ZwcU-JCOIK_8CF4DTLEYaIPDrA2U21tJkfxQ37QRzeAF_7tqnWOe-LzTbtLPTDZmHcVTTZzx3ZCqUa55OyaDJT2KGkU578p7O1fq333Dvjlbn2tBFGYUOPnCHzLU4Z5PTlNLqtbxaA-G8IAdidaUfTHD2MzFFLnhnTGmqkr7JlQfukYL98KjUtHU-hOQx6XQCo-kQWWVOVQlZUp6W8oWCR56iFYjRCVDNv0J852VpKy2YCkRHVoAD8g"
			},
			"subject":"command",
			"eventType":"document.deleteEvidencesOfApplication",
			"payload":{
			"eventId":"e112d9d8-1e68-4457-bc8d-5aac2c822717",
			"userId":"T24",
			"status":"new",
			"eventSourceId":"Storage",
			"headers":{
			"authorization":"eyJraWQiOiJLQTAxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhdWQiOiJJUklTIiwic3ViIjoiVDI0Iiwicm9sZUlkIjoiSU5GSU5JVFkuT05CT0FSRElORyIsImlzcyI6IkZhYnJpYyIsImRieFVzZXJJZCI6IjAwMDEiLCJleHAiOjMxNjQ4NDY5NjMsImlhdCI6MTU4ODA0Njk2MywidXNlcklkIjoiVDI0IiwiX2lzc21ldGEiOiJodHRwczpcL1wvZGJ4bGVuZGluZ3FhLmtvbnljbG91ZC5jb21cL3NlcnZpY2VzXC9UMjRJU0V4dHJhXC9nZXRwdWJsaWNrZXkiLCJqdGkiOiI3OTZkNjUyNy1mNmEwLTQ4YmItYmI0NS1hZmQyMzdhZTUwZmYifQ.g-5pPTK1sSZUbbvZ-ScgN6kEOv8uSpvGcYjH1miF_mHV3vr3kDVXCspz3sbFHgCHK-UmU8v6xGIXSOntL4Go5oO5LyYsLS7ZwcU-JCOIK_8CF4DTLEYaIPDrA2U21tJkfxQ37QRzeAF_7tqnWOe-LzTbtLPTDZmHcVTTZzx3ZCqUa55OyaDJT2KGkU578p7O1fq333Dvjlbn2tBFGYUOPnCHzLU4Z5PTlNLqtbxaA-G8IAdidaUfTHD2MzFFLnhnTGmqkr7JlQfukYL98KjUtHU-hOQx6XQCo-kQWWVOVQlZUp6W8oWCR56iFYjRCVDNv0J852VpKy2YCkRHVoAD8g"
			},
			"eventType":"document.deleteEvidencesOfApplication",
			"payload":{
			"applicationId":"CDMLCY5"
			}
			}
		}

Storage to Document

{
			"eventId": "0e77d697-fbdb-48c2-b089-c1c7d1785b57",
			"dateTime": "2022-07-20T12:45:25.793+0000",
			"correlationId": "f7d73022-0b60-4108-ac90-e9e7de801cc3",
			"userId": "98764321",
			"status": "new",
			"eventSourceId": "document",
			"commandType": "document.deleteDocument",
			"headers": {
			"Authorization": "eyJraWQiOiJLQTAxIiwidHlwIjoiSldUIiwiYWxnIjoiUlMyNTYifQ.eyJhdWQiOiJkb2N1bWVudHMiLCJzdWIiOiI5ODc2NDMyMSIsInJvbGVJZCI6IkRvY3VtZW50T3duZXIiLCJpc3MiOiJGYWJyaWMiLCJleHAiOjE2NTgzMjI5MjMsImlhdCI6MTY1ODMyMTEyMywianRpIjoiMzQ0YzhkZjktNzRhZS00N2Y3LTkyNzUtYzIxMWQwNmIwOTg5In0.UF0YYFl_4pWgzS1tHbe3Ys6aLrKb1VsyqXoATcv-BJ-hfGWHVs0-BOjG6vXcNIuFp5w2KcGIaYUfY9LunwP7C2LNQhvTgKpClg5bkEp_8d2dj9li_GWXUxMm-FgIb1K7-Qz8jUMbdPy2NECFrIiGLx9SM1AUCFCouqmU-zG6O1OMgODDIZxQBzAMIEIzLUr9l-CObC57nj-Prwy77wPydCCDQpDwWf6BO_ulObvEsNvkSvwOkxVFCANBfxzaBrDLsoOwqIsOuebjVlWx58d-v5fu60CouiPVpF8xPZ9gkUqZ5zcIIOGpXIuAtcXVGuP7CZVUOxBIW-AWv88TrD-flg"
			},
			"subject": "commandprocessed",
			"eventType": "CommandProcessed",
			"payload": {
			"commandId": "f7d73022-0b60-4108-ac90-e9e7de801cc3",
			"eventType": "document.deleteDocument",
			"status": "NEW",
			"businessObject": {
			"status": 200,
			"failureMessages": [],
			"body": {
			"documentId": "78a63e06-d6e6-45d8-96c6-85a22d09ab95",
			"ownerSystemId": "corporate-los",
			"channelId": "infinity"
			},
			"success": true
			},
			"userId": "98764321",
			"commandSourceId": "Storage"
			}
		}

Transact to Storage

{
			"specversion": "1.0",
			"id": "f1821b4f-9dc9-4456-ab9c-0413b9522c3e",
			"source": "https://temenos.com/microservice/cloudevents/ms-service-orchestrator",
			"type": "ms-storage.ExecuteSubjectAccessRequest",
			"datacontenttype": "application/json",
			"subject": "command",
			"time": "2022-09-21T10:31:22.562Z",
			"extension-mscontext": "{\"sequenceinstanceid\":\"b7ab319a-9dc3-415e-bf87-59384a3a858c\",\"operationinstanceid\":\"2b947407-5db7-4ac2-ae3f-13b4d1b770b4\"}",
			"correlationid": "f1821b4f-9dc9-4456-ab9c-0413b9522c3e",
			"data": {
			"params": {
			"reportType": [
			"SAR"
			],
			"requestId": [
			"CDP22109JQT170V3"
			]
			},
			"body": {
			"personalData": [
			{
			"dataEntityName": "EntityItem",
			"dataEntityFields": [
			{
			"dataEntityFieldDataType": "string",
			"dataEntityFieldName": "entry"
			},
			{
			"dataEntityFieldDataType": "string",
			"dataEntityFieldName": "entryHash"
			}
			]
			},
			{
			"dataEntityName": "SearchExtractData",
			"dataEntityFields": [
			{
			"dataEntityFieldDataType": "string",
			"dataEntityFieldName": "value"
			}
			]
			},
			{
			"dataEntityName": "ms_search_extract_data",
			"dataEntityFields": [
			{
			"dataEntityFieldDataType": "string",
			"dataEntityFieldName": "value"
			}
			]
			}
			],
			"customerId": "GB0010001-192548",
			"partyId": "1489740835",
			"serviceId": "ODMS"
			}
			}
		}

Field Name
|
Application/Table name

Temenos Headquarters SA
2 Rue de l'Ecole-de-Chimie
CH - 1205 Geneva
Switzerland

Copyright © 2020- Temenos Headquarters SA

Published on :
Tuesday, May 23, 2023 9:31:48 PM IST