Stage-aware checks

PulseLight hides what doesn't matter yet. Pre-launch projects don't see scaling-only warnings; scaling projects don't see pre-launch onboarding nudges.

You set the stage in project Settings. PulseLight uses it to decide which checks block launch, which become warnings, and which roll into the “Later” bucket. The same finding can be a blocker on one stage and noise on another.

The three stages

  • Pre-launch

    You haven’t put this in front of real users yet.

    Foregrounded: Secure (auth, secrets, isolation), Stable (rollback, error monitoring, deploy safety), Billable (Stripe webhook verification, server-side entitlements), Trustworthy (privacy policy, terms, deletion paths).

    Backgrounded: Scalable findings (CVE risk, AI token spend, DB hotspots, performance) — these are real but they don’t block your launch. They go to “Later.”

  • First 100 users

    You’ve launched. Real humans are showing up.

    New foregrounded checks: Measurable (analytics installed, signup event, activation event, conversion funnel), Usable (onboarding, empty states, demo data, support route).

    Pre-launch checks remain — the bar for “is auth actually checked?” never drops. But if you’re still missing analytics at this stage, that becomes a blocker, not a nudge.

  • Scaling

    You have meaningful traffic and you’re scaling.

    Scalable comes to the foreground: critical CVEs, expensive AI calls without rate limits, unbounded DB queries, AI token spend risk, repeated calls without caching, large bundle size, image optimisation.

    Plus: Trustworthy hardens (B2B trust pages, AI disclosure where relevant, account deletion paths). The bar tightens because the user count is real.

Where the stage gets set

On first scan, PulseLight defaults projects to pre_launch. You move it forward in Settings → Project profile. When you click “Mark as launched” on the project page, the project flips to monitoring_only (verdict-wise) and the stage automatically advances to first_100_users.

The Fix Queue “Later” bucket

Out-of-stage items don’t disappear. They land in the Later bucket on the Fix Queue, alongside in-stage advisories. You can browse them any time; they just don’t scream at you the way blockers do.

Why this matters

Generic scanners give pre-launch indie founders a 200-rule wall weighted toward problems they don’t have yet (load-balancer timeouts, RBAC across regions, blue/green deploy mismatches). PulseLight refuses to do that. The stage filter is what keeps the verdict honest at the actual moment you’re reading it.

See also: Launch verdict (how stage feeds into the four verdict states), and the seven pillars.