Plans & limits
Connection-based tiers, what each includes, and how limits are enforced.
Siphon prices on active connections — the unit that matches how an embedded integration platform creates value (one connection per one of your customers). Pricing is predictable: a tier includes a connection cap and a workspace cap, and you upgrade as you grow.
Tiers
| Plan | Price | Active connections | Workspaces |
|---|---|---|---|
| Starter | Free | 5 | 1 |
| Growth | $99/mo | 25 | 3 |
| Scale | $499/mo | 100 | 10 |
| Enterprise | Custom | Unlimited | Unlimited |
See the live pricing page in the app. The tier catalog (PLAN_CATALOG)
is the single source of truth — the pricing page, the in-app Plan & billing
panel, and enforcement all read from it.
How limits are enforced
- Active connections — checked when you activate a connection; at the cap, you deactivate one or upgrade.
- Workspaces — checked when you create a workspace; the tier sets how many an org gets.
Both are enforced server-side against the org's billed plan.
Self-serve billing (Stripe)
When Stripe is configured, upgrades are self-serve: the Settings Plan & billing panel shows Upgrade buttons (Stripe Checkout, subscription mode) and Manage billing (the Stripe Customer Portal). A webhook maps subscription lifecycle events to the org's plan, so a purchase or cancellation updates limits automatically. Enterprise is quote-based (sales-led).
Configuration
Set STRIPE_SECRET_KEY, NEXT_PUBLIC_STRIPE_PUBLISHABLE_KEY, STRIPE_PRICE_GROWTH,
STRIPE_PRICE_SCALE, STRIPE_WEBHOOK_SECRET, and APP_URL. The app runs fine without
them — billing is simply hidden until they're set.