Retire family/child Stripe tier; reframe free tier as 14-day trial #162
Open
will.anderson
wants to merge 1 commits from
fix/retire-family-child-plan-pricing into main
pull from: fix/retire-family-child-plan-pricing
merge into: :main
:main
:cost-opt/soul-demo-stage-minscale
:copy/two-bill-story
:fix/retire-family-child-plan-pricing
:legal/18plus-terms-privacy-reconcile
:fix/safety-claims-match-shipped-behavior
:feat/downloads-page
:fix/honest-claims-closed-beta
:stage
:dev
:fix/csp-analytics
:fix/syntax-error-and-csp
:fix/devices-count-v2
:fix/devices-count
:fix/account-el-meta
:fix/magic-link-flow
:fix/free-plan-setup-intent
:fix/about-rendering
:fix/stripe-dedup-attestation
:fix/webhook-initstripe-textarea
:fix/greeting-history-load
:fix/question-timer-pricing-clarity
:fix/binary-assets-checkout-layout
:fix/zero-pi-setup-future-usage
:fix/free-plan-payment-intent
:fix/free-checkout-stripe
:fix/stage-full-build
:ci/touch-dist
:ci/trigger-rebuild
:fix/force-full-rebuild
:fix/stage-ci-paths
:feat/checkout-comprehensive-tests
:fix/checkout-auth-reveal
:fix/entrypoint-k3s-nonblocking
:fix/single-stage-dockerfile
:fix/stage-source-check
:fix/payment-page-heredoc-escape
:feat/k3s-embedded-soul
:feat/native-el-ui
:fix/ci-elb
:fix/ci-pr-triggers
:fix/stage-source-enforcement
:sync/dev-stage
:fix/have-curl-define
:fix/soul-demo-emit-metric
:fix/pentest-security-hardening
:fix/gallery-layout-account-otp
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "fix/retire-family-child-plan-pricing"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Two web-source cleanups for the new 18+-only, 14-day-trial → paid model. Source only — do not merge or deploy (website hold stands).
1. Retire the orphaned family/child Stripe plan
The family/child tier is dead under the new model. Removed its wiring:
/api/family/{invite,members,remove}routes (~157 lines) and theSTRIPE_PRICE_FAMILY_CHILDenv load +__stripe_price_family_child__state registration.account_family_section()function (Family members UI: add-child form, attestation,$10/month per child), its call site in the dashboard, and the "Family accounts" roadmap bullet.loadFamilyMembers/addFamilyMember/removeFamilyMemberand the founding-plan family-section display block.Free / Professional / Founding Member paths are untouched.
2. Pricing copy: permanent free tier → 14-day free trial
Reframed free-forever language (prices and checkout mechanics unchanged — copy only):
forever→for 14 days; tagline → "Try everything free for 14 days. No card required."; CTAPreorder free tier→Start free trial.Free tier→Free trial;Full app, forever→Full app, 14 days.Start free — no credit card required→ 14-day trial framing;Free tier available.→14-day free trial.Verification
Every edited
.elcompiles clean (elcexit 0); the dashboard JS output passesnode --check. No services touched, nothing deployed.Notes / open decisions (not invented here)
data-checkout="free", the/api/waitlist"free tier preorder" path, and the free-plan SetupIntent flow. Whether the trial requires a card, what happens at day 14, and any post-trial price are business decisions — not changed here.legal/18plus-terms-privacy-reconcile(PR #161). Flag for that PR to reconcile.Branched off
main; no file overlap with the legal branch.The 18+-only model drops the family/child plan entirely, so its Stripe wiring is dead code. Remove the /api/family/{invite,members,remove} routes, the STRIPE_PRICE_FAMILY_CHILD env/state config, the account-page Family members UI and its dashboard JS, and the "Family accounts" roadmap bullet. Free/Pro/Founding paths are untouched. Marketing/pricing copy still promised a permanent free tier, which no longer matches the product. Reframe the free-forever language as a 14-day free trial across the pricing card, comparison table, hero/SEO meta, checkout page copy, and the no-ads promise. Prices and checkout mechanics are unchanged — copy only.GROOMING — 2026-08-03
Status: HELD pending attorney/counsel sign-off — retires the family/child Stripe tier and reframes the free tier as a 14-day trial under the new 18+-only model; PR is explicitly source-only ("do not merge or deploy, website hold stands").
Next action: Counsel confirms the 18+/no-family posture and trial framing; Will lands after sign-off. Do not merge or deploy.
Owner: Daniel/counsel (Will to land after sign-off)
Priority: HELD
View command line instructions
Checkout
From your project repository, check out a new branch and test the changes.