diff --git a/apps/api/migrations/009_v4_pricing_migration.sql b/apps/api/migrations/009_v4_pricing_migration.sql new file mode 100644 index 0000000..7b67815 --- /dev/null +++ b/apps/api/migrations/009_v4_pricing_migration.sql @@ -0,0 +1,24 @@ +-- Migration: v4.0 Pricing Plan Names +-- Date: 2026-01-16 +-- Description: Updates existing plan names to v4.0 naming convention +-- +-- Mapping: +-- free -> community +-- solo -> pro (merged with existing pro) +-- enterprise -> sovereign +-- +-- Note: This is a data migration, not schema migration. +-- The code handles legacy names at runtime via normalizePlanName(), +-- but this ensures data consistency. + +-- Update free -> community +UPDATE licenses SET plan = 'community' WHERE plan = 'free'; + +-- Update solo -> pro +UPDATE licenses SET plan = 'pro' WHERE plan = 'solo'; + +-- Update enterprise -> sovereign +UPDATE licenses SET plan = 'sovereign' WHERE plan = 'enterprise'; + +-- Verify counts (for manual inspection) +-- SELECT plan, COUNT(*) FROM licenses GROUP BY plan; diff --git a/apps/web/content/docs/cli-reference.mdx b/apps/web/content/docs/cli-reference.mdx index 26e705f..610bcf7 100644 --- a/apps/web/content/docs/cli-reference.mdx +++ b/apps/web/content/docs/cli-reference.mdx @@ -35,7 +35,7 @@ replimap scan --profile prod --region us-east-1 | `--entry` | Start from entry point: `alb:my-alb` or `tag:App=MyApp` | | `--tag` | Filter by tag: `Environment=Production` | | `--cache` | Use cached results for incremental scans | -| `--trust-center` | Enable Trust Center auditing (Enterprise) | +| `--trust-center` | Enable Trust Center auditing (Sovereign) | ### Examples diff --git a/apps/web/src/app/dashboard/page.tsx b/apps/web/src/app/dashboard/page.tsx index 35643c3..2f7f9df 100644 --- a/apps/web/src/app/dashboard/page.tsx +++ b/apps/web/src/app/dashboard/page.tsx @@ -25,9 +25,9 @@ export default async function DashboardPage() {

License

-

Free Tier

+

Community

- 3 scans remaining this month + Unlimited scans ยท JSON export

diff --git a/apps/web/src/components/faq.tsx b/apps/web/src/components/faq.tsx index b82cb3b..28fc6ce 100644 --- a/apps/web/src/components/faq.tsx +++ b/apps/web/src/components/faq.tsx @@ -14,7 +14,7 @@ const faqs = [ { question: "Can I use RepliMap in air-gapped environments?", answer: - "Yes. Solo and Pro plans support offline license activation with machine ID binding. Enterprise customers get additional support for air-gapped deployments.", + "Yes. Pro and Team plans support offline license activation with machine ID binding. Sovereign customers get additional support for air-gapped deployments with signed audit reports.", }, { question: "What AWS services are supported?", @@ -24,7 +24,7 @@ const faqs = [ { question: "How does the Lifetime deal work?", answer: - "Pay once, use forever. Lifetime licenses include all features of the selected tier (Solo or Pro) and all future updates. No recurring charges. Limited to the first 50 customers at Early Bird pricing.", + "Pay once, use forever. Lifetime licenses include all features of the selected tier (Pro or Team) and all future updates. No recurring charges. Limited availability at Early Bird pricing.", }, { question: "Can I upgrade or downgrade my plan?", @@ -34,7 +34,7 @@ const faqs = [ { question: "What if I need more than 10 AWS accounts?", answer: - "Enterprise plans support unlimited AWS accounts. Contact our sales team for custom pricing based on your organization's needs.", + "Sovereign plans support unlimited AWS accounts. Contact our sales team for custom pricing based on your organization's needs.", }, ]