---
title: "Customizing PDF editing permissions on iOS | Nutrient SDK"
canonical_url: "https://www.nutrient.io/guides/ios/editor/document-permissions/"
md_url: "https://www.nutrient.io/guides/ios/editor/document-permissions.md"
last_updated: "2026-06-09T10:30:03.922Z"
description: "Learn to customize PDF editing permissions on iOS using Nutrient iOS SDK. Control access and enhance security for your documents effectively."
---

# Customizing PDF editing permissions on iOS

This guide covers editing of document permissions. To get an initial overview of what PDF document permissions are and how they’re incorporated into Nutrient, first take a look at the [permissions](https://www.nutrient.io/guides/ios/features/document-permissions.md) guide.

Modifying a document’s permissions requires Nutrient to be instantiated with a license that includes the Document Editor component.

It’s worth noting that if you wish to modify the default document permissions with Nutrient, you’ll be required to protect the document with a password.

You can retrieve the current permissions of a document via the [`Document.permissions`](https://www.nutrient.io/api/ios/documentation/pspdfkit/document/permissions) property. This property is read-only and will only return the permissions out of the first file when the document is comprised of multiple underlying files.

Document permissions can be set using the [`Document.SecurityOptions`](https://www.nutrient.io/api/ios/documentation/pspdfkit/document/securityoptions) class when interacting with the document processor. After you define your desired security options, you instantiate a `Processor` object with it:

### SWIFT

```swift

do {
  let documentSecurityOptions = try Document.SecurityOptions(ownerPassword: password, userPassword: password, keyLength: Document.SecurityOptionsKeyLengthAutomatic, permissions: [.annotationsAndForms])
} catch {
  // Handle error.
  return
}
guard let processorConfiguration = Processor.Configuration(document: document) else {
  return
}

// Create a processor and write the file with the permissions applied.
let processor = Processor(configuration: processorConfiguration, securityOptions: securityOptions)
try processor.write(toFileURL: outputFileURL)

```

### OBJECTIVE-C

```objc

PSPDFDocumentSecurityOptions *securityOptions = [[PSPDFDocumentSecurityOptions alloc] initWithOwnerPassword:password userPassword:password keyLength:PSPDFDocumentSecurityOptionsKeyLengthAutomatic permissions:PSPDFDocumentPermissionsAnnotationsAndForms error:&error];
PSPDFProcessorConfiguration *processorConfiguration = [[PSPDFProcessorConfiguration alloc] initWithDocument:document];

// Create a processor and write the file with the permissions applied.
PSPDFProcessor *processor = [[PSPDFProcessor alloc] initWithConfiguration:processorConfiguration securityOptions:securityOptions];
[processor writeToFileURL:outputFileURL error:&error];

```

Users can also customize the permissions directly from the UI via [`PDFDocumentSecurityViewController`](https://www.nutrient.io/api/ios/documentation/pspdfkitui/pdfdocumentsecurityviewcontroller).
---

## Related pages

- [iOS PDF editor API usage](/guides/ios/features/document-editor.md)
- [Add and insert images into PDFs on iOS](/guides/ios/editor/add-image.md)
- [Add pages to PDF files on iOS](/guides/ios/editor/add-page.md)
- [How to attach files to PDFs on iOS](/guides/ios/editor/attach-a-file.md)
- [Edit text in PDFs on iOS](/guides/ios/editor/edit-text.md)
- [Merge multiple PDF files on iOS](/guides/ios/editor/merge-or-combine.md)
- [PDF editor library for iOS](/guides/ios/features/document-processing.md)
- [Split PDFs on iOS](/guides/ios/editor/split.md)
- [Adding watermarks to PDFs on iOS](/guides/ios/editor/watermark.md)

