     public static var isBiometryAvailable: Bool {
         get { return biometryAvailableType() != .none }
     }
+    public static var timeIntervalSinceLastAuth: TimeInterval {
+        return Date().timeIntervalSince(lastAuthDate)
+    }
+    public static var timeIntervalSinceLastSuccessfulAuth: TimeInterval  {
+        return Date().timeIntervalSince(lastSuccessfulAuthDate)
+    }
+    
+    static let lastAuthDateKey = "lastAuthDateKey"
+    static var lastAuthDate: Date {
+        get {
+            let lastAuthTimeInterval = UserDefaults.standard.double(forKey: lastAuthDateKey)
+            return lastAuthTimeInterval == 0 ? Date() : Date(timeIntervalSince1970: lastAuthTimeInterval)
+        }
+        set {
+            UserDefaults.standard.set(newValue.timeIntervalSince1970, forKey: lastAuthDateKey)
+        }
+    }
+    
+    static let lastSuccessfulAuthDateKey = "lastSuccessfulAuthDateKey"
+    static var lastSuccessfulAuthDate: Date {
+        get {
+            let lastAuthTimeInterval = UserDefaults.standard.double(forKey: lastSuccessfulAuthDateKey)
+            return lastAuthTimeInterval == 0 ? Date() : Date(timeIntervalSince1970: lastAuthTimeInterval)
+        }
+        set {
+            UserDefaults.standard.set(newValue.timeIntervalSince1970, forKey: lastSuccessfulAuthDateKey)
+        }
+    }
     
     public static func biometryAvailableType() -> BiometryType {
         let context = LAContext()

            isRequestingBiometric = true
            context.evaluatePolicy(.deviceOwnerAuthenticationWithBiometrics, localizedReason: reason, reply: { (success, bioError) in
                isRequestingBiometric = false
                NotificationCenter.default.post(name: BiometricEvaluateCompletedNotificationName, object: nil)
                if success {
                    if self.checkForModified(context: context) {

                    } else {
                        DispatchQueue.main.async {
                            NotificationCenter.default.post(name: BiometricEvaluateSuccessfulNotificationName, object: nil)
                            lastSuccessfulAuthDate = Date()
                            completion(success, nil)
                        }
                    }
