# EPK schema (earthside_epk_v1)

| Field | Type | Notes |
|-------|------|--------|
| `slug` | string | URL id |
| `display_name` | string | Public name |
| `legal_or_private_name` | string \| null | **never public by default** |
| `aka` | string[] | handles, stage names |
| `status` | active \| intake \| hiatus | |
| `accent` | hex | |
| `tagline` | string | one breath |
| `lanes` | string[] | what they do |
| `bio_short` | string | ≤280 chars public |
| `bio_long` | string | optional, public if flagged |
| `socials` | {label,url,public}[] | |
| `avatars` | {id,path,label,public}[] | |
| `branding` | {id,path,label,public}[] | |
| `worldbuilding_tags` | string[] | aesthetic keywords for art collab |
| `personality_tags` | string[] | soft tags for tone (not diagnosis) |
| `collab_open_to` | string[] | music, worlds, code, events… |
| `epk_images` | paths relative to pack | |
| `notes_private` | string | operators only |
| `updated_at` | ISO | |

Public HTML must filter `public: false` and never print `notes_private` / `legal_or_private_name`.
