# at.blueharbor.membership

> Published by [toddlambert.com](https://lexicon.garden/identity/did:plc:r5pj64joaywqnvk2obembpt7)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:r5pj64joaywqnvk2obembpt7/at.blueharbor.membership)
- [Documentation](https://lexicon.garden/lexicon/did:plc:r5pj64joaywqnvk2obembpt7/at.blueharbor.membership/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:r5pj64joaywqnvk2obembpt7/at.blueharbor.membership/examples)

## Definitions

### `at.blueharbor.membership`

**Type**: `record`

A user's public claim of membership in a harbor. Only the account holder can write their repo, so the record proves intent and makes the membership graph portable. Access to messages is granted by the harbor's app service, which verifies this record exists; deleting it is leaving. A kick does not touch this record — the service is the access authority.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `harbor` | `string` (at-uri) | Yes |  |
| `createdAt` | `string` (datetime) | Yes |  |

## Raw Schema

```json
{
  "id": "at.blueharbor.membership",
  "defs": {
    "main": {
      "key": "tid",
      "type": "record",
      "record": {
        "type": "object",
        "required": [
          "harbor",
          "createdAt"
        ],
        "properties": {
          "harbor": {
            "type": "string",
            "format": "at-uri"
          },
          "createdAt": {
            "type": "string",
            "format": "datetime"
          }
        }
      },
      "description": "A user's public claim of membership in a harbor. Only the account holder can write their repo, so the record proves intent and makes the membership graph portable. Access to messages is granted by the harbor's app service, which verifies this record exists; deleting it is leaving. A kick does not touch this record — the service is the access authority."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
