# app.zeens.chatPrefs

> Published by [zeens.app](https://lexicon.garden/identity/did:plc:pwpuqwge6g7xrjmfbw73uycw)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.chatPrefs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.chatPrefs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:pwpuqwge6g7xrjmfbw73uycw/app.zeens.chatPrefs/examples)

## Definitions

### `app.zeens.chatPrefs`

**Type**: `record`

A user's chat privacy preference: who may start a conversation with them. This is a public policy flag (not message content), so storing it in a public repo is fine. One record per user (rkey 'self'). The server-side gate and the AppView indexer both enforce it. Carries the app.zeens.v marker.

**Key**: `literal:self`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `allow` | `string` | Yes | off = no one can message. mutuals = only people you both follow. everyone = anyone, but a first message from a non-mutual lands in Requests until you reply. |
| `app.zeens.v` | `integer` | Yes | Zeens version marker (always 1). |
| `createdAt` | `string` (datetime) | Yes | When this preference was last set. |

## Raw Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A user's chat privacy preference: who may start a conversation with them. This is a public policy flag (not message content), so storing it in a public repo is fine. One record per user (rkey 'self'). The server-side gate and the AppView indexer both enforce it. Carries the app.zeens.v marker.",
      "key": "literal:self",
      "record": {
        "properties": {
          "allow": {
            "default": "mutuals",
            "description": "off = no one can message. mutuals = only people you both follow. everyone = anyone, but a first message from a non-mutual lands in Requests until you reply.",
            "enum": [
              "off",
              "mutuals",
              "everyone"
            ],
            "type": "string"
          },
          "app.zeens.v": {
            "description": "Zeens version marker (always 1).",
            "type": "integer"
          },
          "createdAt": {
            "description": "When this preference was last set.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "allow",
          "createdAt",
          "app.zeens.v"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "app.zeens.chatPrefs",
  "lexicon": 1
}
```
