Skip to content
Tools to help manage user data in the age of GDPR
Python HTML
Branch: develop
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
docs Correct manual privacymeta registration docs Nov 2, 2018
example Bump django version in example project Oct 6, 2018
gdpr_assist Fix flake8 Oct 23, 2018
tests Fix flake8 Oct 23, 2018
.gitignore Initial release Aug 28, 2018
.travis.yml Fix Travis Sep 16, 2018
LICENSE Initial release Aug 28, 2018 Initial release Aug 28, 2018
README.rst Update version to 1.0.1 Oct 23, 2018
setup.cfg Initial release Aug 28, 2018 Hardcode version into Oct 23, 2018
tox.ini Fix Travis tests Sep 16, 2018



Tools to help manage your users' data in the age of GDPR


  • Find, export and anonymise personal data to comply with GDPR requests
  • Track anonymisation and deletion of personal data to replay after restoring backups
  • Anonymise all models to sanitise working copies of a production database

Supports Django 1.8 to 2.1, on Python 2.7 and 3.4+.

See the full documentation for details of how GDPR-assist works; in particular:

  • Installation - how to install
  • Usage - overview of how to use it with your project
  • Upgrading - what has changed from previous versions and how to upgrade
  • Contributing - how to contribute to the project


Install with pip install django-gdpr-assist, add gdpr_assist to Django's INSTALLED_APPS and add a gdpr_log definition to DATABASES.

Then start adding privacy metadata to your models:

class Comment(models.Model):
    name = models.CharField(max_length=255, blank=True)
    age = models.IntegerField(null=True, blank=True)
    message = models.TextField()

    class PrivacyMeta:
        fields = ['name', 'age']
        search_fields = ['name']
        export_fields = ['name', 'age', 'message']

This will allow you to anonymise and export data in this model using the standard gdpr-assist admin tool. You can also configure anonymisation or deletion of a related model to trigger anonymisation of your model, and can manually register a PrivacyMeta for third-party models without modifying their code.

Anonymisation and deletion events for models registered with gdpr-assist are logged for replay after a backup restoration with the gdpr_rerun management command. When you need to work with a copy of the production data, there is also the anonymise_db command, which will anonymise the whole database.

You can’t perform that action at this time.