Privacy-preserving data anonymization toolkit for research and analysis
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.
- 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.
The Anonymization Manager leverages two core libraries to anonymize data by applying privacy preserving techniques.
![]() ARX Anonymization Tool ARX is a comprehensive open source software for anonymizing sensitive data. |
![]() Anjana Anjana is an open source Python library for anonymizing sensitive data. |
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.
-
Install uv package/project manager
-
Install project's dependencies
uv sync --all-extras --group dev
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 pytestDetailed 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
![]() Dimitrios Pavlou Research Assistant |
![]() Konstantinos Chousos Research Assistant |
![]() George Stamoulis Research Associate |
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.






