Files
sencho/docs/features/licensing.mdx
T
Anso a502da54ee feat(sso): split SSO providers by delivery model across tiers (#754)
Custom OIDC stays on Community so self-hosters can wire any spec-compliant
OIDC identity provider (Authelia, Keycloak, Authentik, Zitadel, and others).
Google, GitHub, and Okta one-click presets move to Skipper. LDAP / Active
Directory and scoped RBAC are Admiral-only.

Backend enforces the split via a new requireTierForSsoProvider helper in
middleware/tierGates.ts, applied after requireAdmin in all four ssoConfig
mutation handlers. GET /sso/config (list) stays ungated so downgraded
admins can still see previously-configured providers. Invalid provider ids
now 400 before the tier check to avoid leaking tier information.

Frontend adds a compact mode to PaidGate and AdmiralGate for inline
list-item locks, and SSOSection reorders the provider cards as
Custom OIDC > Google > GitHub > Okta > LDAP to reinforce the
free-to-paid progression.

Stale 'SSO is Admiral' copy in AdmiralGate, PaidGate, and the Admiral
upgrade card on the License settings page has been replaced to reflect the
new split. User-facing licensing, SSO, overview, quickstart, and security
docs have been updated with the per-tier provider matrix.
2026-04-24 15:48:03 -04:00

113 lines
5.4 KiB
Plaintext

---
title: Licensing & Billing
description: How Sencho licensing works, including trials, activation, and subscription management.
---
Sencho uses an open-core model. The **Community** tier is free forever with unlimited nodes. Paid tiers unlock advanced features: **Skipper** for solo operators and **Admiral** for teams.
<Tip>
*Our tier names are inspired by the meaning of Sencho (船長), because you're the captain of your container fleet.*
</Tip>
## Plans
| Tier | Price | Accounts |
|------|-------|----------|
| **Community** | Free | 1 admin |
| **Skipper** | $5.99/month billed annually, $7.99/month, or $249 lifetime | 1 admin + 3 viewers |
| **Admiral** | $41.99/month billed annually, $49.99/month, or $1,499 lifetime | Unlimited |
Lifetime pricing is an early-adopter offer available for a limited time only.
### Feature breakdown
**Community** includes:
- Unlimited nodes, compose editor, global logs, app store, alerts, and more
- Two-factor authentication (TOTP)
- Custom OIDC single sign-on (works with Authelia, Keycloak, Authentik, Zitadel, Pocket ID, or any spec-compliant OIDC identity provider)
**Skipper** includes everything in Community, plus:
- Fleet View with drill-down
- Webhooks and stack labels
- Atomic deployments and fleet-wide backups
- Auto-update policies
- One-click Google, GitHub, and Okta SSO presets
**Admiral** includes everything in Skipper, plus:
- Unlimited admin and viewer accounts
- Scoped RBAC (deployer, node-admin, auditor roles)
- LDAP / Active Directory authentication
- Audit log and host console
- API tokens and private registries
- Notification routing
- Scheduled operations
<Tip>
**SSO is available on every tier.** Community users can integrate any OIDC-compliant identity provider through the Custom OIDC option. Paid tiers add turnkey presets (Google, GitHub, Okta) and LDAP / Active Directory.
</Tip>
## Free trial
Every new Sencho installation starts with a **14-day Skipper trial**. No license key or credit card is required. Skipper features like fleet management, webhooks, atomic deployments, and auto-update policies are unlocked during the trial so you can evaluate them with your real infrastructure. Admiral-exclusive features (SSO, audit log, host console, scoped RBAC, unlimited accounts) require an Admiral license.
When the trial expires, Sencho automatically reverts to the Community tier. No data is lost.
## Upgrading your plan
You can upgrade directly from **Settings > License** in your Sencho dashboard. The upgrade cards shown depend on your current tier:
- **Community users** see both **Skipper** and **Admiral** options with feature highlights and direct checkout links.
- **Skipper users** see an **Admiral** upgrade card for when you need unlimited accounts and team features.
- **Admiral users** are on the highest tier, so no upgrade cards are shown.
Clicking an upgrade button opens the Lemon Squeezy checkout in a new tab. After completing the purchase, you will receive a license key by email.
<Frame>
<img src="/images/licensing/license-community.png" alt="License settings showing Skipper and Admiral upgrade cards for Community users" />
</Frame>
## Activating your license
1. Go to **Settings > License** in your Sencho dashboard.
2. Paste your key into the **License Key** field at the bottom of the page.
3. Click **Activate**.
Sencho validates the key against Lemon Squeezy and unlocks your tier's features immediately.
## License validation
Active licenses are re-validated every **72 hours** against the Lemon Squeezy API. If your instance goes offline, there is a **30-day grace period** before it degrades to the Community tier.
## Managing your subscription
Once your license is active, you can manage your subscription in two ways:
- **From the License page:** Go to **Settings > License** and click **Manage Subscription**. This opens the Lemon Squeezy billing portal where you can update your payment method, view invoices, cancel, or switch plans.
- **From the profile menu:** Click your profile icon in the top bar and select **Billing** for quick access to the same portal. This option is hidden for lifetime licenses.
<Frame>
<img src="/images/licensing/license-admiral-active.png" alt="License settings showing an active Admiral subscription with Manage Subscription button" />
</Frame>
### Lifetime licenses
Lifetime licenses do not have a recurring subscription, so the **Manage Subscription** button is not shown. Instead, the license card displays **Duration: Lifetime** to confirm your license never expires. All other features (deactivation, multi-node enforcement, validation) work the same as subscription licenses.
## Multi-node license enforcement
If you manage multiple servers through Sencho's [multi-node feature](/features/multi-node), you only need a license on your **primary instance**. All remote nodes automatically inherit the primary's license tier for proxied requests. No per-node activation is required.
For details on how this works, see [License enforcement across nodes](/features/multi-node#license-enforcement-across-nodes).
## Deactivating a license
To transfer your license to a different instance:
1. Go to **Settings > License**.
2. Click **Deactivate License**.
3. On your new instance, activate the same license key.
Deactivation reverts the current instance to the Community tier immediately.
Having trouble with your license? See the [Troubleshooting](/operations/troubleshooting#license-tier-shows-the-wrong-name) page for solutions to common licensing issues.