diff --git a/src/api/serializers.py b/src/api/serializers.py
index f6a5ef970628ac7ce536c1bfb077dd660f40aad3..aa56d026e3d20cc78fe684addf6512f0281110e9 100644
--- a/src/api/serializers.py
+++ b/src/api/serializers.py
@@ -33,7 +33,7 @@ class ParameterisedHyperlinkedIdentityField(HyperlinkedIdentityField):
         self.lookup_fields = kwargs.pop('lookup_fields', self.lookup_fields)
         super().__init__(*args, **kwargs)
 
-    def get_url(self, obj, view_name, request, format):
+    def get_url(self, obj, view_name, request, format):  # pylint: disable=redefined-builtin
         """
         Given an object, return the URL that hyperlinks to the object.
 
diff --git a/src/api/views/__init__.py b/src/api/views/__init__.py
index 5758e553087046b1e6856d8ccf2cf742cca7f0c1..2e840c7ac53e1c48e7dd0ba2b1313f73c11e4a52 100644
--- a/src/api/views/__init__.py
+++ b/src/api/views/__init__.py
@@ -8,7 +8,7 @@ __all__ = [
 
 
 @api_view(['GET'])
-def api_root(request, format=None):
+def api_root(request, format=None):  # pylint: disable=redefined-builtin
     links = {
         'conference': {
             'info': reverse('api:conference-detail', request=request, format=format),
diff --git a/src/api/views/badges.py b/src/api/views/badges.py
index 066adb4786bbdfd7cf5d5aae67737a6cbc75aa57..41abd07579164cb59504dc3a6987da0cc723a88f 100644
--- a/src/api/views/badges.py
+++ b/src/api/views/badges.py
@@ -100,7 +100,7 @@ class RedeemBadgeMapTokenView(ConferenceSlugMixin, APIView):
 
         return super().initial(request, *args, **kwargs)
 
-    def post(self, request, *get, format=None, **kwargs):
+    def post(self, request, *get, format=None, **kwargs):  # pylint: disable=redefined-builtin
         if self.target_user is None or not self.target_user.is_in_conference(self.conference):
             return HttpResponse(status=404)
 
diff --git a/src/api/views/conferencemember.py b/src/api/views/conferencemember.py
index 795ea8136a6b837b0af8a299a3df92f47be6f6d1..29d3cc9d274899f6710f2c6ef9ebab8ea557e660 100644
--- a/src/api/views/conferencemember.py
+++ b/src/api/views/conferencemember.py
@@ -28,14 +28,14 @@ class AngelView(ConferenceSlugMixin, APIView):
 
         return super().initial(request, *args, **kwargs)
 
-    def get(self, request, *args, format=None, **kwargs):
+    def get(self, request, *args, format=None, **kwargs):  # pylint: disable=redefined-builtin
         data = {
             'active_angel': self.target.active_angel,
             'angel_types': self.target.roles,
         }
         return Response(data)
 
-    def post(self, request, *args, format=None, **kwargs):
+    def post(self, request, *args, format=None, **kwargs):  # pylint: disable=redefined-builtin
         data = request.data
 
         if 'active_angel' in data:
@@ -60,7 +60,7 @@ class WorkadventureView(ConferenceSlugMixin, APIView):
 
         return super().initial(request, *args, **kwargs)
 
-    def get(self, request, *args, format=None, **kwargs):
+    def get(self, request, *args, format=None, **kwargs):  # pylint: disable=redefined-builtin
         if self.target_user is None:
             return Response({'active': False}, status=status.HTTP_400_BAD_REQUEST)
 
@@ -74,7 +74,7 @@ class WorkadventureView(ConferenceSlugMixin, APIView):
         )
         return Response(result)
 
-    def post(self, request, *get, format=None, **kwargs):
+    def post(self, request, *get, format=None, **kwargs):  # pylint: disable=redefined-builtin
         if (u := self.target_user) is None:
             return Response({'error': 'No target user.'}, status=status.HTTP_400_BAD_REQUEST)
 
diff --git a/src/api/views/maps.py b/src/api/views/maps.py
index 41c83afe237adf4eea82e585cd31f9a987d96e5a..eba2387d775bb38af9f35b69c43c511dc70a6c03 100644
--- a/src/api/views/maps.py
+++ b/src/api/views/maps.py
@@ -59,7 +59,7 @@ class PoiExportView(ConferenceSlugMixin, APIView):
         return ConferenceExportCache.handle_http_request(
             request=request,
             conference=self.conference,
-            type=ConferenceExportCache.Type.MAP,
+            entry_type=ConferenceExportCache.Type.MAP,
             ident=cache_id,
             content_type='application/geo+json',
             result_func=lambda: json.dumps(self.get_geojson()),
@@ -113,7 +113,7 @@ class AssembliesExportView(ConferenceSlugMixin, APIView, metaclass=abc.ABCMeta):
         return ConferenceExportCache.handle_http_request(
             request=request,
             conference=self.conference,
-            type=ConferenceExportCache.Type.MAP,
+            entry_type=ConferenceExportCache.Type.MAP,
             ident=cache_id,
             content_type='application/geo+json',
             result_func=lambda: json.dumps(self.get_geojson()),
diff --git a/src/api/views/schedule.py b/src/api/views/schedule.py
index b728ff43977d803200de257ab8ea958ee3642aa4..31bc747186d3bb0be5aa07d57834a2241e6eb334 100644
--- a/src/api/views/schedule.py
+++ b/src/api/views/schedule.py
@@ -60,7 +60,7 @@ class BaseScheduleView(ConferenceSlugMixin, View):
         return ConferenceExportCache.handle_http_request(
             request=self.request,
             conference=self.conference,
-            type=ConferenceExportCache.Type.SCHEDULE,
+            entry_type=ConferenceExportCache.Type.SCHEDULE,
             ident=cache_id,
             content_type=lambda: 'application/json' if req_format == 'json' else 'text/xml',
             result_func=gen_data,
@@ -77,7 +77,7 @@ class ConferenceSchedule(BaseScheduleView):
     def get_cache_id(self, **kwargs):
         return ''
 
-    def get_events(self, filter=None, **kwargs):
+    def get_events(self, filter=None, **kwargs):  # pylint: disable=redefined-builtin
         queryset = (
             Event.objects.conference_accessible(conference=self.conference)
             .exclude(schedule_duration=None)
@@ -95,7 +95,7 @@ class AssemblySchedule(BaseScheduleView):
         assembly_id = self.request.resolver_match.kwargs.get('assembly')
         return f'assembly_{assembly_id}'
 
-    def get_events(self, filter=None):
+    def get_events(self, filter=None):  # pylint: disable=redefined-builtin
         assembly_id = self.request.resolver_match.kwargs.get('assembly')
         queryset = (
             Event.objects.conference_accessible(conference=self.conference)
@@ -113,7 +113,7 @@ class RoomSchedule(BaseScheduleView):
         room_id = self.request.resolver_match.kwargs.get('pk')
         return f'room-{room_id}'
 
-    def get_events(self, filter=None):
+    def get_events(self, filter=None):  # pylint: disable=redefined-builtin
         room_id = self.request.resolver_match.kwargs.get('pk')
         queryset = Event.objects.conference_accessible(conference=self.conference).filter(room_id=room_id).order_by('schedule_start')
         if filter:
@@ -126,11 +126,11 @@ class EventSchedule(ConferenceSlugMixin, APIView):
     authentication_classes = [authentication.TokenAuthentication]
     permission_classes = [IsApiUserOrReadOnly]
 
-    def get(self, request, pk, format=None, **kwargs):
+    def get(self, request, pk, format=None, **kwargs):  # pylint: disable=redefined-builtin
         event = Event.objects.associated_with_user(conference=self.conference, user=self.request.user, show_public=True).get(pk=pk)
         return Response(ScheduleEncoder().encode_event(event, self.conference.timezone))
 
-    def post(self, request, pk, format=None, **kwargs):
+    def post(self, request, pk, format=None, **kwargs):  # pylint: disable=redefined-builtin
         event = request.data
         if len(event) == 0:
             return Response({'error': 'No data.'}, status=400)
diff --git a/src/api/views/users.py b/src/api/views/users.py
index 371269fc96912613a7b18e92e41b891c5a40ac89..b210f908e88bb8961264432640153ea5c08b087d 100644
--- a/src/api/views/users.py
+++ b/src/api/views/users.py
@@ -18,7 +18,7 @@ from api.serializers import UserTimelineEntrySerializer
 
 
 @api_view(['GET'])
-def profile(request, format=None):
+def profile(request, format=None):  # pylint: disable=redefined-builtin
     u = request.user
 
     if not u.is_authenticated:
@@ -34,7 +34,7 @@ def profile(request, format=None):
 
 
 @api_view(['GET'])
-def friends(request, format=None):
+def friends(request, format=None):  # pylint: disable=redefined-builtin
     u = request.user
     if not u.is_authenticated:
         return Response([])
@@ -55,7 +55,7 @@ def friends(request, format=None):
 
 
 @api_view(['GET'])
-def badges(request, format=None):
+def badges(request, format=None):  # pylint: disable=redefined-builtin
     u = request.user
     if not u.is_authenticated:
         return Response([])
diff --git a/src/api/views/workadventure.py b/src/api/views/workadventure.py
index 4cc556758e114dd6822c9550e632c5115431ddd5..3b47e5cb6e43a7e00ab41dd449e546e6ef1a18c0 100644
--- a/src/api/views/workadventure.py
+++ b/src/api/views/workadventure.py
@@ -72,7 +72,7 @@ class MapServiceView(ConferenceSlugMixin, APIView):
     permission_classes = [IsConferenceService | IsSuperUser]
     required_service_classes = ['wa_mapservice']
 
-    def get(self, request, format=None):
+    def get(self, request, format=None):  # pylint: disable=redefined-builtin
         wa_rooms = []
         for room in Room.objects.filter(conference=self.conference, room_type=Room.RoomType.WORKADVENTURE).select_related('assembly'):
             if room.assembly is not None and room.assembly.state_assembly not in Assembly.PUBLIC_STATES:
@@ -82,7 +82,7 @@ class MapServiceView(ConferenceSlugMixin, APIView):
 
         return Response(wa_rooms)
 
-    def put(self, request, format=None):
+    def put(self, request, format=None):  # pylint: disable=redefined-builtin
         data = request.data
 
         status_code, response = self.handle_mapservice_push_request(self.conference, data)
@@ -272,7 +272,7 @@ class MapDetailView(ConferenceSlugMixin, APIView):
     permission_classes = [IsConferenceService | IsSuperUser]
     required_service_classes = ['wa_mapservice', 'wa_backend']
 
-    def get(self, request, conference, assembly, world, room=None, format=None):
+    def get(self, request, conference, assembly, world, room=None, format=None):  # pylint: disable=redefined-builtin
         a = self.conference.assemblies.get(slug=assembly)
 
         wa_room = a.rooms.get(room_type=Room.RoomType.WORKADVENTURE)  # TODO:, slug=world)
@@ -305,7 +305,7 @@ class UserInfoView(ConferenceSlugMixin, APIView):
     permission_classes = [IsConferenceService | IsSuperUser]
     required_service_classes = ['wa_backend']
 
-    def get(self, request, conference, uid, format=None):
+    def get(self, request, conference, uid, format=None):  # pylint: disable=redefined-builtin
         try:
             wa_session = WorkadventureSession.objects.get(conference=self.conference, pk=uid)
         except WorkadventureSession.DoesNotExist:
@@ -313,7 +313,7 @@ class UserInfoView(ConferenceSlugMixin, APIView):
 
         return Response(wa_session.export_userdata())
 
-    def post(self, request, conference, uid, format=None):
+    def post(self, request, conference, uid, format=None):  # pylint: disable=redefined-builtin
         try:
             wa_session = WorkadventureSession.objects.get(conference=self.conference, pk=uid)
         except WorkadventureSession.DoesNotExist:
@@ -335,7 +335,7 @@ class RegisterView(ConferenceSlugMixin, APIView):
     permission_classes = [IsConferenceService | IsSuperUser]
     required_service_classes = ['wa_backend']
 
-    def get(self, request, conference, token, format=None):
+    def get(self, request, conference, token, format=None):  # pylint: disable=redefined-builtin
         try:
             wa_session = WorkadventureSession.objects.get(conference=self.conference, token=token)
             if wa_session.token_expiry < timezone.now():
diff --git a/src/backoffice/views/moderation/board_entry.py b/src/backoffice/views/moderation/board_entry.py
index 77b4030383712907c7bb869190993b3fa793417e..9113d34560812b362d4ed249acbbbf414fe78a8a 100644
--- a/src/backoffice/views/moderation/board_entry.py
+++ b/src/backoffice/views/moderation/board_entry.py
@@ -25,26 +25,26 @@ class ModerationBoardDetailView(ModerationAdminMixin, DetailView):
         return qs
 
     def post(self, request, *args, **kwargs):
-        object = self.get_object()
+        current_object = self.get_object()
         action = request.POST.get('action')
 
         # TODO: add log entries
         if action == 'hide':
-            object.hidden = True
-            object.save(update_fields=['hidden'])
-            messages.success(request, f'board entry forced hidden: #{object.id}')
+            current_object.hidden = True
+            current_object.save(update_fields=['hidden'])
+            messages.success(request, f'board entry forced hidden: #{current_object.id}')
 
         elif action == 'show':
-            object.hidden = False
-            object.save(update_fields=['hidden'])
-            messages.success(request, f'board entry is not forced hidden any more: #{object.id}')
+            current_object.hidden = False
+            current_object.save(update_fields=['hidden'])
+            messages.success(request, f'board entry is not forced hidden any more: #{current_object.id}')
 
         elif action == 'delete':
-            object.delete()
-            messages.success(request, f'board entry deleted: #{object.id}')
+            current_object.delete()
+            messages.success(request, f'board entry deleted: #{current_object.id}')
             return redirect('backoffice:moderation-board-list')
 
         else:
             messages.error(request, f'UNKNOWN ACTION: {action}')
 
-        return redirect('backoffice:moderation-board-detail', pk=object.pk)
+        return redirect('backoffice:moderation-board-detail', pk=current_object.pk)
diff --git a/src/backoffice/views/moderation/projects.py b/src/backoffice/views/moderation/projects.py
index ff6d0b69878dd3ceb7b413f31965ecc680f108e6..a358416ebe2c8fe30a339e68d27c30c28c66a0a7 100644
--- a/src/backoffice/views/moderation/projects.py
+++ b/src/backoffice/views/moderation/projects.py
@@ -26,31 +26,31 @@ class ModerationProjectDetailView(ModerationAdminMixin, DetailView):
         return qs
 
     def post(self, request, *args, **kwargs):
-        object = self.get_object()
+        current_object = self.get_object()
         action = request.POST.get('action')
 
         # TODO: add log entries
         if action == 'hide':
-            object.is_public = False
-            object.save(update_fields=['is_public'])
-            messages.success(request, f'project hidden: #{object.id}')
+            current_object.is_public = False
+            current_object.save(update_fields=['is_public'])
+            messages.success(request, f'project hidden: #{current_object.id}')
 
         if action == 'block':
-            object.blocked = True
-            object.save(update_fields=['blocked'])
-            messages.success(request, f'project blocked: #{object.id}')
+            current_object.blocked = True
+            current_object.save(update_fields=['blocked'])
+            messages.success(request, f'project blocked: #{current_object.id}')
 
         elif action == 'unblock':
-            object.blocked = False
-            object.save(update_fields=['blocked'])
-            messages.success(request, f'project unblocked: #{object.id}')
+            current_object.blocked = False
+            current_object.save(update_fields=['blocked'])
+            messages.success(request, f'project unblocked: #{current_object.id}')
 
         elif action == 'delete':
-            object.delete()
-            messages.success(request, f'project deleted: #{object.id}')
+            current_object.delete()
+            messages.success(request, f'project deleted: #{current_object.id}')
             return redirect('backoffice:moderation-project-list')
 
         else:
             messages.error(request, f'UNKNOWN ACTION: {action}')
 
-        return redirect('backoffice:moderation-project-detail', pk=object.pk)
+        return redirect('backoffice:moderation-project-detail', pk=current_object.pk)
diff --git a/src/core/models/conference.py b/src/core/models/conference.py
index 1b4be0f04b2df1a2552ee6d51655018627d6439e..9bf0caa5f9f7921a9358f0a5da5a7ee93a1cb578 100644
--- a/src/core/models/conference.py
+++ b/src/core/models/conference.py
@@ -767,10 +767,10 @@ class ConferenceExportCache(models.Model):
         return super().save(*args, **kwargs)
 
     @classmethod
-    def _get_or_create_entry(cls, conference: Conference, type: Type, ident: str, result_func: typing.Callable[..., bytes]):
+    def _get_or_create_entry(cls, conference: Conference, entry_type: Type, ident: str, result_func: typing.Callable[..., bytes]):
         cache_entry, _ = cls.objects.get_or_create(
             conference=conference,
-            type=type,
+            type=entry_type,
             ident=ident,
             defaults={'needs_regeneration': True},
         )
@@ -782,14 +782,14 @@ class ConferenceExportCache(models.Model):
         return cache_entry
 
     @classmethod
-    def fetch_entry(cls, conference: Conference, type: Type, ident: str, result_func, as_text: bool = False):
-        cache_entry = cls._get_or_create_entry(conference, type, ident, result_func)
+    def fetch_entry(cls, conference: Conference, entry_type: Type, ident: str, result_func, as_text: bool = False):
+        cache_entry = cls._get_or_create_entry(conference, entry_type, ident, result_func)
         content = cache_entry.data
         return content.decode('utf-8') if as_text else content
 
     @classmethod
-    def handle_http_request(cls, request: HttpRequest, conference: Conference, type: Type, ident: str, content_type, result_func):
-        cache_entry = cls._get_or_create_entry(conference, type, ident, result_func)
+    def handle_http_request(cls, request: HttpRequest, conference: Conference, entry_type: Type, ident: str, content_type, result_func):
+        cache_entry = cls._get_or_create_entry(conference, entry_type, ident, result_func)
 
         headers = {
             'Content-Type': content_type if isinstance(content_type, str) else content_type(),
diff --git a/src/plainui/utils.py b/src/plainui/utils.py
index 1294f9ff34263780a1e13734c7b9c63460ec058f..5228e53df0414c2f50f68a0f9fba11e7262f3cda 100644
--- a/src/plainui/utils.py
+++ b/src/plainui/utils.py
@@ -83,10 +83,10 @@ class StaticPageDiff(HtmlDiff):
     def _format_line(self, side, flag, linenum, text):
         try:
             linenum = f'{linenum:d}'
-            id = f' id="{self._prefix[side]}{linenum}"'
+            change_id = f' id="{self._prefix[side]}{linenum}"'
         except TypeError:
             # handle blank lines where linenum is '>' or ''
-            id = ''
+            change_id = ''
 
         # replace those things that would get confused with HTML symbols
         text = text.replace('&', '&amp;').replace('>', '&gt;').replace('<', '&lt;')
@@ -95,4 +95,4 @@ class StaticPageDiff(HtmlDiff):
         text = text.replace(' ', '&nbsp;').rstrip()
 
         # vvv ---- removed `nowrap="nowrap"` --- vvv
-        return f'<td class="diff_header"{id}>{linenum}</td><td class="diff_content">{text}</td>'
+        return f'<td class="diff_header"{change_id}>{linenum}</td><td class="diff_content">{text}</td>'
diff --git a/src/plainui/views/utils.py b/src/plainui/views/utils.py
index 4199f20074bd83956255c5cbea4cd704dcd3967a..b38eaaf0f3a6892288c812ad9fe1b279fac6263f 100644
--- a/src/plainui/views/utils.py
+++ b/src/plainui/views/utils.py
@@ -275,22 +275,22 @@ _SESSION_TYPE_MAP = {
 }
 
 
-def _session_refresh_favorite(session, user, type: str) -> list[str]:
+def _session_refresh_favorite(session, user, object_type: str) -> list[str]:
     if not user.is_authenticated:
         return []
 
-    favorites = [str(id_) for id_ in _SESSION_TYPE_MAP[type].objects.filter(favorite_of=user).values_list('id', flat=True)]
-    session[type] = favorites
+    favorites = [str(id_) for id_ in _SESSION_TYPE_MAP[object_type].objects.filter(favorite_of=user).values_list('id', flat=True)]
+    session[object_type] = favorites
     return favorites
 
 
-def session_get_favorite(session, user, type: str) -> list[str]:
+def session_get_favorite(session, user, object_type: str) -> list[str]:
     if not user.is_authenticated:
         return []
 
-    favorites = session.get(type, None)
+    favorites = session.get(object_type, None)
     if favorites is None:
-        return _session_refresh_favorite(session, user, type)
+        return _session_refresh_favorite(session, user, object_type)
     return favorites