Unveiling the Intricacies of Data Privacy: A Tale of Technology, Trust, and Transformation

Payal Choudhary
Walmart Global Tech Blog
7 min readJul 11, 2024

Co-author : Govind Saria

Introduction

In today’s digital age, the protection of personal data has become more crucial than ever. As technology continues to advance and permeate every aspect of our lives, it has brought with it so many challenges and complexities in ensuring data privacy. This article aims to unravel the intricacies of data privacy, focusing specifically on the techniques and strategies employed to ensure anonymization.

Image generated using Microsoft’s Copilot

We will explore the challenges faced in preserving individuals’ identities while still extracting valuable insights from the data. Join me on a journey to discover the transformative power of anonymization, the technology behind it, and the trust it builds between organizations and individuals. From pseudonymization to differential privacy, this tale will shed light on the cutting-edge techniques that are reshaping the landscape of data privacy, enabling us to unlock the full potential of data while safeguarding personal information.

Deep Dive into Data Anonymization Techniques

Anonymization refers to the process of removing personally identifiable information from data sets, so that the individuals whom the data describes remain anonymous. This method is necessary to protect privacy and prevent breaches of data security. Even seemingly innocuous details like age and gender can be used to narrow down a person’s identity when combined with other data. Personal Identifiable Information (PII) is any information that can be used to identify an individual. This may include direct PII like name, social security number, or address, and indirect PII like race, religion, or date of birth, which may not identify an individual on their own but can do so when combined with other information.

Let’s explore various data anonymization techniques, their applications, and implications:

Assume you have the following dataset:

+----------+-----+--------+--------------------+--------+------------+------+
| Name | Age | Gender | Email | Salary | CreditCard | SecurityNo |
+----------+-----+--------+--------------------+--------+------------+------+
| Alice | 25 | F | alice@email.com | 50000 | 9753 | A12T6 |
| Bob | 31 | M | bob@email.com | 60000 | 1123 | B76RT |
| Carol | 29 | F | carol@email.com | 55000 | 6498 | CFG89 |
| David | 38 | M | david@email.com | 63000 | 6784 | PS97A |
+----------+-----+--------+--------------------+--------+------------+------+

* This is a dummy data and in no way reflects any real information

1. Data Masking

This involves replacing sensitive information with fictitious or generalized values. It’s useful for maintaining the format and structure of data while ensuring privacy.

In the above example, the ‘Email’ column would have been replaced with a generic email address like ‘xxxxx@xxxx.com’, masking the actual email addresses.

def mask_email(email):
prefix, domain = email.split('@')
return '****@' + domain
df['Email'] = df['Email'].apply(mask_email)

This gives us the output:

2. Generalization

Here, specific data points are replaced with broader categories. For instance, instead of precise ages, age ranges might be used, or the column could be generalized to broader categories (e.g., 20s, 30s) instead of specific ages.

def generalize_age(age):
return age // 10 * 10
df['Age'] = df['Age'].apply(generalize_age)
print(df)

This gives us lower bound of the age range (assume the bucket size = 10).
Notice how the age range for Alice has changed from 25 to 20 and for David it has changed from 38 to 30

3. K-anonymity

This technique ensures that individual records cannot be distinguished from at least k-1 other records, providing a higher level of privacy.

Attributes are suppressed or generalized until each row is identical with at least k-1 other rows. In the above example. if we drop the columns Name, Salary, Creditcard and Social Security, it will leave us with:

Notice how the first and 3rd column are identical and the 2nd and 4th columns are same. Thus, every record is similar to at least 1 other row. Hence anonymity: k = 2

4. Data Swapping (Perturbation)

It involves exchanging data values between records to maintain confidentiality. This technique preserves data patterns and relationships while reducing the risk of re-identification.

For the original dataframe, let us run the following:

def swap_credit_cards(series):
return series.sample(frac=1).reset_index(drop=True)
df['Credit Card'] = swap_credit_cards(df['Credit Card'])
print(df)

This code swaps the credit cards for the records, ensuring the records are not identifiable with their credit cards.

This means that even if someone tried to identify a person based on their credit card number in the dataset, they would get incorrect information, thereby preserving the privacy and confidentiality of the individuals in the dataset.

