Skip to content
Anonymisation of Sensitive Data in Public Documents
Python HTML JavaScript Other
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
anonymizer Add default ofile name to find_entities() Aug 26, 2019
bin Add anonymizer as module Jun 6, 2019
dist Upload package Aug 24, 2019
example_images/web-gui Add example images Aug 24, 2019
libreoffice-extension Add libreoffice requirments, minor fix Aug 27, 2019
.gitignore Upload package Aug 24, 2019
LICENSE Add license Aug 15, 2019 Update Aug 25, 2019
requirements.txt Update django version Aug 25, 2019
requirements_as_package.txt Add requirements for package Aug 25, 2019
requirements_libreoffice.txt Add libreoffice requirments, minor fix Aug 27, 2019 Upload package Aug 24, 2019

Google Summer Of Code 2019 ☀️

Anonymisation Through Data Encryption of Sensitive Data in ODT and Text Files in Greek Language

Problem Statement

Over the past year, great importance has been attached to information anonymisation from governments all around the world. The GDPR defines pseudonymization and the processing of personal data in such a way that the data can no longer be attributed to a specific data subject without the use of additional information. Although the GDPR has been implemented since 2018 no reliable infrastructure exists in Greece to encrypt sensitive documents. It is therefore necessary to develop a product specifically for users of the Greek language that can safely and promptly anonymize their data in order for it to abide to the GDPR.


I propose the creation of a LibreOffice extension as well as a web GUI that will anonymize information in any legal document given. All sensitive information should be easily anonymized through this open-source tool.

On the subject of the creation of the anonymizer I suggest the following metrics. First of all, given any document the anonymizer should encrypt any greek entity in the file from a standard token vocabulary set. The user will be able to add specific arguments for entities to be anonymized (in addition to the standard ones) and he will be given the option to choose for an additional encryption. I believe that the LibreOffice extension as well as the web GUI should be user-friendly so customizable technologies should be used.


An extended documentation has been written to wiki pages in order the service to be understandable and maintainable.

Technologies used

Anonymizer Service

The anonymizer service uses the following libraries: argparse, json, termcolor.


The web GUI uses the following libraries: django, bootstrap, requests, crispy-forms, django-form-utils.

LibreOffice Extension

The libreoffice extension uses the following libraries: uno, json, pynput.

Future work

  • Improvements in user interface.

  • Extending Web GUI, so that it can be hosted in VM and serve multiple clients at the same time.

  • Creating API.

  • Machine learning techniques to identify sensitive information in text.

  • Resolving any open issues.

For more information you can visit future work in wiki pages.

Final Report Gist

You can find the final report here.


  • Google Summer of Code participant: Dimitrios Katsiros

  • Mentor: Kostas Papadimas

  • Mentor: Panos Louridas

  • Mentor: Iraklis Varlamis

  • Organization: GFOSS


This project is open source as a part of the Google Summer of Code Program. Here, the MIT license is adopted. For more information see LICENSE.

You can’t perform that action at this time.