diff --git a/api/funkwhale_api/users/admin.py b/api/funkwhale_api/users/admin.py
index 89b67d3df96de05b9ffd8fff9ce027f67f101318..c772603e9efdd015abe57f08a4b69a1c8f0c8274 100644
--- a/api/funkwhale_api/users/admin.py
+++ b/api/funkwhale_api/users/admin.py
@@ -5,6 +5,7 @@ from django import forms
 from django.contrib import admin
 from django.contrib.auth.admin import UserAdmin as AuthUserAdmin
 from django.contrib.auth.forms import UserChangeForm, UserCreationForm
+from django.utils.translation import ugettext_lazy as _
 
 from .models import User
 
@@ -41,8 +42,22 @@ class UserAdmin(AuthUserAdmin):
         'email',
         'date_joined',
         'last_login',
-        'privacy_level',
+        'is_staff',
+        'is_superuser',
     ]
     list_filter = [
+        'is_superuser',
+        'is_staff',
         'privacy_level',
+        'permission_settings',
+        'permission_library',
+        'permission_federation',
     ]
+
+    fieldsets = (
+        (None, {'fields': ('username', 'password', 'privacy_level')}),
+        (_('Personal info'), {'fields': ('first_name', 'last_name', 'email')}),
+        (_('Permissions'), {'fields': ('is_active', 'is_staff', 'is_superuser',
+                                       'permission_library', 'permission_settings', 'permission_federation')}),
+        (_('Important dates'), {'fields': ('last_login', 'date_joined')}),
+    )
diff --git a/api/funkwhale_api/users/models.py b/api/funkwhale_api/users/models.py
index 1de23092aedcb1063da2f970a0b6820610732c94..c16cd62b319c01d4a9f1802c531d279f0ef802ed 100644
--- a/api/funkwhale_api/users/models.py
+++ b/api/funkwhale_api/users/models.py
@@ -46,9 +46,17 @@ class User(AbstractUser):
         blank=True, null=True, max_length=255)
 
     # permissions
-    permission_federation = models.BooleanField(default=False)
-    permission_library = models.BooleanField(default=False)
-    permission_settings = models.BooleanField(default=False)
+    permission_federation = models.BooleanField(
+        'Manage library federation',
+        help_text='Follow other instances, accept/deny library follow requests...',
+        default=False)
+    permission_library = models.BooleanField(
+        'Manage library',
+        help_text='Import new content, manage existing content',
+        default=False)
+    permission_settings = models.BooleanField(
+        'Manage instance-level settings',
+        default=False)
 
     def __str__(self):
         return self.username