 import SnapKit
 import SwiftKeychainWrapper
 
+enum AuthenticationState {
+    case NotAuthenticating
+    case Presenting
+}
+
 class SensitiveViewController: UIViewController {
     var promptingForTouchID: Bool = false
     var backgroundedBlur: UIImageView?
+    var authState: AuthenticationState = .NotAuthenticating
 
     override func viewWillAppear(animated: Bool) {
         super.viewWillAppear(animated)
         let notificationCenter = NSNotificationCenter.defaultCenter()
         notificationCenter.addObserver(self, selector: #selector(SensitiveViewController.checkIfUserRequiresValidation), name: UIApplicationWillEnterForegroundNotification, object: nil)
+        notificationCenter.addObserver(self, selector: #selector(SensitiveViewController.checkIfUserRequiresValidation), name: UIApplicationDidBecomeActiveNotification, object: nil)
         notificationCenter.addObserver(self, selector: #selector(SensitiveViewController.blurContents), name: UIApplicationWillResignActiveNotification, object: nil)
     }
 

            touchIDReason: AuthenticationStrings.loginsTouchReason,
            success: {
                self.promptingForTouchID = false
                self.removeBackgroundedBlur()
            },
            cancel: {
                self.promptingForTouchID = false
                self.navigationController?.popToRootViewControllerAnimated(true)
            },
            fallback: {

                AppAuthenticator.presentPasscodeAuthentication(self.navigationController, delegate: self)
            }
        )
        authState = .Presenting
    }

    func blurContents() {
