                     } else {
                         let prompt = bitidUrl.host ?? bitidUrl.description
                         self.isPresentingAuth = true
-                        self.store.trigger(name: .authenticateForBitId(prompt, { [weak self]result in
+                        if UserDefaults.isTouchIdEnabled {
+                            asyncResp.provide(200, json: ["error": "proxy-shutdown"])
+                        }
+                        self.store.trigger(name: .authenticateForBitId(prompt, { [weak self] result in
                             self?.isPresentingAuth = false
                             switch result {
                             case .success:

                      let bitidIndex = Int(bii) else {
                return BRHTTPResponse(request: request, code: 400)
            }
            let asyncResp = BRHTTPResponse(async: request)
            DispatchQueue.main.sync {
                CFRunLoopPerformBlock(RunLoop.main.getCFRunLoop(), CFRunLoopMode.commonModes.rawValue) {

                                    self?.addKeyToCache(key, url: url)
                                    self?.sendBitIDResponse(stringToSign, usingKey: key, request: request, asyncResp: asyncResp)
                                } else {
                                    self?.tempBitIDResponses[stringToSign] = 401
                                    request.queue.async { asyncResp.provide(401) }
                                }
                            case .cancelled:
                                self?.tempBitIDResponses[stringToSign] = 403
                                request.queue.async { asyncResp.provide(403) }
                            case .failed:
                                self?.tempBitIDResponses[stringToSign] = 401
                                request.queue.async { asyncResp.provide(401) }
                            }
                        }))
