Release control & remote config

Bugs ship. They don’t have to spread.

Force update, kill switch, maintenance mode, and remote config for iOS & Android. One lightweight SDK, a control panel, signed decisions served from the edge in under 100 ms.

FlutterSwiftsoonKotlinsoonReact Nativesoon
final ripstop = await Ripstop.init(apiKey: 'rs_pub_…');
runApp(RipstopShell(gate: ripstop, child: MyApp()));

// remote config, from the same signed payload:
final showBanner = ripstop.getBool('welcome_banner', fallback: false);

The whole integration. Two lines to gate your app; the rest is optional.

Everything you wish you’d installed before the incident

Remote config

Key-value JSON in the same signed payload — flip features, tune copy, change settings without shipping a release. Typed getters, zero extra requests.

"values": {
  "checkout_enabled": true,
  "price_multiplier": 1.25,
  "home_layout": { "sections": ["hero", "deals"] }
}

Kill switch

Stop a broken build in production — globally, per platform, or per version range — with a message users actually see. Signed, pinned, tamper-proof.

Force update

Set a minimum version. Anything below it gets a full-screen, non-dismissable update wall pointing to the store. Soft nudges with snooze rules for everything else.

Maintenance mode

Immediate or scheduled “we’re down, back at 15:00” wall. No release, no review queue, no tweetstorm.

Set up before you need it

Five lines of SDK now. The day something breaks, you fix it from a panel in seconds — not in a 3-day store review.

Built to fail open

A kill switch you can trust is one that can’t strand your users

Every decision is served from an edge snapshot, Ed25519-signed and verified against a key pinned in the SDK. If our control plane goes down, your apps keep running on the last signed config. If the network is gone, they fail open — never locked, never blank.

Telemetry is the config request itself. No PII, ever.

Install it on a calm day. Thank yourself on the loud one.

Join the waitlist