Publish an application deliberately, and give its page a chat key

FeatureSecurityService
Shipped
September 5, 2026 at 8:32 PM UTC
Author
Kamo
Commit
ce555a4

`PUT **************** publishes or retires a product's public page and records which web chat its support widget speaks through. Enabling without one is refused: a borrower filling in a mortgage application will have a question, and a form with no way to ask one is where they stop. The public endpoint now 404s a product nobody has published — the same answer as a deleted one, so a link that was live yesterday and retired today says what a mistyped one says. Before this, every mortgage product had a live public endpoint from the moment it was created. And it returns the widget's site key, resolved from the integration the product was published with. That has to happen here: one deployment serves every lender, so the key cannot be a build-time variable — the product id in the URL chooses it, the same way it already chooses the branding and the disclosures. The chat block answers `enabled: false` rather than failing when the integration has been deleted, disabled, belongs to another org, or was never given a hosted key. The application matters more than the bubble; a borrower who cannot apply because a chat widget is misconfigured is the worst of the three outcomes.

All changes

Like what you see shipping?

Every one of these updates lands in your workspace automatically. Start free and watch it grow week after week.

Start Free ForeverView Pricing