<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -",
    "watchOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AppIntents",
  "identifier" : "/documentation/AppIntents/OwnershipProvidingEntity",
  "metadataVersion" : "0.1.0",
  "role" : "Protocol",
  "symbol" : {
    "kind" : "Protocol",
    "modules" : [
      "App Intents"
    ],
    "preciseIdentifier" : "s:10AppIntents24OwnershipProvidingEntityP"
  },
  "title" : "OwnershipProvidingEntity"
}
-->

# OwnershipProvidingEntity

A type that provides the system with ownership and sharing context for an app entity.

```
protocol OwnershipProvidingEntity : AppEntity
```

## Overview

When your app passes app entities as parameters to an [`AppIntent`](/documentation/AppIntents/AppIntent) and returns them from app intent results,
people can use Apple Intelligence, Siri, and custom shortcuts to work with those entities across apps.
For destructive or sensitive actions like deleting or updating an app entity,
your app can require a person’s
confirmation. Additionally, Apple Intelligence and Siri may also request a person’s confirmation.
Conform your app entities
to [`OwnershipProvidingEntity`](/documentation/AppIntents/OwnershipProvidingEntity) so the system prompts for confirmation — with appropriate context in the
confirmation dialog — when an intent acts on shared or publicly accessible app entities.

The following example shows an app entity for a photo album that updates its [`ownership`](/documentation/AppIntents/OwnershipProvidingEntity/ownership) based on
whether a person shares the album with their family or publishes it publicly:

```swift
@AppEntity(schema: .photos.album)
struct PhotoAlbumEntity: OwnershipProvidingEntity {
    let id = UUID()
    var isSharedWithFamily: Bool
    var isPublicAlbum: Bool

    // MARK: - .photos.album properties
    var name: String
    var creationDate: Date?
    var albumType: PhotoAlbumType

    var ownership: EntityOwnership {
        var ownership: EntityOwnership = []
        if isSharedWithFamily {
            ownership.insert(.shared)
        }
        if isPublicAlbum {
            ownership.insert(.public)
        }
        return ownership
    }
}
```

## Relationships

### Inherits From

[`AppValue`](/documentation/AppIntents/AppValue)

[`PersistentlyIdentifiable`](/documentation/AppIntents/PersistentlyIdentifiable)

[`InstanceDisplayRepresentable`](/documentation/AppIntents/InstanceDisplayRepresentable)

[`DisplayRepresentable`](/documentation/AppIntents/DisplayRepresentable)

[`TypeDisplayRepresentable`](/documentation/AppIntents/TypeDisplayRepresentable)

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

[`CustomLocalizedStringResourceConvertible`](/documentation/Foundation/CustomLocalizedStringResourceConvertible)

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

[`AppEntity`](/documentation/AppIntents/AppEntity)

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

---

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)