Skip to main content

ctrlapp 0.1.3 copy "ctrlapp: ^0.1.3" to clipboard
ctrlapp: ^0.1.3 copied to clipboard

Remote kill-switch, feature flags, forced update, forms and inbox for Flutter, plus diagnostics, device-integrity checks, push permission and hosted login.

CtrlApp Flutter — Changelog #

0.1.3 — 2026-10-17 #

  • Replaced the example app with a small, readable one that shows the kill-switch, a feature flag, remote config and text, an experiment and event tracking. Run it with your own API key (see example/README.md).
  • Removed the example's extra audio dependency.

0.1.2 — 2026-10-17 #

  • Rewrote the README for people new to CtrlApp: what it does, three steps to start, and examples that match the real API.
  • Removed badges and links that pointed at an unrelated GitHub repository.

0.1.1 — 2026-10-17 #

No functional changes. First release published through the automated pipeline (production branch to pub.dev); it also confirms the package is owned by the ctrlapp.dev publisher.

0.1.0 — 2026-10-17 #

First public release.

Features #

  • Remote kill-switch — block the app, or any single feature, from the CtrlApp dashboard; enforced from the local cache when offline.
  • Feature flags and remote config with typed accessors, plus forced update / minimum-version checks.
  • Screen Capture Protection (opt-in, default off).
    • Android — FLAG_SECURE applied on the main thread with latest-policy-wins ordering; ownership-aware so a host-set FLAG_SECURE is never cleared.
    • iOS — per-plugin instance mask controller (no global singleton). Overlays installed while UIScreen.isCaptured reports active capture/mirroring and before app-switcher snapshots (willResignActive). Multi-window / multi-scene aware.
  • Diagnostics and error capture (opt-in): breadcrumbs, redaction, bounded queue, global FlutterError / platform handler chaining, debug overlay.
  • Device integrity signals (jailbreak, root, emulator/simulator, debugger, developer mode), device info and installation telemetry.
  • Push permission bridge (CtrlAppPush) for iOS and Android 13+.
  • Live block watch (CtrlAppBlockWatch) to apply a kill-switch to an app that is already open.
  • Hosted social login and app session (package:ctrlapp/auth.dart) with a pluggable secure session store.
  • Low-level CtrlAppClient with HTTP and mock transports.
  • Zero Firebase dependencies in your Dart code.

Behavior #

  • init() throws StateError on mismatched apiKey / baseUrl re-initialization; same-identity re-init is idempotent.
  • dispose() is idempotent and releases native enforcement before closing stream controllers.
  • Strict argument contract on the ctrlapp MethodChannel: int / string / null / non-boolean arguments are rejected with a BAD_ARG FlutterError.
  • Defaults to https://ctrlapp.dev; pass baseUrl to use another host.

Truthful limitations #

  • iOS: Apple provides no supported API to prevent still screenshots. The plugin does not use SecureTextField hacks, DRM, canvas tricks, or private APIs. userDidTakeScreenshotNotification is a post-event signal only.
1
likes
0
points
448
downloads

Documentation

Documentation

Publisher

verified publisherctrlapp.dev

Weekly Downloads

Remote kill-switch, feature flags, forced update, forms and inbox for Flutter, plus diagnostics, device-integrity checks, push permission and hosted login.

Homepage

Topics

#feature-flags #kill-switch #remote-config #forced-update #screen-capture

License

unknown (license)

Dependencies

device_info_plus, flutter, http, package_info_plus, shared_preferences

More

Packages that depend on ctrlapp

Packages that implement ctrlapp