# tech.waow.brand.defs

> Published by [waow.tech](https://lexicon.garden/identity/did:plc:siv7zbedip4vcet4v67piibr)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:siv7zbedip4vcet4v67piibr/tech.waow.brand.defs)
- [Documentation](https://lexicon.garden/lexicon/did:plc:siv7zbedip4vcet4v67piibr/tech.waow.brand.defs/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:siv7zbedip4vcet4v67piibr/tech.waow.brand.defs/examples)

## Definitions

### `tech.waow.brand.defs#colors`

**Type**: `object`

Brand colors as sRGB hex, '#rrggbb'. Shared by the declaration record and the views that render it.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `primary` | `string` | No |  |
| `background` | `string` | No |  |
| `foreground` | `string` | No |  |

### `tech.waow.brand.defs#authority`

**Type**: `object`

Who chose this, and where they said it. For a namespace, the DID its _lexicon TXT record names; for an actor, the account itself.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |
| `domain` | `string` | Yes | The domain whose _lexicon TXT record names the declaring DID, or the actor's handle. |

### `tech.waow.brand.defs#brandView`

**Type**: `object`

Resolved brand assets for one namespace.

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `url` | `string` (uri) | No |  |
| `icon` | `string` | Yes | URL for the icon: an https URL, or a data: URI when generated. |
| `name` | `string` | No |  |
| `known` | `boolean` | No | Whether records have ever been written under this exact namespace, or a schema published for it. Prefix inheritance means an invented namespace still resolves with its parent's icon, so this is how a consumer spots a typo. A hint, never a rejection: false can also mean declared-but-not-yet-used. Absent for actors, or when the check failed. |
| `colors` | `ref` → `tech.waow.brand.defs#colors` | No |  |
| `source` | `string` | Yes | Who chose this. 'declared': the namespace's lexicon authority, in a record. 'borrowed': the reverse-DNS domain's atproto account avatar, chosen for that account rather than for this namespace. 'curated': the responding service's own table. 'generated': nobody, a deterministic monogram. |
| `matched` | `string` | Yes | What actually answered: the namespace itself, a shorter prefix it inherits from, or -- for an actor -- their resolved handle. |
| `subject` | `string` | Yes | What kind of thing answered. 'plyr.fm' and 'fm.plyr' are both well-formed inputs and mean entirely different things: an identity and a namespace. |
| `wordmark` | `string` | No |  |
| `authority` | `ref` → `tech.waow.brand.defs#authority` | No |  |
| `namespace` | `string` | Yes | The namespace or identifier that was asked for. |
| `iconSource` | `string` | No | Present only when the icon comes from a lower tier than the rest of the response, e.g. a declaration that omitted an icon. The icon never inherits the declaration's authority. |
| `description` | `string` | No |  |

## Raw Schema

```json
{
  "id": "tech.waow.brand.defs",
  "defs": {
    "colors": {
      "type": "object",
      "properties": {
        "primary": {
          "type": "string",
          "maxLength": 7
        },
        "background": {
          "type": "string",
          "maxLength": 7
        },
        "foreground": {
          "type": "string",
          "maxLength": 7
        }
      },
      "description": "Brand colors as sRGB hex, '#rrggbb'. Shared by the declaration record and the views that render it."
    },
    "authority": {
      "type": "object",
      "required": [
        "domain",
        "did",
        "uri"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "domain": {
          "type": "string",
          "maxLength": 253,
          "description": "The domain whose _lexicon TXT record names the declaring DID, or the actor's handle."
        }
      },
      "description": "Who chose this, and where they said it. For a namespace, the DID its _lexicon TXT record names; for an actor, the account itself."
    },
    "brandView": {
      "type": "object",
      "required": [
        "subject",
        "namespace",
        "matched",
        "source",
        "icon"
      ],
      "properties": {
        "url": {
          "type": "string",
          "format": "uri"
        },
        "icon": {
          "type": "string",
          "maxLength": 8192,
          "description": "URL for the icon: an https URL, or a data: URI when generated."
        },
        "name": {
          "type": "string",
          "maxLength": 128
        },
        "known": {
          "type": "boolean",
          "description": "Whether records have ever been written under this exact namespace, or a schema published for it. Prefix inheritance means an invented namespace still resolves with its parent's icon, so this is how a consumer spots a typo. A hint, never a rejection: false can also mean declared-but-not-yet-used. Absent for actors, or when the check failed."
        },
        "colors": {
          "ref": "tech.waow.brand.defs#colors",
          "type": "ref"
        },
        "source": {
          "type": "string",
          "maxLength": 32,
          "description": "Who chose this. 'declared': the namespace's lexicon authority, in a record. 'borrowed': the reverse-DNS domain's atproto account avatar, chosen for that account rather than for this namespace. 'curated': the responding service's own table. 'generated': nobody, a deterministic monogram.",
          "knownValues": [
            "declared",
            "borrowed",
            "curated",
            "generated"
          ]
        },
        "matched": {
          "type": "string",
          "maxLength": 317,
          "description": "What actually answered: the namespace itself, a shorter prefix it inherits from, or -- for an actor -- their resolved handle."
        },
        "subject": {
          "type": "string",
          "maxLength": 16,
          "description": "What kind of thing answered. 'plyr.fm' and 'fm.plyr' are both well-formed inputs and mean entirely different things: an identity and a namespace.",
          "knownValues": [
            "namespace",
            "actor"
          ]
        },
        "wordmark": {
          "type": "string",
          "maxLength": 8192
        },
        "authority": {
          "ref": "tech.waow.brand.defs#authority",
          "type": "ref"
        },
        "namespace": {
          "type": "string",
          "maxLength": 317,
          "description": "The namespace or identifier that was asked for."
        },
        "iconSource": {
          "type": "string",
          "maxLength": 32,
          "description": "Present only when the icon comes from a lower tier than the rest of the response, e.g. a declaration that omitted an icon. The icon never inherits the declaration's authority.",
          "knownValues": [
            "declared",
            "borrowed",
            "curated",
            "generated"
          ]
        },
        "description": {
          "type": "string",
          "maxLength": 512
        }
      },
      "description": "Resolved brand assets for one namespace."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
