diff --git a/.phive/phars.xml b/.phive/phars.xml
index 63a030f34ebaa167a4ac0c278a66d42d6f1d11e6..ebb5988ac5456a0286d35a530df2673a49c57c2b 100644
--- a/.phive/phars.xml
+++ b/.phive/phars.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <phive xmlns="https://phar.io/phive">
-  <phar name="phpstan" version="1.11.1" installed="1.11.1" location="./tools/phpstan" copy="false"/>
+  <phar name="phpstan" version="1.11.8" installed="1.11.8" location="./tools/phpstan" copy="false"/>
   <phar name="phpunit" version="^10.5.20" installed="10.5.20" location="./tools/phpunit" copy="false"/>
   <phar name="phpcs" version="^3.10.1" installed="3.10.1" location="./tools/phpcs" copy="false"/>
   <phar name="phpcbf" version="^3.10.1" installed="3.10.1" location="./tools/phpcbf" copy="false"/>
diff --git a/phpstan-baseline.neon b/phpstan-baseline.neon
index e69de29bb2d1d6434b8b29ae775ad8c2e48c5391..a327597623581f4882ea9125cd14bca6f43b570b 100644
--- a/phpstan-baseline.neon
+++ b/phpstan-baseline.neon
@@ -0,0 +1,36 @@
+parameters:
+	ignoreErrors:
+		-
+			message: "#^Call to an undefined method QUI\\\\Interfaces\\\\Users\\\\User\\:\\:checkEditPermission\\(\\)\\.$#"
+			count: 1
+			path: ajax/deleteKeys.php
+
+		-
+			message: "#^Call to an undefined method QUI\\\\Interfaces\\\\Users\\\\User\\:\\:checkEditPermission\\(\\)\\.$#"
+			count: 1
+			path: ajax/generateKey.php
+
+		-
+			message: "#^Call to an undefined method QUI\\\\Interfaces\\\\Users\\\\User\\:\\:checkEditPermission\\(\\)\\.$#"
+			count: 1
+			path: ajax/getKey.php
+
+		-
+			message: "#^Call to an undefined method QUI\\\\Interfaces\\\\Users\\\\User\\:\\:checkEditPermission\\(\\)\\.$#"
+			count: 1
+			path: ajax/getKeys.php
+
+		-
+			message: "#^Call to an undefined method QUI\\\\Interfaces\\\\Users\\\\User\\:\\:checkEditPermission\\(\\)\\.$#"
+			count: 1
+			path: ajax/regenerateRecoveryKeys.php
+
+		-
+			message: "#^Method QUI\\\\Auth\\\\Google2Fa\\\\Auth\\:\\:getPasswordResetControl\\(\\) should return QUI\\\\Control but returns null\\.$#"
+			count: 1
+			path: src/QUI/Auth/Google2Fa/Auth.php
+
+		-
+			message: "#^Property QUI\\\\Auth\\\\Google2Fa\\\\Auth\\:\\:\\$User \\(QUI\\\\Users\\\\User\\) does not accept QUI\\\\Users\\\\Nobody\\|null\\.$#"
+			count: 1
+			path: src/QUI/Auth/Google2Fa/Auth.php
diff --git a/phpstan.dist.neon b/phpstan.dist.neon
index e929f5ac1511df87f294eadedee07d562a160041..dc33bb4eaabd6fab16696f6e9ea5b43071cfdf84 100644
--- a/phpstan.dist.neon
+++ b/phpstan.dist.neon
@@ -2,8 +2,10 @@ includes:
 	- phpstan-baseline.neon
 
 parameters:
-    level: 8
+    level: 5
     paths:
         - src
         - ajax
+    bootstrapFiles:
+        - tests/phpstan-bootstrap.php
     tipsOfTheDay: false