Skip to content

Platform

Subscription Gating Engine

Which tools even exist is recomputed per request. A disabled capability is structurally absent, not filtered out.

Webhook
Enforced at
Tool construction
Read the steps as a list
  1. trigger Customer message
  2. action Read tier + toggles · Supabase
  3. condition Tier allows?
  4. condition Toggled on?
  5. condition Business type supports?
  6. output Tool bound to model
  7. 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.