ERASURE: Redefining Privacy Through Selective Machine Unlearning
Python
24
295 commits
updated Jan 14, 2026

ERASURE was accepted as IJCAI demo and CIKM resource!
If you use this Machine Unlearning framework, please cite us:
@inproceedings{ijcai2025p1255, title = {How to Make Reproducible Research in Machine Unlearning with ERASURE}, author = {D'Angelo, Andrea and Savelli, Claudio and Tagliente, Gabriele and Giobergia, Flavio and Baralis, Elena and Stilo, Giovanni}, booktitle = {Proceedings of the Thirty-Fourth International Joint Conference on Artificial Intelligence, {IJCAI-25}}, publisher = {International Joint Conferences on Artificial Intelligence Organization}, editor = {James Kwok}, pages = {11025--11029}, year = {2025}, month = {8}, note = {Demo Track}, doi = {10.24963/ijcai.2025/1255}, url = {https://doi.org/10.24963/ijcai.2025/1255}, }
@inproceedings{10.1145/3746252.3761627, author = {D'Angelo, Andrea and Savelli, Claudio and Tagliente, Gabriele and Giobergia, Flavio and Baralis, Elena and Stilo, Giovanni}, title = {ERASURE: A Modular and Extensible Framework for Machine Unlearning}, year = {2025}, isbn = {9798400720406}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3746252.3761627}, doi = {10.1145/3746252.3761627}, booktitle = {Proceedings of the 34th ACM International Conference on Information and Knowledge Management}, pages = {6346–6350}, numpages = {5}, keywords = {benchmark, evaluation framework, machine unlearning}, location = {Seoul, Republic of Korea}, series = {CIKM '25} }
ERASURE offers fully extensible built-in components, allowing users to define custom unlearning techniques, integrate custom and synthetic datasets, implement tailored evaluation metrics, and meld seamlessly with state-of-the-art machine learning models. Additionally, it provides a flexible environment for defining and running unlearning experiments, enabling researchers to evaluate the effectiveness and efficiency of various unlearning methods systematically.
The framework is inside the erasure folder. A JSON configuration file is everything ERASURE needs to run.
You can find examples of configurations in the config folder. Specifically, example.jsonc and proof_of_concept.jsonc are simple configurations designed as a starting point.
You can find a step-by-step guide on how to use ERASURE in our IJCAI demo paper: https://www.ijcai.org/proceedings/2025/1255
You may also find the presentation in the guide folder useful to implement your methods in the ERASURE framework.
git clone https://github.com/aiim-research/ERASURE.git
cd ERASURE
pip install -r requirements.txt
To run an experiment, you just have to run:
foo@bar:~$ python main.py configs/example.jsonc
in your terminal, given that you have dependencies installed.
You can quickly implement any Dataset you like in ERASURE. At the moment, ERASURE has built-in DataSource classes for the following sources:
Developing your own custom Unlearner in ERASURE is easy.
However, benchmarking your Unlearner in an unified environment is just as important. Right now, ERASURE comes built-in with the following Unlearners:
Prof. Giovanni Stilo, PhD. [project leader/research advisor]
Flavio Giobergia, PhD. [research advisor]
Andrea D'Angelo [investigator]
Claudio Savelli [investigator]
Gabriele Tagliente [pivotal contributor]
Keywords: ERASURE, Machine Unlearning, Privacy, Unlearning, IJCAI, CIKM
ERASURE: Redefining Privacy Through Selective Machine Unlearning
Python
24
295 commits
updated Jan 14, 2026

ERASURE was accepted as IJCAI demo and CIKM resource!
If you use this Machine Unlearning framework, please cite us:
@inproceedings{ijcai2025p1255, title = {How to Make Reproducible Research in Machine Unlearning with ERASURE}, author = {D'Angelo, Andrea and Savelli, Claudio and Tagliente, Gabriele and Giobergia, Flavio and Baralis, Elena and Stilo, Giovanni}, booktitle = {Proceedings of the Thirty-Fourth International Joint Conference on Artificial Intelligence, {IJCAI-25}}, publisher = {International Joint Conferences on Artificial Intelligence Organization}, editor = {James Kwok}, pages = {11025--11029}, year = {2025}, month = {8}, note = {Demo Track}, doi = {10.24963/ijcai.2025/1255}, url = {https://doi.org/10.24963/ijcai.2025/1255}, }
@inproceedings{10.1145/3746252.3761627, author = {D'Angelo, Andrea and Savelli, Claudio and Tagliente, Gabriele and Giobergia, Flavio and Baralis, Elena and Stilo, Giovanni}, title = {ERASURE: A Modular and Extensible Framework for Machine Unlearning}, year = {2025}, isbn = {9798400720406}, publisher = {Association for Computing Machinery}, address = {New York, NY, USA}, url = {https://doi.org/10.1145/3746252.3761627}, doi = {10.1145/3746252.3761627}, booktitle = {Proceedings of the 34th ACM International Conference on Information and Knowledge Management}, pages = {6346–6350}, numpages = {5}, keywords = {benchmark, evaluation framework, machine unlearning}, location = {Seoul, Republic of Korea}, series = {CIKM '25} }
ERASURE offers fully extensible built-in components, allowing users to define custom unlearning techniques, integrate custom and synthetic datasets, implement tailored evaluation metrics, and meld seamlessly with state-of-the-art machine learning models. Additionally, it provides a flexible environment for defining and running unlearning experiments, enabling researchers to evaluate the effectiveness and efficiency of various unlearning methods systematically.
The framework is inside the erasure folder. A JSON configuration file is everything ERASURE needs to run.
You can find examples of configurations in the config folder. Specifically, example.jsonc and proof_of_concept.jsonc are simple configurations designed as a starting point.
You can find a step-by-step guide on how to use ERASURE in our IJCAI demo paper: https://www.ijcai.org/proceedings/2025/1255
You may also find the presentation in the guide folder useful to implement your methods in the ERASURE framework.
git clone https://github.com/aiim-research/ERASURE.git
cd ERASURE
pip install -r requirements.txt
To run an experiment, you just have to run:
foo@bar:~$ python main.py configs/example.jsonc
in your terminal, given that you have dependencies installed.
You can quickly implement any Dataset you like in ERASURE. At the moment, ERASURE has built-in DataSource classes for the following sources:
Developing your own custom Unlearner in ERASURE is easy.
However, benchmarking your Unlearner in an unified environment is just as important. Right now, ERASURE comes built-in with the following Unlearners:
Prof. Giovanni Stilo, PhD. [project leader/research advisor]
Flavio Giobergia, PhD. [research advisor]
Andrea D'Angelo [investigator]
Claudio Savelli [investigator]
Gabriele Tagliente [pivotal contributor]
Keywords: ERASURE, Machine Unlearning, Privacy, Unlearning, IJCAI, CIKM