This helps retain the overall patterns and relationships in the data for analytical purposes (say if this data was leaked outside, and you wanted to analyze if there’s any pattern in the last four digits of the credit cards of customers who faced this data breach).

5. Differential Privacy

Differential Privacy is a mathematical framework that adds controlled noise to data queries, preventing the disclosure of individual information. It enables statistical analysis while preserving privacy and minimizing the risk of data breaches.

For example, some noise could be added to the Salary column making it difficult to deduce the exact salary of any individual

def add_noise(series, epsilon=1):
laplace_noise = np.random.laplace(0, 100/epsilon, len(series))
return series + laplace_noise
df['Salary'] = add_noise(df['Salary'])
print(df)

This adds random noise to the salary column. Have a look at the output:

6. Data Deletion (Redaction)

Removal of sensitive information from a dataset. By eliminating specific data points or entire records, redaction ensures that sensitive data remains confidential and inaccessible.

Simply drop the Social Security Column:

df.drop(columns = ['SocialSecurity'], axis=0)

7. Pseudonymization

Pseudonymization replaces personally identifiable information (PII) with artificial identifiers or pseudonyms. This process secures sensitive data while allowing for continued data analysis and processing, without revealing individual

import hashlib
def pseudonymize(data):
hasher = hashlib.sha256()
hasher.update(data.encode('utf-8'))
return hasher.hexdigest()
for i in range(0,len(df)):
df['Name'][i] = pseudonymize(df['Name'][i])
df['Email'][i] = pseudonymize(df['Email'][i])
print(df)

Look at the output. The name and email columns have been pseudo-anonymized.

While data anonymization techniques undoubtedly play a critical role in safeguarding privacy, it is crucial to remember that privacy preservation should extend beyond data to include models as well. Models, just like data, can reveal sensitive information if not appropriately handled. Indeed, even when data is anonymized, models trained on such data can sometimes be reverse engineered to expose private details. Therefore, it is essential to develop and employ privacy-preserving models to ensure comprehensive privacy protection.

The focus is thus not only on what data is collected and how it is anonymized, but also on how the data is utilized and how the models process it. Here are some of the models which enable you to preserve privacy:

  1. Differential Privacy is a system that obscures the presence of an individual within a dataset by adding a calculated amount of statistical noise, ensuring the privacy of individual data points. This strategy provides robust privacy guarantees and prevents the disclosure of sensitive information. It is widely employed in census data, where it is crucial to provide aggregate statistics without revealing individual-level information.
  2. Homomorphic Encryption is a form of encryption allowing one to perform calculations on encrypted data without decrypting it first. This method is beneficial in privacy-preserving computations, as it allows data to remain secure while still being useful for computations in its encrypted state. It finds applications in cloud computing where it allows data to be processed without revealing it to the service provider.
  3. Secure Multi-party Computation is a cryptographic protocol that enables multiple parties to compute a function over their inputs while keeping those inputs private. This method is advantageous in scenarios where sharing raw data is not desirable or legally permissible, yet collaboration is needed for computation. It is crucial in financial services where multiple institutions need to collaborate without revealing sensitive data to each other.
  4. Federated Learning is a machine learning approach where a model is trained across multiple decentralized edge devices or servers holding local data samples. It eliminates the need to share raw data, thus maintaining data privacy while still allowing for collaborative learning and model building. It is widely used in healthcare, where patient data privacy is paramount. Hospitals can collaboratively train models on patient data without sharing the data itself, improving overall patient care

In conclusion, the exploration of data anonymization techniques and Privacy-Preserving Machine Learning (PPML) models has underlined the critical importance of data privacy. As data scientists, we must uphold this responsibility at every stage of our work, from data collection to analysis. Ensuring privacy is not merely a technical necessity but a fundamental ethical obligation that contributes to building a secure, trustworthy data ecosystem. This commitment to privacy serves as a cornerstone of our profession, fostering trust and ensuring the responsible use of data. The future of data science lies not only in exploring new frontiers but also in strengthening the trust and confidence in the data we handle.

References:

[1] https://ieeexplore.ieee.org/abstract/document/8819477

[2] https://arxiv.org/abs/2108.04417

[3] https://policies.google.com/technologies/anonymization?hl=en-US

--

--