Expand my Community achievements bar.

SOLVED

Masking attribute while creating schema for data display

Avatar

Level 2

Hello Folks,

I have a specific requirement: I need to mask the mobile numbers for visibility purposes. When viewing the data, only the last 4 digits should be visible to the user in the mobile number column. However, at the backend, the mobile number column must contain the complete 10-digit value. This full mobile number is essential for triggering communications to our customers.

Is there a way to configure this setup? Please provide guidance on how to achieve this requirement.

Thank you in advance!

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello @AnkitaV3131 ,

There is feature called Restrict PII View in adobe campaign.

 

<srcSchema desc="Recipient table (profiles" entitySchema="xtk:srcSchema" extendedSchema="nms:recipient"
           img="nms:recipient.png" label="Recipients" labelSingular="Recipient"
           name="recipient" namespace="sec" xtkschema="xtk:srcSchema">
  <element desc="Recipient table (profiles" img="nms:recipient.png" label="Recipients"
           labelSingular="Recipient" name="recipient">
    <attribute name="firstName" accessibleIf="$(login)=='admin'"/>
    <attribute name="lastName" visibleIf="$(login)=='admin'"/>
    <attribute name="email" accessibleIf="$(login)=='admin'"/>
  </element>
</srcSchema>



But when you are bit of technical user you are able to view hidden fields with this feature.

 

Marcel Szimonisz

View solution in original post

12 Replies

Avatar

Correct answer by
Community Advisor

Hello @AnkitaV3131 ,

There is feature called Restrict PII View in adobe campaign.

 

<srcSchema desc="Recipient table (profiles" entitySchema="xtk:srcSchema" extendedSchema="nms:recipient"
           img="nms:recipient.png" label="Recipients" labelSingular="Recipient"
           name="recipient" namespace="sec" xtkschema="xtk:srcSchema">
  <element desc="Recipient table (profiles" img="nms:recipient.png" label="Recipients"
           labelSingular="Recipient" name="recipient">
    <attribute name="firstName" accessibleIf="$(login)=='admin'"/>
    <attribute name="lastName" visibleIf="$(login)=='admin'"/>
    <attribute name="email" accessibleIf="$(login)=='admin'"/>
  </element>
</srcSchema>



But when you are bit of technical user you are able to view hidden fields with this feature.

 

Marcel Szimonisz

Avatar

Level 2

Hello Marcel,

 

I want to clarify that my goal is not to hide the column or its data using visibleif or accessibleif. Instead, I aim to display a masked value to any user accessing the data schema. The crucial point is that, in the backend, the column must still contain the complete, unmasked 10-digit value for functional purposes.

Regards,
Ankita Vishe

Avatar

Community Advisor

Hello @AnkitaV3131, this is the masking as it gets in adobe campaign

what else you can do is to decrypt data and encrypt them during send.

 

Marcel

Avatar

Community Advisor

But all of above can be surpassed by slightly knowledgeable user.

Avatar

Level 2

Hi marcel,

I am storing the encrypted mobile number in the column using "SHA256 Digest" function. So, is there any function to decrypt the same column in the workflow. I am not able to find any function.

Avatar

Level 2

Hi marcel,

I have stored the encrypted mobile number in the column and now I want to decrypt that column in the workflow. I am not able to decrypt the value. As it throws an error of "Invalid AES Decrypt String".

Also, can you guide me for the private key generation . I have created the public key on control panel and then through online tool generated the private key that's why may be its throwing an error.

Regards,
Ankita Vishe

Avatar

Level 1

And why not hide the column with the full number, and then create a new one visible to all with the last 4 digits.

Or maybe I am missing something?

Avatar

Level 2

 

Actually, they want to perform the functions on the single column and not hide the column. Only the visibility should be masked value and the same column must be used to send communication or personalization with the whole value.

Is it possible to store the whole value in database and only visibility of the column can be masked??

Avatar

Community Advisor

Yes with above syntax, for users that has not right it will be "empty"

But you can still show the field when you create coumpound field like mobile+"" it will show the mobile number anyway.. so there is no masking except the above.. which is easily surpassed anyway

Marcel

Avatar

Community Advisor

Hi @AnkitaV3131 ,

 

Please try adding one more attribute in the Schema with the below syntax

 

<attribute expr="'XXXXXX'+ Substring([@msisdn],length(@msisdn)-3,4)" label="msisdnnew" name="msisdnnew" type="string"/>

 

Also, Please modify your existing mobile number attribute to below based on Visibility condition, so that this 10 digit mobile number will be visible only to admin user.

 

<attribute visibleIf="$(login)=='admin'" label="msisdn" name="msisdn" type="string"/>

 

This approach works when tried to do configure list in Schema / workflow level then the attribute wont be visible in drop down of selection of attributes in a query or other activities , but when tried to add an attribute manually (@msisdn) as an additional column, it will show the Data for non admin users also.

 

Regards,

Pravallika.

Avatar

Administrator

Hi @AnkitaV3131,

Were you able to resolve this query with the help of the given solutions or do you still need more help here? Do let us know. In case the given solutions were helpful, then kindly choose the one that helped you the most as the 'Correct Reply'.
Thanks!



Sukrity Wadhwa