Lock initial DashCaddy billing plan
This commit is contained in:
43
PRODUCT_PLAN.md
Normal file
43
PRODUCT_PLAN.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# DashCaddy Premium Billing Plan
|
||||
|
||||
## Locked Decisions
|
||||
|
||||
### Subscription plans
|
||||
- 1 month — $25
|
||||
- 3 months — $50
|
||||
- 6 months — $65
|
||||
- 12 months — $99
|
||||
|
||||
### Tier model
|
||||
DashCaddy has one paid tier: **Premium**.
|
||||
All paid plans unlock the same premium features:
|
||||
- `sso` — Auto-Login SSO
|
||||
- `recipes` — Multi-container stack deployment
|
||||
- `swarm` — Docker Swarm multi-node orchestration
|
||||
|
||||
### Free tier
|
||||
Everything else in DashCaddy remains available without a license.
|
||||
No license is required for the free tier.
|
||||
|
||||
### Subscription behavior
|
||||
- Billing model: recurring Stripe subscriptions
|
||||
- Cancellation behavior: access remains active until the paid-through period ends
|
||||
- Failed payment behavior: 7-day grace period
|
||||
- Renewal behavior: premium access remains active continuously while the subscription is paid
|
||||
|
||||
### Licensing behavior
|
||||
- License is required only for premium features
|
||||
- One active machine per license/subscription at a time
|
||||
- License transfer is allowed only after deactivation on the previous machine
|
||||
- Existing private lifetime licenses may continue to exist internally, but no public lifetime offering will be sold
|
||||
|
||||
### Deployment targets
|
||||
- Website source of truth: `dashcaddy.net`
|
||||
- Billing/license service repo: `dashcaddy-license-server`
|
||||
- Billing/license service deployment target: Contabo
|
||||
|
||||
## Architecture Direction
|
||||
- Stripe is the billing source of truth
|
||||
- DashCaddy license validation remains the product licensing source of truth
|
||||
- `dashcaddy-license-server` will bridge Stripe subscriptions to DashCaddy license issuance, renewal, validation, and deactivation
|
||||
- Existing DashCaddy license primitives should be reused instead of inventing a second licensing model
|
||||
Reference in New Issue
Block a user