diff --git a/arkindex/process/serializers/files.py b/arkindex/process/serializers/files.py
index a4edb516bcf1c5bc1147af27f48fc1669b25fff7..43a5900bc24584b431d13966d339843f7c53cf36 100644
--- a/arkindex/process/serializers/files.py
+++ b/arkindex/process/serializers/files.py
@@ -41,11 +41,11 @@ class DataFileSerializer(serializers.ModelSerializer):
     def get_s3_url(self, obj):
         if 'request' not in self.context:
             return
-        # Only allow the S3 URL for ponos tasks of Files processes or admins
+        # Only allow the S3 URL for ponos tasks of Files or IIIF processes or admins
         request = self.context['request']
         if is_admin_or_ponos_task(request):
             request_process = get_process_from_task_auth(request)
-            if not request_process or request_process.mode == ProcessMode.Files:
+            if not request_process or request_process.mode in (ProcessMode.Files, ProcessMode.IIIF):
                 return obj.s3_url
 
 
diff --git a/arkindex/process/tests/test_datafile_api.py b/arkindex/process/tests/test_datafile_api.py
index 2e849abf2d9ee5f46798202ad4ceba8bc9d95f73..d001863eac2c4cd3ab6b5ada5710b85a1c604b9f 100644
--- a/arkindex/process/tests/test_datafile_api.py
+++ b/arkindex/process/tests/test_datafile_api.py
@@ -157,7 +157,7 @@ class TestDataFileApi(FixtureAPITestCase):
     def test_retrieve_datafile_s3_url_task_process_mode(self, gen_url_mock):
         """
         Ponos task authentication allows access to the S3 URL, only if the task's
-        parent process is of Files ProcessMode.
+        parent process has a Files or IIIF mode.
         """
         user = User.objects.create(email='user2@test.test', display_name='User 2', verified_email=True)
         gen_url_mock.return_value = 'http://somewhere'
@@ -170,7 +170,7 @@ class TestDataFileApi(FixtureAPITestCase):
         with self.settings(IMPORTS_WORKER_VERSION=str(self.import_worker_version.id)):
             process.start()
         cases = [
-            (process_mode, 'http://somewhere' if process_mode == ProcessMode.Files else None)
+            (process_mode, 'http://somewhere' if process_mode in (ProcessMode.Files, ProcessMode.IIIF) else None)
             for process_mode in ProcessMode
         ]
         for process_mode, s3_url in cases: