Add labeler service support (app.bsky.labeler.getServices and label interpretation) #25

Closed
opened 2026-04-12 17:29:28 +00:00 by Grandiras · 0 comments
Owner

Summary

ATProto.NET is missing the app.bsky.labeler.getServices endpoint and comprehensive labeler service support. This is needed for clients to fetch labeler configuration and definitions.

Missing functionality

  1. app.bsky.labeler.getServices - Fetch labeler service information and label definitions

    • Input: array of DIDs (labeler services to query)
    • Returns: service info, label value definitions, policies
    • Needed for interpreting custom labels from third-party labelers
  2. Labeler header management - Clients need to include labeler preferences in HTTP headers:

    • atproto-accept-labelers header with subscribed labeler DIDs
    • Automatic header injection based on user preferences
  3. Label interpretation - Apply label behaviors to content:

    • Standard label values (porn, sexual, nudity, graphic-media, etc.)
    • Custom label value definitions from third-party labelers
    • Label severity levels (inform, alert, none)
    • Blur behaviors (content, media, none)
    • Default settings (ignore, warn, hide)
  4. app.bsky.labeler.service record type - For declaring a labeler service

    • Labeler policies (published label values)
    • Custom label value definitions with localized names/descriptions

Why this matters

  • Stackable moderation is a core AT Protocol feature
  • Users can subscribe to multiple labeler services
  • Clients need to properly interpret and display labels from various sources
  • Without this, content warnings and moderation labels from non-default labelers are invisible
## Summary ATProto.NET is missing the `app.bsky.labeler.getServices` endpoint and comprehensive labeler service support. This is needed for clients to fetch labeler configuration and definitions. ## Missing functionality 1. **`app.bsky.labeler.getServices`** - Fetch labeler service information and label definitions - Input: array of DIDs (labeler services to query) - Returns: service info, label value definitions, policies - Needed for interpreting custom labels from third-party labelers 2. **Labeler header management** - Clients need to include labeler preferences in HTTP headers: - `atproto-accept-labelers` header with subscribed labeler DIDs - Automatic header injection based on user preferences 3. **Label interpretation** - Apply label behaviors to content: - Standard label values (porn, sexual, nudity, graphic-media, etc.) - Custom label value definitions from third-party labelers - Label severity levels (inform, alert, none) - Blur behaviors (content, media, none) - Default settings (ignore, warn, hide) 4. **`app.bsky.labeler.service` record type** - For declaring a labeler service - Labeler policies (published label values) - Custom label value definitions with localized names/descriptions ## Why this matters - Stackable moderation is a core AT Protocol feature - Users can subscribe to multiple labeler services - Clients need to properly interpret and display labels from various sources - Without this, content warnings and moderation labels from non-default labelers are invisible
Sign in to join this conversation.
No description provided.