Client bot · safety
Every hosted assistant runs inside real guardrails, not good intentions: a spend ceiling checked before each call, injection and abuse screening on every turn, origin-locked embedding, and a one-switch pause for every public bot. The default posture is locked down.
Spend cap
per-bot USD limitEach assistant has a per-bot dollar cap. It’s checked before a model is ever called, so the bill can’t run away — the assistant stops answering before it can overspend, rather than being reconciled after the fact.
Screening
admission gatesEvery incoming turn passes an admission gate before it reaches the model — prompt-injection and abuse attempts are screened out, so a visitor can’t talk the assistant out of its instructions.
Origin lock
embed_originThe widget is locked to the origin you register. Embedded anywhere else, it refuses — so no one can lift your assistant onto another site and spend against your account.
Kill switch
one-switch pauseA single control puts every public assistant to sleep at once — it shows a quiet “sleeping” state and calls no model, so there is zero spend while paused. Flip it back to wake them.
The order a turn runs in
Is this coming from your registered site?
Injection / abuse gate on the turn.
Is this bot under its dollar ceiling?
Only now does a model get called.
Every gate runs beforea model is called. A request from the wrong origin, an abusive turn, or a bot at its spend ceiling is stopped up front — so the failure mode is “refused”, never a surprise bill.
The posture
A new assistant starts closed: staff-only until you publish it, origin-locked, capped, and screened. You open it up deliberately, not by accident — and if anything ever looks off, the one-switch pause silences every public bot instantly, at zero spend, while you look.