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.
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.