# us.off-the-clock.subspace.policy

> Space policy for a tree of spaces under one authority. A root omits parent and admits members directly; a space with a parent admits only members of its parent.

- Kind: object
- Authority: subspace.off-the-clock.us
- Lexicon: 1
- Published by [off-the-clock.us](https://lexicon.garden/identity/did:plc:tevv7zpavtjtsvqrrwwipobt), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:tevv7zpavtjtsvqrrwwipobt/us.off-the-clock.subspace.policy)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:tevv7zpavtjtsvqrrwwipobt/us.off-the-clock.subspace.policy/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:tevv7zpavtjtsvqrrwwipobt/us.off-the-clock.subspace.policy/analytics)

## Object (`us.off-the-clock.subspace.policy`)

Type: object

### Properties

- `allowedApps` (array): If set, the authority mints a credential only for these apps, evaluated against the attested client_id. When omitted, a space with a parent uses its parent's effective list, and a root admits any app.
  - `items` (string): An OAuth client ID.
- `parent` (string · space-ref): The parent space, governed by this same policy and sharing this space's authority. Omitted on a root.
- `parentAccess` (string): The access every parent member has in this space without a member entry: read, read and write, or none. Takes effect when parent is set.
  - Constraints: default: "read", knownValues: read | write | none
- `publicRead` (boolean): If true, the authority issues a space credential to anyone, with or without a delegation token.
  - Constraints: default: false
- `publishMembers` (string): A space under this space's authority, written as '<spaceType>/<skey>', where the host publishes this space's member entries in us.off-the-clock.subspace.member records in the authority's repo. Omitted when the member list is not published.
- `publishPolicy` (boolean): Publish the policy to readers as a com.atproto.space.policy record in the authority's repo in the space.
  - Constraints: default: false

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Space policy for a tree of spaces under one authority. A root omits parent and admits members directly; a space with a parent admits only members of its parent.",
      "properties": {
        "allowedApps": {
          "description": "If set, the authority mints a credential only for these apps, evaluated against the attested client_id. When omitted, a space with a parent uses its parent's effective list, and a root admits any app.",
          "items": {
            "description": "An OAuth client ID.",
            "type": "string"
          },
          "type": "array"
        },
        "parent": {
          "description": "The parent space, governed by this same policy and sharing this space's authority. Omitted on a root.",
          "format": "space-ref",
          "type": "string"
        },
        "parentAccess": {
          "default": "read",
          "description": "The access every parent member has in this space without a member entry: read, read and write, or none. Takes effect when parent is set.",
          "knownValues": [
            "read",
            "write",
            "none"
          ],
          "type": "string"
        },
        "publicRead": {
          "default": false,
          "description": "If true, the authority issues a space credential to anyone, with or without a delegation token.",
          "type": "boolean"
        },
        "publishMembers": {
          "description": "A space under this space's authority, written as '<spaceType>/<skey>', where the host publishes this space's member entries in us.off-the-clock.subspace.member records in the authority's repo. Omitted when the member list is not published.",
          "type": "string"
        },
        "publishPolicy": {
          "default": false,
          "description": "Publish the policy to readers as a com.atproto.space.policy record in the authority's repo in the space.",
          "type": "boolean"
        }
      },
      "type": "object"
    }
  },
  "id": "us.off-the-clock.subspace.policy",
  "lexicon": 1
}
```
