Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Repository files navigation

Recitals Logo

Recitals Anonymization Manager

Privacy-preserving data anonymization toolkit for research and analysis

Overview

RECITALS Anonymization Manager is a privacy-preserving data anonymization toolkit that supports key techniques such as k-anonymity, l-diversity and t-closeness. It enables users to protect sensitive information in datasets while maintaining data utility.

The toolkit is designed to simplify the anonymization process by providing reusable templates, allowing users to easily apply privacy transformations without manually configuring complex rules. This makes it suitable for researchers and developers who need fast, consistent, and reliable data anonymization workflows.

Supported Techniques

  • k-anonymity: Ensures that each record is indistinguishable from at least k-1 other records with repsect to identifying/quasi-identifying attributes, reducing the risk of re-identification.
  • l-diversity: Extends k-anonymity by ensuring that sensitive attributes within each group have at least l well-represented values.
  • t-closeness: Strengthens privacy further by requiring that the distribution of sensitive attributes in each group is within a threshold t of the overall dataset distribution.

Functionalities

Dependencies

The Anonymization Manager leverages two core libraries to anonymize data by applying privacy preserving techniques.

Core Libraries

ARX Logo
ARX Anonymization Tool

ARX is a comprehensive open source software for anonymizing sensitive data.

ARX Logo
Anjana

Anjana is an open source Python library for anonymizing sensitive data.

Python Infrastructure

The manager leverages a modern Python stack for performance and reliability:

  • Pydantic: Data validation and settings management.
  • Pandas: High-performance data structures and analysis.
  • JPype: Integration bridge between Python and the ARX Java backend.
  • Pytest: Automated testing and quality assurance.

Installation

  1. Install uv package/project manager

  2. Install project's dependencies

    uv sync --all-extras --group dev
    

Examples & Testing

Testing

We use pytest to ensure correctness of the Anonymization Manager.

To run the tests in your local environment, use the following command:

# Execute the test suite with uv
uv run pytest

Examples

Detailed workflow examples can be found in the /examples directory.

To execute an example script, use the following command:

# Execute the my_script example with uv
uv run examples/my_script.py

Contributors

Name
Dimitrios Pavlou

Research Assistant
Name
Konstantinos Chousos

Research Assistant
Name
George Stamoulis

Research Associate

Funding

This project has received funding from the European Union’s Horizon Europe research and innovation programme under grant agreement No.101168490. The European Commision authority managing RECITALS project is the European Cybersecurity Competence Center.

European Union Flag

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages