Platform
Subscription Gating Engine
Which tools even exist is recomputed per request. A disabled capability is structurally absent, not filtered out.
Webhook- TypeScript
- Supabase
- PostgreSQL
- Enforced at
- Tool construction
Read the steps as a list
- trigger Customer message
- action Read tier + toggles · Supabase
- condition Tier allows?
- condition Toggled on?
- condition Business type supports?
- output Tool bound to model
- output Tool never constructed
The model cannot call what was never given to it.
The problem
Prompt-level rules (“do not take orders for this customer”) are a suggestion. A sufficiently determined conversation gets around them, and that is a licensing hole as much as a safety one.
How it works
Before any model call, the set of tools bound to the agent is computed as the intersection of the business's subscription tier, their dashboard toggles, and whether their business type supports the capability at all.
The outcome
A capability a business has not paid for is never bound to the model. Not filtered from a list, not blocked by a prompt rule — structurally absent from what the LLM is even able to call. A lead-only real-estate business cannot construct an order-taking tool, full stop.