# fyi.opensocial.moderate

> For group-DID sessions.

- Kind: permission-set
- Authority: opensocial.fyi
- Lexicon: 1
- Published by [lexicons.opensocial.fyi](https://lexicon.garden/identity/did:plc:2gqnilpksz2e7faj3bwvo6qc), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.moderate)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.moderate/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:2gqnilpksz2e7faj3bwvo6qc/fyi.opensocial.moderate/analytics)

## Permission set (`fyi.opensocial.moderate`)

Type: permission-set

### Shown at sign-in

- `title` (string): Group moderation
- `detail` (string): Review reports and moderation history, and label members.

### Permissions

- `space` (permission): Read, create, update and delete fyi.opensocial.label records in the space self among your own fyi.opensocial.meta spaces. From the Atproto Spaces proposal (0016); servers without it ignore space permissions.
  - Constraints: authority: self, skey: self, collection: fyi.opensocial.label, action: read, create, update, delete
  - Space type: `fyi.opensocial.meta`
- `space` (permission): Read, create, update and delete fyi.opensocial.label records in the space self among your own fyi.opensocial.members spaces. From the Atproto Spaces proposal (0016); servers without it ignore space permissions.
  - Constraints: authority: self, skey: self, collection: fyi.opensocial.label, action: read, create, update, delete
  - Space type: `fyi.opensocial.members`
- `rpc` (permission): Call fyi.opensocial.listSubjects, fyi.opensocial.getSubjectHistory and fyi.opensocial.resolveSubject on any service, by the reference implementation's rules. Servers that require a concrete audience grant it only with inheritAud and an aud on the scope.
  - Constraints: aud: *
  - Methods: `fyi.opensocial.listSubjects`, `fyi.opensocial.getSubjectHistory`, `fyi.opensocial.resolveSubject`

### Asking for it (OAuth scope)

- `include:fyi.opensocial.moderate` (scope): A client asks for this permission set with this scope. The scope builder lists what the set grants.
  - Scope builder: `Open in the scope builder`

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "For group-DID sessions.",
      "detail": "Review reports and moderation history, and label members.",
      "permissions": [
        {
          "action": [
            "read",
            "create",
            "update",
            "delete"
          ],
          "authority": "self",
          "collection": [
            "fyi.opensocial.label"
          ],
          "resource": "space",
          "skey": "self",
          "spaceType": "fyi.opensocial.meta",
          "type": "permission"
        },
        {
          "action": [
            "read",
            "create",
            "update",
            "delete"
          ],
          "authority": "self",
          "collection": [
            "fyi.opensocial.label"
          ],
          "resource": "space",
          "skey": "self",
          "spaceType": "fyi.opensocial.members",
          "type": "permission"
        },
        {
          "aud": "*",
          "lxm": [
            "fyi.opensocial.listSubjects",
            "fyi.opensocial.getSubjectHistory",
            "fyi.opensocial.resolveSubject"
          ],
          "resource": "rpc",
          "type": "permission"
        }
      ],
      "title": "Group moderation",
      "type": "permission-set"
    }
  },
  "id": "fyi.opensocial.moderate",
  "lexicon": 1
}
```
