Bootstrapwarebootstrapware

Features

What Bootstrapware Chat includes

A narrow embeddable messenger: 1:1 and groups, host-asserted identity, BYO or Hosted storage, and app config, without public chat pages.
Chat conversation list with unread badges and an idle thread.Group thread Launch checklist with member add, Leave, and messages from Kai and Ada.

1:1 conversations

Direct threads unique per pair of host-asserted ids. No invite links.

Groups up to 20

Optional title, add, remove, and leave when allowMemberManage is on.

Read and unread

Per-member unread counts. markRead is part of the adapter contract.

Plain-text messages

4,000 character cap. Sender edit and delete. Deleted messages stay as a tombstone.

Attachments

jpeg, png, webp, gif, PDF. 10 MB each, 4 per message. Hosted freeze cap at 1 GB or 10 GB.

Conversation search

Hosted search is conversation-scoped. BYO can implement searchMessages.

Live updates

Hosted SSE plus a 4 second poll fallback. BYO optional subscribe.

Opt-in browser notifications

Notify in the widget header is default off. Load never prompts. After the user opts in, hidden-tab messages from others can show a system notification. Visible-tab, self, opted-out, and denied permission do not. No email, SMS, or server push.

BYO adapter

Implement conversations, messages, members, and files on your API. We host app config only.

Hosted messages

Omit the adapter; pass appId + publishable key. Messages and files store on Bootstrapware.

Host-asserted identity

Pass user={{ id }}. Opaque stable ids. Optional name, email, avatarUrl for display only.

Embed-only chat

No public chat URLs. The widget is for authenticated product embeds.

App configuration

allowDirect, allowGroups, allowAttachments, allowMemberManage, empty state, branding, origins.

Configuration revisions

Draft without changing what live clients load until you publish.

Test and live environments

bsw_test_* and bsw_live_* keys. Live config needs BYO or Hosted entitlement.

Operational sessions

Dashboard usage metadata and Hosted attachment bytes vs cap. Never message bodies.

Webhooks

Conversation, message, and member events with HMAC signing. Identifiers only.

Moderation tools (Hosted)

Dashboard inbox for Team send, delete, archive, and JSON export.

MCP for app config

Create, draft, and publish apps from Cursor. Never message bodies or file bytes.