import Foundation /// URLSession delegate that trusts the server certificate without validation. /// /// SparkControl sits behind a Start9 self-signed Root CA on the LAN, so default /// trust evaluation rejects it. This delegate is used **only** when the /// "Skip TLS verification" setting is on. It trusts any server certificate — /// acceptable for a personal tool on a trusted local network and nothing else. final class InsecureTrustDelegate: NSObject, URLSessionDelegate { func urlSession( _ session: URLSession, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void ) { guard challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust, let serverTrust = challenge.protectionSpace.serverTrust else { completionHandler(.performDefaultHandling, nil) return } completionHandler(.useCredential, URLCredential(trust: serverTrust)) } }