Implement tools.ozone (Ozone moderation) client support #18

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

Summary

The AT Protocol ecosystem includes tools.ozone.* namespace for moderation tooling (Ozone). ATProto.NET has no support for this namespace, which is essential for building moderation services and tools.

Spec Reference

The tools.ozone namespace covers moderation, labeling, and team management:

Key endpoint groups to implement

Moderation:

  • tools.ozone.moderation.emitEvent - Emit moderation event (takedown, label, acknowledge, escalate, etc.)
  • tools.ozone.moderation.getEvent - Get a specific moderation event
  • tools.ozone.moderation.getRecord - Get record with moderation context
  • tools.ozone.moderation.getRepo - Get repo/account with moderation context
  • tools.ozone.moderation.queryEvents - Search/filter moderation events
  • tools.ozone.moderation.querySubjects - Search/filter subjects (queue view)
  • tools.ozone.moderation.searchRepos - Search repos with moderation context

Communication:

  • tools.ozone.communication.createTemplate - Create email template
  • tools.ozone.communication.deleteTemplate - Delete template
  • tools.ozone.communication.listTemplates - List templates
  • tools.ozone.communication.updateTemplate - Update template

Team Management:

  • tools.ozone.team.addMember - Add team member
  • tools.ozone.team.deleteMember - Remove team member
  • tools.ozone.team.listMembers - List team members
  • tools.ozone.team.updateMember - Update member role

Sets (for rule management):

  • tools.ozone.set.addValues / deleteValues / getValues / querySets / upsertSet / deleteSet

Server:

  • tools.ozone.server.getConfig - Get Ozone server config

Signatures:

  • tools.ozone.signature.findCorrelation / searchAccounts / findRelatedAccounts

Implementation notes

  • Ozone is the reference moderation system for AT Protocol
  • Uses service-level auth (JWT with iss/aud/lxm claims)
  • Moderation data is private to each Ozone instance (except labels)
  • Models needed: ModerationEvent, SubjectView, RecordView, etc.
## Summary The AT Protocol ecosystem includes `tools.ozone.*` namespace for moderation tooling (Ozone). ATProto.NET has no support for this namespace, which is essential for building moderation services and tools. ## Spec Reference The `tools.ozone` namespace covers moderation, labeling, and team management: ### Key endpoint groups to implement **Moderation:** - `tools.ozone.moderation.emitEvent` - Emit moderation event (takedown, label, acknowledge, escalate, etc.) - `tools.ozone.moderation.getEvent` - Get a specific moderation event - `tools.ozone.moderation.getRecord` - Get record with moderation context - `tools.ozone.moderation.getRepo` - Get repo/account with moderation context - `tools.ozone.moderation.queryEvents` - Search/filter moderation events - `tools.ozone.moderation.querySubjects` - Search/filter subjects (queue view) - `tools.ozone.moderation.searchRepos` - Search repos with moderation context **Communication:** - `tools.ozone.communication.createTemplate` - Create email template - `tools.ozone.communication.deleteTemplate` - Delete template - `tools.ozone.communication.listTemplates` - List templates - `tools.ozone.communication.updateTemplate` - Update template **Team Management:** - `tools.ozone.team.addMember` - Add team member - `tools.ozone.team.deleteMember` - Remove team member - `tools.ozone.team.listMembers` - List team members - `tools.ozone.team.updateMember` - Update member role **Sets (for rule management):** - `tools.ozone.set.addValues` / `deleteValues` / `getValues` / `querySets` / `upsertSet` / `deleteSet` **Server:** - `tools.ozone.server.getConfig` - Get Ozone server config **Signatures:** - `tools.ozone.signature.findCorrelation` / `searchAccounts` / `findRelatedAccounts` ### Implementation notes - Ozone is the reference moderation system for AT Protocol - Uses service-level auth (JWT with `iss`/`aud`/`lxm` claims) - Moderation data is private to each Ozone instance (except labels) - Models needed: ModerationEvent, SubjectView, RecordView, etc.
Sign in to join this conversation.
No description provided.