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