{"id":"bumpgrade-pricing-policy-source-data","updatedAt":"2026-05-28","issueNumbers":[316,466,473,551],"routes":["/pricing","/pricing-v2","/pricing/source-data","/playground","/playground/source-data","/api/playground/anonymous-workspace","/api/playground/claim","/api/playground/cleanup","/api/billing/checkout","/pricing/success"],"selfServePricing":{"contract":"bumpgrade-self-serve-pricing-v1","status":"live","plans":[{"slug":"experiment","name":"Experiment","status":"self_serve","monthlyAmountCents":9700,"billingInterval":"month"},{"slug":"grow","name":"Grow","status":"self_serve","monthlyAmountCents":19700,"billingInterval":"month"},{"slug":"enterprise","name":"Enterprise","status":"contact","monthlyAmountCents":null,"billingInterval":"contact"}],"setupAddon":{"slug":"white-glove-setup","name":"White glove","label":"Optional setup","description":"Paired with humans to help you set up and scale with confidence.","unitAmountCents":100000,"currency":"usd","productId":"product-bumpgrade-white-glove-setup","priceId":"price-bumpgrade-white-glove-setup-usd"}},"routePolicy":{"canonicalBuyerRoute":"/pricing","canonicalReason":"The main navigation, footer, checkout form, pricing source-data, and Stripe success path use /pricing as the buyer-facing self-serve pricing URL.","indexedRoutes":["/pricing","/pricing/source-data"],"alternates":[{"route":"/pricing-v2","purpose":"Alternate usage-based pricing draft for packaging discussions, not the default buyer checkout path.","canonicalRoute":"/pricing","robots":"noindex,follow","sitemapIncluded":false,"topNavIncluded":false,"billingBehavior":"No billing or checkout behavior originates from this route; it links back to the canonical /pricing plans or the contact email path."}]},"freeBuildMode":{"id":"free-build-before-go-live","status":"signed-in-free-build-live","issue":466,"updatedAt":"2026-05-28","headline":"Build first. Pay when you are ready to go live.","summary":"Free Build separates private launch setup from buyer-facing go-live actions, so publishers do not need a paid plan while they are still getting ready.","freeBuildCapabilities":[{"id":"free-build-private-launch-paths","title":"Private launch paths","status":"before-payment","summary":"Create and edit launch pages, opt-in paths, checkout handoffs, thank-you pages, and reusable launch structure privately before payment.","allowedBeforePayment":true,"requiresPaidGoLive":false},{"id":"free-build-offers-products-audience","title":"Offer, product, and audience setup","status":"before-payment","summary":"Shape offers, products, lead capture, audience notes, and launch context while buyer-facing actions stay off.","allowedBeforePayment":true,"requiresPaidGoLive":false},{"id":"free-build-ai-launch-context","title":"AI launch context","status":"before-payment","summary":"Let agents inspect the private build state through public-safe records that separate free building from live selling.","allowedBeforePayment":true,"requiresPaidGoLive":false},{"id":"free-build-anonymous-playground","title":"Logged-out structured playground","status":"before-payment","summary":"Save structured offer, audience, product, opt-in, checkout, delivery, follow-up, and migration-starting-point notes in one browser before signup.","allowedBeforePayment":true,"requiresPaidGoLive":false}],"paidGoLiveGates":[{"id":"go-live-public-publishing","title":"Public publishing","summary":"Turning private work into public buyer-facing routes requires a paid or explicitly approved go-live state.","requires":["Paid plan entitlement","Fresh workspace revision","Confirmed publish action"]},{"id":"go-live-live-checkout","title":"Live checkout and payment collection","summary":"Charging buyers, collecting tax-relevant payment state, and changing billing records stay behind paid plan and confirmed checkout rules.","requires":["Paid plan entitlement","Stripe readiness","Confirmed billing-impacting action"]},{"id":"go-live-email-sends","title":"Buyer and subscriber sends","summary":"Sending email to subscribers, customers, affiliates, or launch audiences requires sender readiness, consent checks, and paid go-live authority.","requires":["Paid plan entitlement","Sender readiness","Consent and suppression checks"]},{"id":"go-live-domain-fulfillment","title":"Domains and fulfillment","summary":"Custom domains, fulfillment delivery, protected content access, and public customer paths require paid ownership and current entitlement checks.","requires":["Paid plan entitlement","Verified ownership","Current entitlement checks"]}],"currentAvailability":{"signedInFreeWorkspaceLive":true,"anonymousPlaygroundLive":true,"anonymousSaveRateLimitLive":true,"anonymousScheduledCleanupLive":true,"paidGoLiveRequired":true},"signedInWorkspace":{"status":"live","issue":473,"route":"/api/account/publisher/free-build-workspace","accountSetupRoute":"/account/setup","planStatus":"free_build","summary":"Verified signed-in users can create a private Free Build workspace before payment; public go-live actions still require a paid plan."},"anonymousPlayground":{"status":"live","route":"/playground","sourceDataRoute":"/playground/source-data","saveApiRoute":"/api/playground/anonymous-workspace","claimApiRoute":"/api/playground/claim","cleanupApiRoute":"/api/playground/cleanup","persistenceModel":"Logged-out visitors can save structured launch context through browser-scoped recovery. The cookie stores a recovery token only; D1 stores a token hash, draft fields, expiry, and claim status. Owner cleanup and scheduled Cloudflare cleanup can expire old recovery, clear anonymous draft fields, and preserve claimed private records.","privacyBoundary":"Anonymous work does not expose private customer data, cleanup actors, expired draft content, create billing records, send email, publish buyer-facing routes, reserve domains, or grant product access.","structuredBuilderFieldsLive":true,"saveRateLimit":{"scope":"browser_recovery_workspace","windowSeconds":600,"maxSavesPerWindow":12,"appliesAfterFirstSave":true,"firstSaveCreatesRecovery":true,"responseCodeWhenLimited":429,"responseCode":"ANONYMOUS_PLAYGROUND_SAVE_RATE_LIMITED","rawIpStored":false,"rawUserAgentStored":false,"recoveryTokenHashExposed":false,"publicPublishingEnabled":false,"liveCheckoutEnabled":false,"subscriberSendsEnabled":false,"customDomainsEnabled":false,"fulfillmentEnabled":false},"claimMergePolicy":{"mode":"additive_private_draft","emailVerifiedAccountRequired":true,"createsFreeBuildWorkspaceWhenMissing":true,"reusesExistingFreeBuildWorkspaceWhenPresent":true,"createsAdditionalPrivateDraftFunnel":true,"createsPrivateClaimRecords":true,"overwritesExistingFreeBuildWorkspace":false,"overwritesExistingDrafts":false,"overwritesAnonymousDraftFields":false,"publicSourceDataExposesPrivateDraftContent":false,"paidGoLiveRequired":true,"idempotencyScope":"anonymous_workspace_id_and_user_id"},"claimMapsStructuredFieldsToPrivateDraftBlocks":true,"cleanupControlsLive":true,"scheduledCleanup":{"live":true,"cron":"17 9 * * *","label":"Daily anonymous playground cleanup at 09:17 UTC","actor":"cloudflare_cron","clearsAnonymousDraftFields":true,"preservesClaimedPrivateRecords":true}}},"paidGoLiveGates":[{"id":"go-live-public-publishing","title":"Public publishing","summary":"Turning private work into public buyer-facing routes requires a paid or explicitly approved go-live state.","requires":["Paid plan entitlement","Fresh workspace revision","Confirmed publish action"]},{"id":"go-live-live-checkout","title":"Live checkout and payment collection","summary":"Charging buyers, collecting tax-relevant payment state, and changing billing records stay behind paid plan and confirmed checkout rules.","requires":["Paid plan entitlement","Stripe readiness","Confirmed billing-impacting action"]},{"id":"go-live-email-sends","title":"Buyer and subscriber sends","summary":"Sending email to subscribers, customers, affiliates, or launch audiences requires sender readiness, consent checks, and paid go-live authority.","requires":["Paid plan entitlement","Sender readiness","Consent and suppression checks"]},{"id":"go-live-domain-fulfillment","title":"Domains and fulfillment","summary":"Custom domains, fulfillment delivery, protected content access, and public customer paths require paid ownership and current entitlement checks.","requires":["Paid plan entitlement","Verified ownership","Current entitlement checks"]}],"redaction":{"rawStripeIdsIncluded":false,"privateWorkspaceRowsIncluded":false,"anonymousBrowserIdentifiersIncluded":false,"anonymousRecoveryCookieValueIncluded":false,"anonymousRecoveryTokenHashIncluded":false,"customerDataIncluded":false},"agentBoundary":"Agents may cite the pricing policy, anonymous browser playground, signed-in Free Build workspace creation, additive claim merge policy, private claim-record boundary, and paid go-live gates. Anonymous playground state is browser-scoped and cannot publish, charge buyers, send subscribers, reserve domains, or fulfill access."}