---
title: "handleRemediation(for:completionHandler:)"
framework: networkextension
role: symbol
role_heading: Instance Method
path: "networkextension/nefiltercontrolprovider/handleremediation(for:completionhandler:)"
---

# handleRemediation(for:completionHandler:)

Handle a request for remediation from the user.

## Declaration

```swift
func handleRemediation(for flow: NEFilterFlow, completionHandler: @escaping @Sendable (NEFilterControlVerdict) -> Void)
```

```swift
func handleRemediation(for flow: NEFilterFlow) async -> NEFilterControlVerdict
```

## Parameters

- `flow`: An doc://com.apple.networkextension/documentation/NetworkExtension/NEFilterFlow object containing details about the flow that requires remediation.
- `completionHandler`: A block that must be called when the Filter Control Provider has made a decision about the flow. The doc://com.apple.networkextension/documentation/NetworkExtension/NEFilterControlVerdict object passed to this block contains the decision that the Filter Control Provider made about the flow.

## Discussion

Discussion This method is called by the system when the Filter Data Provider indicates that the filtering verdict for the given flow is NEFilterRemediateVerdictNeedRules. Subclass implementations must override this method and implement whatever steps are necessary to remediate the given flow.

## See Also

### Handling remediation

- [remediationMap](networkextension/nefiltercontrolprovider/remediationmap.md)
- [NEFilterProviderRemediationMapRemediationButtonTexts](networkextension/nefilterproviderremediationmapremediationbuttontexts.md)
- [NEFilterProviderRemediationMapRemediationURLs](networkextension/nefilterproviderremediationmapremediationurls.md)
- [NEFilterProviderRemediationURLFlowURL](networkextension/nefilterproviderremediationurlflowurl.md)
- [NEFilterProviderRemediationURLFlowURLHostname](networkextension/nefilterproviderremediationurlflowurlhostname.md)
- [NEFilterProviderRemediationURLOrganization](networkextension/nefilterproviderremediationurlorganization.md)
- [NEFilterProviderRemediationURLUsername](networkextension/nefilterproviderremediationurlusername.md)
- [urlAppendStringMap](networkextension/nefiltercontrolprovider/urlappendstringmap.md)
