Private in-app chat (no public URLs)
Public chat links look like product marketing. They also attract spam, scrapers, and users who are not your customers.
Bootstrapware Chat is embed-only. There is no anonymous chat page for visitors. No invite URLs. No Slack bridge. You mount the widget where you already know the user.
That is product scope, not a missing feature.
What embed-only means
- The messenger lives inside your authenticated app (dashboard, project, deal room), not on a marketing-facing inbox site.
- Your host asserts
user.id. Chat does not run an end-user login. - App config is published for the widget; messages are BYO or Hosted depending on mode.
- MCP and secret APIs configure apps. They do not replace your product shell.
When you still want a public inbox
If you need a public support chat, community, or omnichannel desk, use a communications or support vendor. Chat is for in-product threads. See Chat vs alternatives, vs Stream, vs Sendbird.
Identity still matters
Embed-only is not the same as private-by-magic. A leaked publishable key can still forge author.id against Hosted routes. Use origins and host-asserted identity.
Related: Compare · Identity · Privacy · Conversations