diff --git a/src/lib/default.ts b/src/lib/default.ts
index 008562ccce6101d10f39edf57f025ea71e1dc266..d1192a7e55730fa56cd1720d998b1539aafacbbc 100644
--- a/src/lib/default.ts
+++ b/src/lib/default.ts
@@ -9,7 +9,7 @@ import {
 import type { IdTokenClaims, UserinfoResponse } from "openid-client";
 
 class DefaultLucia<
-  UserInfo extends {} = Record<string, unknown>,
+  UserInfo extends Record<string, never> = Record<string, never>,
 > extends LuciaWrapper<Omit<DatabaseUser<UserInfo>, "id">> {
   db: SqLiteConnection;
 
diff --git a/src/lib/index.ts b/src/lib/index.ts
index 8530c8b8d220d17feea02acf3cb2aab8b08ab689..6408acf108acd09d60fb0cfb72b213994f135f0f 100644
--- a/src/lib/index.ts
+++ b/src/lib/index.ts
@@ -14,7 +14,7 @@ import {
 import type { Config, CookieNames, Paths } from "./types.js";
 import type { DatabaseUser } from "./lucia.js";
 
-export class AriseIdConnect<DbUser extends DatabaseUser> {
+export class AriseIdConnect {
   readonly client: Client;
   readonly paths: Paths;
   protected cookieNames: CookieNames;
@@ -44,9 +44,7 @@ export class AriseIdConnect<DbUser extends DatabaseUser> {
     };
   }
 
-  static async init<DbUser extends DatabaseUser>(
-    config: Config,
-  ): Promise<AriseIdConnect<DbUser>> {
+  static async init(config: Config): Promise<AriseIdConnect> {
     const issuer = await Issuer.discover(
       config.issuer ||
         "https://oidc.iiens.net/.well-known/openid-configuration",