Configure

Secure your widget with domain locks

The key in your snippet is not a secret and was never meant to be. Understanding why changes how you secure it.

Start freeNo credit card. 2 minute setup.

A public key looks like a leak until you bound it

Anyone can view source and copy the snippet. If the only thing standing between that and your usage allowance is obscurity, you have no control at all — which is why the controls are origin-based rather than secrecy-based.

  • A key visible to anyone who opens developer tools
  • No restriction on which sites may serve the widget
  • No per-visitor bound on message volume
  • Nothing stopping a copied snippet from spending your allowance

Understand what the key is

It is a public identifier that tells our API which bot is being addressed. It has to be in the page for the widget to work, so it is designed to be bounded rather than hidden — the same model as a public analytics or maps key.

List every origin that should serve it

Add each domain the widget legitimately runs on. Remember that www and the apex are separate origins, and that a copied snippet on an unlisted domain simply will not answer.

The allowed domains list holding northwind.coffee and www.northwind.coffee as separate entries, with a warning that chats have been seen from localhost, which is not on the list.
The warning is the useful part: it tells you the widget is being served somewhere you have not authorised, which is either a mistake or someone else's site.

Both www and apex

If you serve both, list both.

Separate bot for staging

Cleaner than widening a production lock to a test host.

Bound a single visitor

Per-visitor rate limits cap how many messages one client can send in a window. Set it well above a normal conversation so real customers never notice, and low enough that a script cannot sit there consuming your allowance.

Cap the day

The hard daily reply cap is the backstop that makes the other two controls survivable if they are somehow bypassed. Once reached the bot stops rather than continuing to spend.

Common questions

Should I rotate the public key?
Rotation is not the control here — the key is public by design. If you believe it is being used somewhere it should not be, tighten the domain lock, which is what actually restricts use.
What happens if someone puts my snippet on their site?
If their domain is not in your lock list, it will not answer. That is the entire point of the mechanism.
Is conversation data visible to other bots?
No. Each bot has its own knowledge sources and its own conversation history, which is what makes the multi-tenant agency model workable.

From the blog

All posts

Answer honestly. Capture the rest.

Point Matter Chat at your site and see what it can — and can't — answer. It's honest about both.

Start free — chat in your site

No credit card. 2 minute setup.

Every answer cites the source it came from. When there isn't one, it says so — and hands the visitor to you.

Installs on the tools you already run.