<!--
{
  "availability" : [
    "SwiftPM: 5.6.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "PackageDescription",
  "identifier" : "/documentation/PackageDescription/PluginPermission",
  "metadataVersion" : "0.1.0",
  "role" : "Enumeration",
  "symbol" : {
    "kind" : "Enumeration",
    "modules" : [
      "PackageDescription"
    ],
    "preciseIdentifier" : "s:18PackageDescription16PluginPermissionO"
  },
  "title" : "PluginPermission"
}
-->

# PluginPermission

The type of permission a plug-in requires.

```
enum PluginPermission
```

## Overview

Supported types are [`PluginPermission.allowNetworkConnections(scope:reason:)`](/documentation/PackageDescription/PluginPermission/allowNetworkConnections(scope:reason:)) and [`PluginPermission.writeToPackageDirectory(reason:)`](/documentation/PackageDescription/PluginPermission/writeToPackageDirectory(reason:)).

## Topics

### Create a permission

[`PluginPermission.allowNetworkConnections(scope:reason:)`](/documentation/PackageDescription/PluginPermission/allowNetworkConnections(scope:reason:))

Create a permission to make network connections.

[`PluginPermission.writeToPackageDirectory(reason:)`](/documentation/PackageDescription/PluginPermission/writeToPackageDirectory(reason:))

Create a permission to modify files in the package’s directory.

### Allow network connection

[`PluginNetworkPermissionScope`](/documentation/PackageDescription/PluginNetworkPermissionScope)

The scope of a network permission.



---

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)