# forum.barazo.actor.preferences

> Published by [barazo.forum](https://lexicon.garden/identity/did:plc:7brt3r7rokkjqc4wjgeovnyx)

✓ This is the authoritative definition for this NSID.

## Description

User-level moderation, safety, and cross-posting preferences. Portable across AppViews.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:7brt3r7rokkjqc4wjgeovnyx/forum.barazo.actor.preferences)
- [Documentation](https://lexicon.garden/lexicon/did:plc:7brt3r7rokkjqc4wjgeovnyx/forum.barazo.actor.preferences/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:7brt3r7rokkjqc4wjgeovnyx/forum.barazo.actor.preferences/examples)

## Definitions

### `forum.barazo.actor.preferences`

**Type**: `record`

User-level moderation and safety preferences. Portable across AppViews.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `mutedDids` | `array` | No | Muted accounts (content de-emphasized, collapsed but visible). |
| `updatedAt` | `string` (datetime) | Yes | Client-declared timestamp when preferences were last updated. |
| `mutedWords` | `array` | No | Global muted words (apply to all communities). |
| `blockedDids` | `array` | No | Blocked accounts (content hidden everywhere). |
| `maturityLevel` | `string` | Yes | Maximum maturity tier to show. Default: 'safe'. |
| `crossPostDefaults` | `ref` → `#crossPostConfig` | No | Per-service toggle for cross-posting new topics. |

### `forum.barazo.actor.preferences#crossPostConfig`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `bluesky` | `boolean` | No | Cross-post new topics to Bluesky. Default: false. |
| `frontpage` | `boolean` | No | Cross-post new topics to Frontpage. Default: false. |

## Raw Schema

```json
{
  "id": "forum.barazo.actor.preferences",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "maturityLevel",
          "updatedAt"
        ],
        "properties": {
          "mutedDids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "did"
            },
            "maxLength": 1000,
            "description": "Muted accounts (content de-emphasized, collapsed but visible)."
          },
          "updatedAt": {
            "type": "string",
            "format": "datetime",
            "description": "Client-declared timestamp when preferences were last updated."
          },
          "mutedWords": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 1000,
              "maxGraphemes": 100
            },
            "maxLength": 100,
            "description": "Global muted words (apply to all communities)."
          },
          "blockedDids": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "did"
            },
            "maxLength": 1000,
            "description": "Blocked accounts (content hidden everywhere)."
          },
          "maturityLevel": {
            "type": "string",
            "description": "Maximum maturity tier to show. Default: 'safe'.",
            "knownValues": [
              "safe",
              "mature",
              "all"
            ]
          },
          "crossPostDefaults": {
            "ref": "#crossPostConfig",
            "type": "ref",
            "description": "Per-service toggle for cross-posting new topics."
          }
        }
      },
      "description": "User-level moderation and safety preferences. Portable across AppViews."
    },
    "crossPostConfig": {
      "type": "object",
      "properties": {
        "bluesky": {
          "type": "boolean",
          "description": "Cross-post new topics to Bluesky. Default: false."
        },
        "frontpage": {
          "type": "boolean",
          "description": "Cross-post new topics to Frontpage. Default: false."
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "description": "User-level moderation, safety, and cross-posting preferences. Portable across AppViews."
}
```
