Skip to main content
Four plans. Pricing is on the public Pricing page.

Plans

Free, Team, and Enterprise are self-serve (Stripe Checkout). Custom is invoiced annually - talk to us. SCIM provisioning is included in Enterprise and Custom; the directory-sync endpoints are rolling out - contact us if you need them enabled for compliance today (see SSO).

Grandfathered (legacy) plans

Pricing changes never move an existing subscription. If you subscribed before the current pricing, you keep the plan, price, and features you signed up for, for as long as the subscription stays active - and your Billing page keeps showing that plan, marked Legacy pricing. Choosing a different plan from the grid moves you to current pricing; the legacy rate can’t be restored afterward. New pricing applies to new subscriptions only.

Free tier

The Free tier covers most teams getting started:
  • 3 connected clusters.
  • Unlimited team members.
  • All features that exist in OSS plus the Cloud control plane.
  • The same MCP / PAT surfaces as paid plans, and the Radar AI agent at the included usage level.
  • Google / GitHub sign-in (SAML / OIDC SSO starts on Enterprise).
When you cross 3 connected clusters, you’ll see an upgrade prompt. Existing clusters keep working - no auto-disconnect - but new cluster create is gated until you either upgrade or remove a cluster.

Upgrading

Settings → Organization → Billing → Upgrade plan. We use Stripe Checkout. The first time you upgrade we lazy-create a Stripe Customer for your org and a subscription with one quantity per connected cluster. After checkout, your plan updates within a few seconds (Stripe webhook). After upgrade, the Manage billing button opens the Stripe Customer Portal where you can:
  • Update payment method.
  • Download invoices.
  • Change billing email.
  • Cancel.

How the per-cluster quantity tracks

When you connect a new cluster, we increment the subscription quantity. When you delete a cluster, we decrement. Stripe handles proration automatically - mid-cycle changes are billed at the next invoice. If a sync to Stripe fails (network blip), it retries on a backoff. The quantity always converges to the actual cluster count.

Past-due / payment failures

If a payment fails:
  • Stripe retries on its standard schedule (4 attempts over ~3 weeks).
  • The org’s status flips to past_due and a banner appears in the Billing page.
  • A billing.payment_failed event fires through Notifications and the in-app inbox.
  • All read functionality keeps working - we don’t cut access mid-incident.
If the subscription eventually goes to canceled due to non-payment, the org reverts to Free. You’ll lose access to clusters beyond the 3-cluster Free cap, but your data and members survive.

Invoices

Invoices live in the Stripe Customer Portal. Download as PDF. The “Bill to” line follows whatever address you set in Stripe. We don’t email invoices ourselves - Stripe does, to the billing email on the customer record. Update that in the Stripe portal under Account information.

MCP fair-use

The “fair-use” cap on MCP requests is intentionally vague: we’ll only contact you if we see a runaway pattern (~tens of thousands of calls/hour from one user). Routine AI usage is well below that.

Custom contracts

The Custom plan is invoiced annually and opens up:
  • Annual prepay with PO support.
  • Custom SLA (99.9% uptime target) and dedicated CSM.
  • Air-gapped deployment and custom data residency.
  • DPA, SOC 2 reports, custom MSAs.
  • Named Slack channel.
Self-hosted / BYOC deployment is available self-serve on Enterprise (see Self-hosted Radar Cloud); Custom adds the air-gapped variant. Contact sales@skyhook.io or use the Talk to sales CTA in the Billing page.

Cancellation

Settings → Organization → Billing → Manage billing → Cancel (in Stripe). Cancellation takes effect at the end of the current billing period. Your org reverts to Free; data stays, clusters beyond 3 stop being usable.

See also