NSURLCredentialPersistencePermanent lacks built‑in client‑side expiration
When using NSURLCredentialPersistencePermanent the credential is written to the user Keychain, but Foundation does not attach an expiration timestamp or automatically purge the entry when the server later rejects it. The URL Loading System will replay the stored credential for subsequent challenges until a 401 forces the delegate to react, and removal via re