<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: -"
  ],
  "documentType" : "symbol",
  "framework" : "ManagedSettings",
  "identifier" : "/documentation/ManagedSettings/ShieldActionDelegate",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Managed Settings"
    ],
    "preciseIdentifier" : "c:@M@ManagedSettings@objc(cs)ShieldActionDelegate"
  },
  "title" : "ShieldActionDelegate"
}
-->

# ShieldActionDelegate

A class for an extension that handles shield actions.

```
@objc class ShieldActionDelegate
```

## Overview

Subclass `ShieldActionDelegate` to allow client extensions to respond to user actions on a shield that covers an application or website.
The system doesn’t provide the name of a shielded [`Application`](/documentation/ManagedSettings/Application), [`WebDomain`](/documentation/ManagedSettings/WebDomain), or [`ActivityCategory`](/documentation/ManagedSettings/ActivityCategory)
to preserve the Family Sharing group’s privacy.
Instead, the system uses a token to indicate what content it is shielding.

## Topics

### Handling shield actions

[`enum ShieldAction`](/documentation/ManagedSettings/ShieldAction)

Constants that describe a user’s action for your extension to handle.

[`enum ShieldActionResponse`](/documentation/ManagedSettings/ShieldActionResponse)

Constants your extension that handles shield actions can use to tell the system how to respond to an action.

### Responding to someone’s action

[`func handle(action: ShieldAction, for: ApplicationToken, completionHandler: (ShieldActionResponse) -> Void)`](/documentation/ManagedSettings/ShieldActionDelegate/handle(action:for:completionHandler:)-4jgek)

Allows the extension to respond to a user action when the system displays a shield over an application.

[`func handle(action: ShieldAction, for: ActivityCategoryToken, completionHandler: (ShieldActionResponse) -> Void)`](/documentation/ManagedSettings/ShieldActionDelegate/handle(action:for:completionHandler:)-9hcqc)

Allows the extension to respond to a user action when the system displays a shield over an application or website because of its category.

[`func handle(action: ShieldAction, for: WebDomainToken, completionHandler: (ShieldActionResponse) -> Void)`](/documentation/ManagedSettings/ShieldActionDelegate/handle(action:for:completionHandler:)-4tqna)

Allows the extension to respond to a user action when the system displays a shield over a website.

### Initializers

[`init()`](/documentation/ManagedSettings/ShieldActionDelegate/init())

## Relationships

### Conforms To

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`Hashable`](/documentation/Swift/Hashable)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Equatable`](/documentation/Swift/Equatable)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)