# place.stream.metadata.distributionPolicy

> Distribution and rebroadcast policy.

- Kind: object
- Authority: metadata.stream.place
- Lexicon: 1
- Published by [stream.place](https://lexicon.garden/identity/did:plc:rbvrr34edl5ddpuwcubjiost), not the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.metadata.distributionPolicy)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.metadata.distributionPolicy/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:rbvrr34edl5ddpuwcubjiost/place.stream.metadata.distributionPolicy/analytics)

## Object (`place.stream.metadata.distributionPolicy`)

Type: object

### Properties

- `allowGenAiTraining` (boolean): Whether this content may be used as training data for generative AI models. Absent means undeclared; Streamplace treats undeclared as false and stamps an explicit value into every minted segment. Covers generative AI only — non-generative machine learning (e.g. moderation, accessibility, speech models) is not governed by this flag.
- `allowedBroadcasters` (array): List of did:webs of the broadcasters you want to allow to distribute your content. "*" allows anyone. Starting a line with a "!" bans that broadcaster.
  - `items` (string)
- `deleteAfter` (integer): Duration in seconds after which segments should be deleted. Each segment will expire N seconds after its creation time. -1 to allow indefinite archival.

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Distribution and rebroadcast policy.",
      "properties": {
        "allowGenAiTraining": {
          "description": "Whether this content may be used as training data for generative AI models. Absent means undeclared; Streamplace treats undeclared as false and stamps an explicit value into every minted segment. Covers generative AI only — non-generative machine learning (e.g. moderation, accessibility, speech models) is not governed by this flag.",
          "type": "boolean"
        },
        "allowedBroadcasters": {
          "description": "List of did:webs of the broadcasters you want to allow to distribute your content. \"*\" allows anyone. Starting a line with a \"!\" bans that broadcaster.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "deleteAfter": {
          "description": "Duration in seconds after which segments should be deleted. Each segment will expire N seconds after its creation time. -1 to allow indefinite archival.",
          "type": "integer"
        }
      },
      "type": "object"
    }
  },
  "id": "place.stream.metadata.distributionPolicy",
  "lexicon": 1
}
```
