Configuration

Hosted board configuration is the published settings the embed loads with a publishable key. Feedback is embed-only, there are no public board URLs. Post title/body are never part of configuration and must not be sent through MCP.

Local / BYO vs hosted config

  • Local / BYO adapter: you can pass optional config props or rely on widget defaults.
  • Hosted config: create a board, edit a draft, publish a revision, then pass boardId + publishable key. BYO plans still use hosted config for toggles while posts stay on your backend.

What the client loads

Published config includes board id, name, revision, and:

  • submissionsEnabled
  • votingEnabled
  • showVoteCounts
  • allowAnonymous
  • requireAuthorToken
  • emptyState
  • branding (optional title, primaryColor, logoUrl)

Statuses are fixed in the product (open | planned | in_progress | shipped | declined), not free-form config strings. Title max 200 / body max 5000 are package limits, not board toggles.

Draft, publish, fetch

Edit drafts in the dashboard or via secret-key / MCP APIs, then publish. Live clients keep the last published revision until you publish again. See Configuration revisions.

Live bsw_live_pub_ config fetch needs BYO ($9.99) or Hosted ($19.99). Publishing alone does not grant live entitlements.

Branding

Optional branding.title can override the heading the widget shows. primaryColor sets the accent. When it is set, it writes --bsw-fb-accent inline and overrides the theme accent. Optional logoUrl renders beside the title when present in published config.

Theme

Visual theme is a component prop, not a published board field. theme is "light" | "dark". Omit it and the board stays the light cream default, with no data-theme attribute. v1 does not follow prefers-color-scheme or the system theme. theme="dark" sets data-theme="dark".

Hosts may set these CSS custom properties on the embed root (.bsw-fb): --bsw-fb-bg, --bsw-fb-panel, --bsw-fb-fg, --bsw-fb-muted, --bsw-fb-line, --bsw-fb-accent, --bsw-fb-accent-fg, --bsw-fb-radius. These overrides are the supported API. Do not fight .bsw-* classes. With theme="dark", target .bsw-fb[data-theme="dark"] so your values win over the dark defaults.

Related: Revisions · Boards · Statuses · React component · API overview