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

# ShieldConfigurationDataSource

The base class for the principal object of an app extension that configures a shield’s appearance.

```
@objc class ShieldConfigurationDataSource
```

## Overview

You can create an extension to customize the appearance of the shields that the system uses to cover an application
or website.
The system provides your extension with the display names, bundle identifiers, and domains
for each application, website, or category it shields.
Your extension is expected to return an appropriate configuration as quickly as possible,
in order to provide the best possible user experience.
To protect the Family Sharing group’s privacy, your extension runs in a sandbox.
This sandbox prevents your extension from making network requests or moving sensitive content outside the extension’s address space.
The system provides a default appearance for any methods that your subclass doesn’t override,
or if it takes too long to return a configuration.

## Topics

### Styling an application shield

[`configuration(shielding:)`](/documentation/ManagedSettingsUI/ShieldConfigurationDataSource/configuration(shielding:)-5uqm1)

Requests a configuration to use for a shield that covers an application.

[`configuration(shielding:in:)`](/documentation/ManagedSettingsUI/ShieldConfigurationDataSource/configuration(shielding:in:)-ia14)

Requests a configuration to use for a shield that covers an application because of its category.

### Styling a website shield

[`configuration(shielding:)`](/documentation/ManagedSettingsUI/ShieldConfigurationDataSource/configuration(shielding:)-18i24)

Requests a configuration to use for a shield that covers a website.

[`configuration(shielding:in:)`](/documentation/ManagedSettingsUI/ShieldConfigurationDataSource/configuration(shielding:in:)-6n6rd)

Requests a configuration to use for a shield that covers a website because of its category.



---

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)