diff --git a/biscuit/core/anonymizers.py b/biscuit/core/anonymizers.py
new file mode 100644
index 0000000000000000000000000000000000000000..d881584bbcefcb2b35fe220d29b9c06559e89783
--- /dev/null
+++ b/biscuit/core/anonymizers.py
@@ -0,0 +1,23 @@
+from hattori.base import BaseAnonymizer, faker
+
+from .models import Person
+
+
+class PersonAnonymizer(BaseAnonymizer):
+    model = Person
+
+    attributes = [
+        ('first_name', faker.first_name),
+        ('last_name', faker.last_name),
+        ('additional_name', ''),
+        ('short_name', lambda **kwargs: faker.pystr(min_chars=2, max_chars=4, **kwargs)),
+        ('street', faker.street_name),
+        ('housenumber', faker.building_number),
+        ('postal_code', faker.postalcode),
+        ('place', faker.city),
+        ('phone_number', faker.phone_number),
+        ('mobile_number', ''),
+        ('email', faker.email),
+        ('date_of_birth', lambda **kwargs: faker.date_of_birth(minimum_age=8, maximum_age=66, **kwargs)),
+        ('photo', '')
+    ]
diff --git a/biscuit/core/settings.py b/biscuit/core/settings.py
index 8f52d0733164333a70f5a70ea1d22967098c9fe7..72900c31913f8d8cc15268c5ffe1fd30c4668ca5 100644
--- a/biscuit/core/settings.py
+++ b/biscuit/core/settings.py
@@ -65,6 +65,7 @@ INSTALLED_APPS = [
     'debug_toolbar',
     'contact_form',
     'django_select2',
+    'hattori',
     'biscuit.core',
     'impersonate',
 ]
@@ -314,4 +315,6 @@ CRON_CLASSES = [
     'biscuit.core.cronjobs.Backup'
 ]
 
+ANONYMIZE_ENABLED = _settings.get('maintenance.anonymisable', True)
+
 _settings.populate_obj(sys.modules[__name__])
diff --git a/pyproject.toml b/pyproject.toml
index 1b7d35d177763d9b844a62021b37d084478fbfe4..1e5126079389aa131d11ffb187f608ade4c915cb 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -46,6 +46,7 @@ django-impersonate = "^1.4"
 python-memcached = "^1.59"
 django-dbbackup = "^3.2"
 django-cron = "^0.5.1"
+django-hattori = "^0.2"
 
 [tool.poetry.extras]
 ldap = ["django-auth-ldap"]