Production & Subscription Readiness Framework v3.0
Scored audit framework for taking a web app to production and selling subscriptions.
10 weighted pillarsanchored 1–10 rubricevidence requiredlaunch gates
How it works. Pick a stage tier — T1 MVP launch, T2 growth, T3 scale — score each pillar 1–10 with evidence
(link, test run, dashboard; no evidence caps the pillar at 6), then check the gates.
Rubric anchors: 1–3 absent · 4–6 partial/manual/untested · 7–8 implemented + tested + evidenced · 9–10 automated/monitored, verified in the last 90 days.
Go-live gate (T1): every pillar ≥ 6 and Security, Billing, Legal ≥ 7 — no exceptions on those three. Scale gate: all ≥ 7, composite ≥ 8.0. Any gap below a gate needs a written exception with expiry + owner.
Rubric anchors: 1–3 absent · 4–6 partial/manual/untested · 7–8 implemented + tested + evidenced · 9–10 automated/monitored, verified in the last 90 days.
Go-live gate (T1): every pillar ≥ 6 and Security, Billing, Legal ≥ 7 — no exceptions on those three. Scale gate: all ≥ 7, composite ≥ 8.0. Any gap below a gate needs a written exception with expiry + owner.
Pillars & weights
| Pillar | Wt | Core checks (tier-tagged in full doc) |
|---|---|---|
| 1 · Reliability & Infrastructure | 15% | CI/CD deploys, tested rollback, backups with a tested restore, healthchecks, staging parity, DR drill, IaC |
| 2 · Security & Compliance | 15% | Proven auth + MFA, secrets manager, OWASP pass incl. per-endpoint authz, tenant isolation negative-tested, TLS + headers, dependency scanning, least privilege, pen test (T3) |
| 3 · Observability & Ops | 10% | Structured central logs (no PII), error tracking with alerts, external uptime monitor, symptom-based alerting, dashboards, incident runbooks + postmortems |
| 4 · Performance & Scalability | 10% | Load test at 3–5× launch peak, green Core Web Vitals on landing/signup/checkout, indexed hot queries, CDN, rate limiting, scaling path |
| 5 · Billing & Subscriptions | 15% | Stripe/Paddle/Chargebee (never custom), every webhook handled + idempotent under replay, full lifecycle tested (trial/upgrade/downgrade/cancel/resubscribe), server-side entitlements, tax, dunning + grace periods, reconciliation job |
| 6 · Pricing & Packaging | 10% | Pricing tested with ≥20 prospects, competitor anchoring, tiers map to a real value metric, deliberate trial/freemium hypothesis, grandfathering plan |
| 7 · Conversion Funnel & Growth | 10% | Landing states problem + price, instrumented signup→activation funnel, defined activation moment, onboarding to value, checkout friction audit, lifecycle email |
| 8 · Retention & Revenue Health | 5% | MRR/ARR/churn/LTV:CAC from day one, voluntary vs involuntary churn split, at-risk signals, cancellation flow with alternatives, NRR (T3) |
| 9 · Legal & Trust | 5% | ToS + privacy reviewed, refund policy, cancel-as-easy-as-signup, GDPR/CCPA basics, PCI scope minimized, DPA (T2). Not legal advice — have counsel review. |
| 10 · Support & Success | 5% | Committed-response support channel (billing fastest), docs/FAQ, status page, support→product feedback loop |
Composite = Σ (pillar × weight). Re-audit at launch, architecture or pricing changes, after Sev-1s, and quarterly. Automate checks in CI where possible.
NodeDough scorecard — audited 2026-07-31
Composite 4.2 / 10 · Tier T1 · Not cleared for paid launch — acceptable as free/invite beta.
Gate failures: Billing 3, Legal 2, Observability 4, Funnel 4, Retention 3, Support 3.
| Pillar | Score | Evidence highlights |
|---|---|---|
| Reliability | 5 | Railway CI deploys ✓, both domains ✓; no healthcheck path, restore never drilled |
| Security | 6 | RLS on all 16 tables ✓, server-side entitlements ✓; anon-callable SECURITY DEFINER RPC surface, view write-grants (revoked 07-31) |
| Observability | 4 | Railway logs only — no error tracking, uptime monitor, or alerting |
| Performance | 5 | No load test evidence; nothing observed failing |
| Billing | 3 | plans/subscriptions tables + assert_paid_feature gating ✓ (right shape); no processor, webhooks, tax, or dunning — upgrade is “Coming soon” |
| Pricing | 5 | $5/mo · $50/yr, tiers map to real limits ✓; no prospect-tested pricing |
| Funnel | 4 | Clear landing ✓; invite-gated signup, no analytics |
| Retention | 3 | audit_log only; pre-revenue |
| Legal | 2 | No ToS / privacy / refund policy on site — blocks any paid launch |
| Support | 3 | No support channel, docs, or status page |
Top remediations. ① Reconcile the two migration lineages (balance-checkpoint family shipped 07-31; undo-deletion + referral RPCs still missing live) and add a CI drift check.
② Publish ToS + privacy before charging. ③ Error tracking + external uptime + healthcheck. ④ Stripe Billing with replay-tested webhooks, Stripe Tax, dunning — entitlement design is already right.
⑤ Restore drill, on record.
Sources: Google SRE PRR · Cortex · OpsLevel · Stripe SaaS guide · Chargebee dunning · Baremetrics metrics · DesignRevision launch checklist.
Full documents: framework + audit in CEO Downloads (production-subscription-readiness-framework.md, nodedough-readiness-audit-2026-07-31.md).