<!--
{
  "availability" : [
    "iOS: 9.0.0 -",
    "iPadOS: 9.0.0 -",
    "macOS: 10.11.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "BundleResources",
  "identifier" : "/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity/NSAllowsArbitraryLoads",
  "metadataVersion" : "0.1.0",
  "role" : "Property List Key",
  "symbol" : {
    "kind" : "Property List Key",
    "modules" : [
      "Bundle Resources"
    ],
    "preciseIdentifier" : "plist:Information_Property_List.NSAppTransportSecurity.NSAllowsArbitraryLoads"
  },
  "title" : "NSAllowsArbitraryLoads"
}
-->

# NSAllowsArbitraryLoads

A Boolean value indicating whether App Transport Security restrictions are disabled for all network connections.

## Discussion

Set this key’s value to `YES` to disable App Transport Security (ATS) restrictions for all domains not specified in the [`NSExceptionDomains`](/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity/NSExceptionDomains) dictionary. Domains you specify in that dictionary aren’t affected by this key’s value.

> Important:
> You must supply a justification during App Store review if you set the key’s value to `YES`, as described in `Provide Justification for Exceptions`. Use this key with caution because it significantly reduces the security of your app. In most cases, it’s better to upgrade your servers to meet the requirements imposed by ATS, or at least to use a narrower exception.

Disabling ATS means that unsecured HTTP connections are allowed. HTTPS connections are also allowed, and are still subject to default server trust evaluation, as described in `Ensure the Network Server Meets Minimum Requirements`. However, extended security checks—like requiring a minimum Transport Layer Security (TLS) protocol version—are disabled. Without ATS, you’re also free to loosen the default server trust requirements, as described in <doc://com.apple.documentation/documentation/Foundation/performing-manual-server-trust-authentication>.

In iOS 10 and later and macOS 10.12 and later, the value of the [`NSAllowsArbitraryLoads`](/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity/NSAllowsArbitraryLoads) key is ignored—and the default value of `NO` used instead—if any of the following keys are present in your app’s [`Information Property List`](/documentation/BundleResources/Information-Property-List) file:

- [`NSAllowsArbitraryLoadsForMedia`](/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity/NSAllowsArbitraryLoadsForMedia)
- [`NSAllowsArbitraryLoadsInWebContent`](/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity/NSAllowsArbitraryLoadsInWebContent)
- [`NSAllowsLocalNetworking`](/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity/NSAllowsLocalNetworking)

For more information about how the OS version affects ATS behavior, see the [`NSAppTransportSecurity`](/documentation/BundleResources/Information-Property-List/NSAppTransportSecurity) key’s Versioning section.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)