aiim-research/ERASURE

ERASURE: Redefining Privacy Through Selective Machine Unlearning

Python

24

295 commits

updated Jan 14, 2026

See the code

README

ERASURE

Redefining Privacy Through Selective Machine Unlearning

ERASURE Logo

Star us on GitHub

ERASURE: Open-source framework for selective machine unlearning

License Last Commit

📝 Citation

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} }

📜 Table of Contents

📘 General Information

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.

🧭 Guide

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.

⚙️ Installation

git clone https://github.com/aiim-research/ERASURE.git
cd ERASURE
pip install -r requirements.txt

🧪 Example Workflow

worfklow

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.

📊 Resources Provided with the Framework

🗂️ Datasets

You can quickly implement any Dataset you like in ERASURE. At the moment, ERASURE has built-in DataSource classes for the following sources:

Static Badge

Static Badge

Static Badge

Static Badge

🧩 Built-in Unlearners

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:

Static BadgeStatic BadgeStatic Badge
Static BadgeStatic BadgeStatic Badge
Static BadgeStatic BadgeStatic Badge
Static BadgeStatic BadgeStatic Badge
Static Badge

Team Information:

  • Prof. Giovanni Stilo, PhD. [project leader/research advisor]

  • Flavio Giobergia, PhD. [research advisor]

  • Andrea D'Angelo [investigator]

  • Claudio Savelli [investigator]

  • Gabriele Tagliente [pivotal contributor]

  • https://aiimlab.org/


Keywords: ERASURE, Machine Unlearning, Privacy, Unlearning, IJCAI, CIKM

benchmark
erasure
machine-unlearning
machine-unlearning-framework
privacy
reproducibility
unlearning
unlearning-framework

aiim-research/ERASURE

ERASURE: Redefining Privacy Through Selective Machine Unlearning

Python

24

295 commits

updated Jan 14, 2026

See the code

README

ERASURE

Redefining Privacy Through Selective Machine Unlearning

ERASURE Logo

Star us on GitHub

ERASURE: Open-source framework for selective machine unlearning

License Last Commit

📝 Citation

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} }

📜 Table of Contents

📘 General Information

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.

🧭 Guide

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.

⚙️ Installation

git clone https://github.com/aiim-research/ERASURE.git
cd ERASURE
pip install -r requirements.txt

🧪 Example Workflow

worfklow

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.

📊 Resources Provided with the Framework

🗂️ Datasets

You can quickly implement any Dataset you like in ERASURE. At the moment, ERASURE has built-in DataSource classes for the following sources:

Static Badge

Static Badge

Static Badge

Static Badge

🧩 Built-in Unlearners

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:

Static BadgeStatic BadgeStatic Badge
Static BadgeStatic BadgeStatic Badge
Static BadgeStatic BadgeStatic Badge
Static BadgeStatic BadgeStatic Badge
Static Badge

Team Information:

  • Prof. Giovanni Stilo, PhD. [project leader/research advisor]

  • Flavio Giobergia, PhD. [research advisor]

  • Andrea D'Angelo [investigator]

  • Claudio Savelli [investigator]

  • Gabriele Tagliente [pivotal contributor]

  • https://aiimlab.org/


Keywords: ERASURE, Machine Unlearning, Privacy, Unlearning, IJCAI, CIKM

benchmark
erasure
machine-unlearning
machine-unlearning-framework
privacy
reproducibility
unlearning
unlearning-framework