superwall-framework
The superwall framework
Any screen the user would rather change after shipping than release for
is a surface here: paywalls and offers, onboarding and quizzes,
update-required and force-upgrade screens, lifecycle prompts (rate us,
enable notifications, trial ending, win-back), announcements, consent
and legal changes, web flows. The test is one question: would they want
to edit this without an app release? If yes, it belongs here, not in
native code and not in the visual editor. "Paywall" is only the
dashboard's word for every surface (definePaywall, superwall/paywalls/),
not a limit on what you build.
A surface is a mini React app: a required config.ts (definePaywall —
the name and, when it sells, product slots) plus an app/ route tree,
living in a self-contained superwall/ directory in the user's repo.
Superwall provides products, purchases, localization, trials, and the
bridge to the native SDKs — no native code changes. superwall dev
previews in the studio; superwall push seals immutable versions;
promote ships them.