Run it on localhost
In Doors → Allowed origins, add your local origin:http is accepted. http://localhost:3000 and http://127.0.0.1:3000 are two different origins: add the one in your address bar. Remove local origins before you go live.
Use a test customer
On the per-user door, open sessions for an account you own, such as a demo customer in your database. Its conversation is kept like any other, one per assistant and per partition. Erase it when you are done:Test your session route
Call your route the way your page does, with your login cookie:
Your route should turn each one into an error your page handles. See Errors.
Test renewal without waiting 15 minutes
Hand the assistant a token Concatflow will refuse, then open it:onSessionExpired, takes the new token, and the panel works. If onSessionExpired is missing or throws, the assistant stops answering: that is what your customers would see after 15 minutes. See Session renewal.
Test isolation with two customers
Log in as customer A and ask a question only A’s data can answer. Log in as customer B in another browser and ask the same question. B must see neither A’s rows nor A’s questions. It is the last step of the Go-live checklist.Unit-test your route
@concatflow/node calls the global fetch. Stub it to test your code without a network or an API key. With Node’s own test runner:
session.test.ts
Limits you will meet while testing
These limits protect your credits. They apply to testers like anyone else: a whole team behind one office IP shares the per-IP limit.
When a limit is reached, the assistant stays on the page and answers with a short message instead. That reply calls no model and costs nothing. Wait an hour, or raise Rate while you test.