diff --git a/Sources/XXClient/Helpers/PasswordStorage.swift b/Sources/XXClient/Helpers/PasswordStorage.swift
index bf84f6dd4338a62fcd1604f924099a52a36b9e36..a1c36884d0f905a0294c680aecd7d4bbe5cad049 100644
--- a/Sources/XXClient/Helpers/PasswordStorage.swift
+++ b/Sources/XXClient/Helpers/PasswordStorage.swift
@@ -8,19 +8,23 @@ public struct PasswordStorage {
 
   public init(
     save: @escaping (Data) throws -> Void,
-    load: @escaping () throws -> Data
+    load: @escaping () throws -> Data,
+    remove: @escaping () throws -> Void
   ) {
     self.save = save
     self.load = load
+    self.remove = remove
   }
 
   public var save: (Data) throws -> Void
   public var load: () throws -> Data
+  public var remove: () throws -> Void
 }
 
 extension PasswordStorage {
   public static let unimplemented = PasswordStorage(
     save: XCTUnimplemented("\(Self.self).save"),
-    load: XCTUnimplemented("\(Self.self).load")
+    load: XCTUnimplemented("\(Self.self).load"),
+    remove: XCTUnimplemented("\(Self.self).remove")
   )
 }