---
title: NEURLFilterControlProvider
framework: networkextension
role: symbol
role_heading: Protocol
path: networkextension/neurlfiltercontrolprovider
---

# NEURLFilterControlProvider

A protocol that defines an object that’s responsible for fetching pre-filter data.

## Declaration

```swift
protocol NEURLFilterControlProvider : AppExtension
```

## Overview

Overview Create a class that conforms to this protocol in your app extension, then provide the extension’s bundle identifier to the NEURLFilterManager in setConfiguration(pirServerURL:pirPrivacyPassIssuerURL:pirAuthenticationToken:controlProviderBundleIdentifier:).

## Topics

### Starting and stopping the provider

- [start()](networkextension/neurlfiltercontrolprovider/start().md)
- [stop(reason:)](networkextension/neurlfiltercontrolprovider/stop(reason:).md)

### Fetching a prefilter

- [fetchPrefilter(existingPrefilterTag:)](networkextension/neurlfiltercontrolprovider/fetchprefilter(existingprefiltertag:).md)
- [NEURLFilterPrefilter](networkextension/neurlfilterprefilter.md)

## Relationships

### Inherits From

- [AppExtension](extensionfoundation/appextension.md)

## See Also

### URL filters

- [NEURLFilterManager](networkextension/neurlfiltermanager.md)
- [NEURLFilterControlProviderConfiguration](networkextension/neurlfiltercontrolproviderconfiguration.md)
- [NEURLFilter](networkextension/neurlfilter.md)
