diff --git a/docs/administration/license.mdx b/docs/administration/license.mdx
index 8ac2db84..7e69018a 100644
--- a/docs/administration/license.mdx
+++ b/docs/administration/license.mdx
@@ -2,95 +2,48 @@
title: Manage License
---
-## License Overview
+Bytebase offers [3 pricing plans](https://www.bytebase.com/pricing): `Free`, `Pro`, `Enterprise`.
-Bytebase offers [3 pricing plans](https://www.bytebase.com/pricing): `Free`, `Pro`, `Enterprise`. Both `Pro` and `Enterprise` plans require purchasing license. You can [contact us](https://www.bytebase.com/contact-us/) to request a 2-week free trial.
+| Plan | Deployment | Users | Pricing |
+|------|-----------|-------|---------|
+| **Free** | Self-host or Cloud | Up to 20 | Free |
+| **Pro** | Cloud only | Unlimited | $20/user/month |
+| **Enterprise** | Self-host or Cloud | Custom | Custom |
-### Workspace vs Instance Licenses
-
-Bytebase uses a two-tier licensing model:
-
-**Workspace License**
-
-- Applied to your entire Bytebase workspace
-- Unlocks plan-level features (Pro or Enterprise)
-- Must be configured first before assigning instance licenses
-
-**Instance Licenses**
-
-- Applied to individual database instances to activate instance-specific features
-- Allocated from your workspace license quota
-- Can be assigned/unassigned as needed to optimize costs
-
-
- You must first upload a workspace license, then assign the instance license quota to specific instances
- that need advanced features.
-
-
-### License Quota
-
-A license includes an **instance quota**, which defines:
-
-- The number of **active database instances** (with assigned instance-level licenses)
-- The **total number of instances** allowed under the plan
-
-### Plan Details
-
-- Under the **Pro** plan, purchasing **1 to 20 user seats** includes **10 active database instances at no additional cost**.
-
-- Under the **Enterprise** plan, you must purchase a license with a minimum quota of **10 active instances**.
-
-### Feature Availability
-
-- **Enterprise-wide features**, such as [SSO](/administration/sso/overview/) and [Watermark](/security/watermark/) are **not instance-specific** and are available as long as you hold an Enterprise license.
-
-- **Instance-specific features**, such as [Dynamic Data Masking](/security/data-masking/overview), **require assigning quota** to individual instances to be activated.
- For full details, see our [pricing page](https://www.bytebase.com/pricing/).
-
-
-
-To reduce costs, you can license only a subset of your instances (e.g., production instances only).
-
-
-
- 
+
+ **Pro plan is cloud-only.** Self-hosted deployments require an Enterprise license. Existing Pro self-host licenses are grandfathered. Self-hosted Free instances can start a [14-day Enterprise trial](https://www.bytebase.com/contact-us/).
+
## Configure Workspace License
-Navigate to the **Settings > Subscription**, paste your license and click **Upload License**.
+Go to **Settings > Subscription**, paste your license and click **Upload License**.
- 
+
## Configure Instance License
-### Assign License from the Instance Page
+Some features (e.g. [Dynamic Data Masking](/security/data-masking/overview)) require assigning license quota to individual instances. Enterprise-wide features like [SSO](/administration/sso/overview/) work without per-instance assignment.
-You can assign and unassign license to an instance on its instance page.
+
-
+You can assign instance licenses from:
-### Assign License from the Subscription Page
+1. **The instance page** — assign/unassign directly on each instance.
-You can assign your license to instances in the following ways:
+ 
-1. Go to the **Settings > Subscription**, click the instance area or the **edit icon** button, the license configuration drawer will appear.
+1. **Settings > Subscription** — click the instance area or edit icon to open the license drawer, tick the instances, and click **Confirm**.
- 
+ 
-1. On the **Manage instance License** drawer, tick the instances you want to assign license to, and click **Confirm**.
+ 
- 
+1. **Gated feature prompts** — when you encounter a feature requiring a license, click the **Assign License** button in the popup.
-### Assign License via Gated Features
+ 
-You can also assign instance license when coming across a gated feature. To assign for a table particularly so that you can operate on sensitive data:
+ 
-1. Go to **Database > Databases** to choose the database this table belongs to.
-
-1. Find the row representing your table, and click the `Classification` field you want to apply data masking.
-
- 
-
-1. On the table detail drawer, click the edit icon. There will be a popup containing **Assign License** button.
-
- 
+
+ To reduce costs, license only the instances that need advanced features (e.g., production only).
+
diff --git a/docs/get-started/self-host-vs-cloud.mdx b/docs/get-started/self-host-vs-cloud.mdx
index 76bdce0d..183c0a24 100644
--- a/docs/get-started/self-host-vs-cloud.mdx
+++ b/docs/get-started/self-host-vs-cloud.mdx
@@ -2,76 +2,26 @@
title: Self-Host vs Cloud
---
-
- **Quick Answer**: Use **Self-Host** for private databases (VPC, on-premises). Use **Cloud** for
- public cloud databases (Neon, Supabase, RDS with public IP).
-
+Use **Self-Host** for private databases (VPC, on-premises). Use **Cloud** for public cloud databases (Neon, Supabase, RDS with public IP).
-## Key Differences
+| | Self-Host | Cloud |
+|--|-----------|-------|
+| **Database Access** | Private networks, VPC, on-premises | Public cloud databases only |
+| **Available Plans** | Free, Enterprise | Free, Pro, Enterprise |
+| **Setup** | ~5 minutes (Docker) | Instant |
+| **Maintenance** | You manage updates | Automatic |
+| **Location** | Your infrastructure | Google Cloud US |
-
-
-
-
- Self-Host
- Cloud
-
-
-
-
- **Database Access**
- Private networks, VPC, on-premises
- Public cloud databases only
-
-
- **Setup**
- ~5 minutes (Docker/Binary)
- Instant
-
-
- **Maintenance**
- You manage updates
- Automatic updates
-
-
- **Location**
- Your infrastructure
- Google Cloud US
-
-
-
-
-### Choose Self-Host For
-
-- **Private databases** without public internet access
-- **VPC environments** (AWS VPC, Google VPC, etc.)
-- **On-premises** corporate databases
-- **Compliance requirements** (data sovereignty, security policies)
-- **Custom configurations** (external PostgreSQL, custom domains)
-
-### Choose Cloud For
-
-- **Cloud databases** with public connectivity:
- - Neon, Supabase
- - AWS RDS with public IP
- - Google CloudSQL with public IP
- - Azure Database with public access
-- **Quick evaluation** without infrastructure setup
-- **Small teams** wanting zero maintenance
-
-## How to Deploy
+
+ The **Pro plan** is cloud-only. Self-hosted deployments use the Free plan or require an Enterprise license. Self-hosted Free instances can start a [14-day Enterprise trial](https://www.bytebase.com/contact-us/).
+
-
+
Deploy with Docker in 5 minutes
-
+
Start instantly at hub.bytebase.com
-
-
- Not sure? Start with Cloud for testing, then migrate to Self-Host if you need private database
- access.
-
diff --git a/src/components/pages/pricing/hero/hero.tsx b/src/components/pages/pricing/hero/hero.tsx
index 76b96ab4..984caebd 100644
--- a/src/components/pages/pricing/hero/hero.tsx
+++ b/src/components/pages/pricing/hero/hero.tsx
@@ -38,14 +38,14 @@ const cards: TCard[] = [
price: 20,
priceDescription: 'user per month',
description: 'Advanced Collaboration',
- additionalDescription: 'Monthly subscription, cancel anytime',
- buttonText: 'Buy Now',
+ additionalDescription: 'Cloud-hosted · Monthly subscription, cancel anytime',
+ buttonText: 'Start on Cloud',
buttonTheme: 'primary-outline',
buttonLink: Route.PRO_PAYMENT,
planConditions: [
'Email support',
- 'Up to 20 users',
- '10 database instances',
+ 'Unlimited users',
+ 'Cloud deployment',
'Google, GitHub SSO',
'Groups',
],
diff --git a/src/components/pages/pricing/qa/index.tsx b/src/components/pages/pricing/qa/index.tsx
index 08e15465..49092849 100644
--- a/src/components/pages/pricing/qa/index.tsx
+++ b/src/components/pages/pricing/qa/index.tsx
@@ -3,13 +3,14 @@ import type { Question } from './types';
const QUESTIONS: Question[] = [
{
- question: 'Are self-host and cloud version the same price?',
- answer: 'Yes, the price is the same.',
+ question: 'What deployment options are available for each plan?',
+ answer:
+ 'The Free plan supports both self-host and cloud. The Pro plan is available on Bytebase Cloud only. The Enterprise plan supports both self-host and cloud deployments.',
},
{
question: 'Can self-host version operate in air-gapped environment?',
answer:
- 'Yes, you can deploy it in your own data center or private cloud without any external connectivity.',
+ 'Yes, with an Enterprise license, you can deploy it in your own data center or private cloud without any external connectivity.',
},
{
question: 'Which certifications do you have?',
@@ -17,7 +18,8 @@ const QUESTIONS: Question[] = [
},
{
question: 'Is there a free trial?',
- answer: 'Yes, for the Enterprise plan, you can try it for free for 14 days.',
+ answer:
+ 'Yes, for self-hosted instances, you can start a 14-day Enterprise trial to access the full feature set. For the Enterprise plan, you can also contact us to request a trial.',
},
{
question: 'Which payment methods do you accept?',
@@ -29,6 +31,11 @@ const QUESTIONS: Question[] = [
answer:
'For the Pro plan, you can cancel your subscription at any time. For the Enterprise plan, it is yearly subscription. You can not cancel in the middle of the year.',
},
+ {
+ question: 'What about existing Pro self-host licenses?',
+ answer:
+ 'Existing Pro self-host licenses are grandfathered and will continue to work as-is. No changes will be made to currently active licenses.',
+ },
];
export default function QuestionsAndAnswers() {
diff --git a/src/components/pages/pricing/table/data/pricing-plans.ts b/src/components/pages/pricing/table/data/pricing-plans.ts
index c38c4d1c..28e3fc0a 100644
--- a/src/components/pages/pricing/table/data/pricing-plans.ts
+++ b/src/components/pages/pricing/table/data/pricing-plans.ts
@@ -95,10 +95,10 @@ const PLANS: { free: Plan; pro: Plan; enterprise: Plan } = {
pro: {
title: 'pro',
description: 'Advanced Collaboration',
- buttonText: 'Buy Now',
+ buttonText: 'Start on Cloud',
buttonTheme: 'primary-outline',
buttonUrl: Route.PRO_PAYMENT,
- additionalDescription: 'Monthly subscription, cancel anytime',
+ additionalDescription: 'Cloud-hosted · Monthly subscription, cancel anytime',
databaseChangeManagement: {
'database-change': true,
'git-based-schema-version-control': true,