# community.lexicon.preference.ai

> Published by [lexicon.community](https://lexicon.garden/identity/did:plc:2uwoih2htodskvgocarwv5eq)

✓ This is the authoritative definition for this NSID.

## Description

Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:2uwoih2htodskvgocarwv5eq/community.lexicon.preference.ai)
- [Documentation](https://lexicon.garden/lexicon/did:plc:2uwoih2htodskvgocarwv5eq/community.lexicon.preference.ai/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:2uwoih2htodskvgocarwv5eq/community.lexicon.preference.ai/examples)

## Definitions

### `community.lexicon.preference.ai`

**Type**: `record`

**Key**: `any`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `scope` | `union` | Yes | What this record's preferences apply to. |
| `updatedAt` | `string` (datetime) | Yes | Timestamp of the most recent change to this record. |
| `preferences` | `ref` → `#preferenceSet` | Yes |  |

### `community.lexicon.preference.ai#preference`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `allow` | `boolean` | Yes | Whether this usage is permitted (true) or denied (false). |
| `updatedAt` | `string` (datetime) | Yes | When this specific preference was last changed. |

### `community.lexicon.preference.ai#entityScope`

**Type**: `object`

Scopes preferences to a specific AI consumer.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `entity` | `string` | Yes | DID or domain of the entity this override applies to. |

### `community.lexicon.preference.ai#globalScope`

**Type**: `object`

Account-wide default. The record at key 'self' should carry this scope.

### `community.lexicon.preference.ai#preferenceSet`

**Type**: `object`

A set of AI usage preferences. Omitted fields mean undefined (no declared preference).

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `training` | `ref` → `#preference` | No | Use as input for training, fine-tuning, distillation, or RLHF of ML models. |
| `embedding` | `ref` → `#preference` | No | Use for vector embeddings or semantic indexing. |
| `inference` | `ref` → `#preference` | No | Use at inference time for retrieval, RAG, or context injection. |
| `syntheticContent` | `ref` → `#preference` | No | Use to generate synthetic content or interactions derived from user data. |

### `community.lexicon.preference.ai#collectionScope`

**Type**: `object`

Scopes preferences to a specific record collection in the user's repository.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `collection` | `string` (nsid) | Yes | NSID of the collection this override applies to. |

## Raw Schema

```json
{
  "id": "community.lexicon.preference.ai",
  "defs": {
    "main": {
      "key": "any",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "updatedAt",
          "scope",
          "preferences"
        ],
        "properties": {
          "scope": {
            "refs": [
              "#globalScope",
              "#entityScope",
              "#collectionScope"
            ],
            "type": "union",
            "description": "What this record's preferences apply to."
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Timestamp of the most recent change to this record."
          },
          "preferences": {
            "ref": "#preferenceSet",
            "type": "ref"
          }
        }
      }
    },
    "preference": {
      "type": "object",
      "required": [
        "allow",
        "updatedAt"
      ],
      "properties": {
        "allow": {
          "type": "boolean",
          "description": "Whether this usage is permitted (true) or denied (false)."
        },
        "updatedAt": {
          "type": "string",
          "format": "datetime",
          "description": "When this specific preference was last changed."
        }
      }
    },
    "entityScope": {
      "type": "object",
      "required": [
        "entity"
      ],
      "properties": {
        "entity": {
          "type": "string",
          "description": "DID or domain of the entity this override applies to."
        }
      },
      "description": "Scopes preferences to a specific AI consumer."
    },
    "globalScope": {
      "type": "object",
      "description": "Account-wide default. The record at key 'self' should carry this scope."
    },
    "preferenceSet": {
      "type": "object",
      "properties": {
        "training": {
          "ref": "#preference",
          "type": "ref",
          "description": "Use as input for training, fine-tuning, distillation, or RLHF of ML models."
        },
        "embedding": {
          "ref": "#preference",
          "type": "ref",
          "description": "Use for vector embeddings or semantic indexing."
        },
        "inference": {
          "ref": "#preference",
          "type": "ref",
          "description": "Use at inference time for retrieval, RAG, or context injection."
        },
        "syntheticContent": {
          "ref": "#preference",
          "type": "ref",
          "description": "Use to generate synthetic content or interactions derived from user data."
        }
      },
      "description": "A set of AI usage preferences. Omitted fields mean undefined (no declared preference)."
    },
    "collectionScope": {
      "type": "object",
      "required": [
        "collection"
      ],
      "properties": {
        "collection": {
          "type": "string",
          "format": "nsid",
          "description": "NSID of the collection this override applies to."
        }
      },
      "description": "Scopes preferences to a specific record collection in the user's repository."
    }
  },
  "lexicon": 1,
  "description": "Declares a user's preferences regarding AI usage of their public data. A record at key 'self' with globalScope establishes default preferences. Additional records keyed by TID establish scoped overrides for specific entities or content collections."
}
```
