at.margin.preferences

margin.at

{
  "id": "at.margin.preferences",
  "defs": {
    "main": {
      "key": "literal:self",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "createdAt"
        ],
        "properties": {
          "createdAt": {
            "type": "string",
            "format": "datetime"
          },
          "labelPreferences": {
            "type": "array",
            "items": {
              "ref": "#labelPreference",
              "type": "ref"
            },
            "maxLength": 500,
            "description": "Per-label visibility preferences for subscribed labelers."
          },
          "subscribedLabelers": {
            "type": "array",
            "items": {
              "ref": "#labelerSubscription",
              "type": "ref"
            },
            "maxLength": 50,
            "description": "List of labeler services the user subscribes to for content moderation."
          },
          "disableExternalLinkWarning": {
            "type": "boolean",
            "description": "If true, do not show the confirmation modal when opening external links."
          },
          "externalLinkSkippedHostnames": {
            "type": "array",
            "items": {
              "type": "string",
              "maxLength": 255
            },
            "maxLength": 100,
            "description": "List of hostnames to skip the external link warning modal for."
          }
        }
      },
      "description": "User preferences for the Margin application."
    },
    "labelPreference": {
      "type": "object",
      "required": [
        "labelerDid",
        "label",
        "visibility"
      ],
      "properties": {
        "label": {
          "type": "string",
          "description": "The label identifier (e.g. sexual, violence, spam)."
        },
        "labelerDid": {
          "type": "string",
          "description": "DID of the labeler service."
        },
        "visibility": {
          "type": "string",
          "description": "How to handle content with this label: hide, warn, or ignore.",
          "knownValues": [
            "hide",
            "warn",
            "ignore"
          ]
        }
      }
    },
    "labelerSubscription": {
      "type": "object",
      "required": [
        "did"
      ],
      "properties": {
        "did": {
          "type": "string",
          "description": "DID of the labeler service."
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}

Validate Record

Validate a record against at.margin.preferences

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:rjqn3agdb74cszhqcpii4sne
CID
bafyreibjlbp6lhtqqbo4touyrtjpiwilbxuido2ao3tftk3bvg2ur3h6ty
Indexed At
2026-02-13 14:19 UTC
AT-URI
at://did:plc:rjqn3agdb74cszhqcpii4sne/com.atproto.lexicon.schema/at.margin.preferences

Lexicon Garden

@