What is OtaKit?

OtaKit is a platform for shipping over-the-air updates to Capacitor apps. Push bug fixes and new features directly to your users' devices without waiting for a store release.

Install the Capacitor plugin, connect the CLI, and release. The simplest managed flow is one command:

otakit upload --release

How it works

  1. You build your web assets and run otakit upload --release. The CLI zips the directory, calculates a SHA-256 checksum, and uploads a single cross-platform bundle. Bundle path comes from the CLI path argument or your configured output directory. Version can be explicit, come from environment variables, or be auto-generated by the CLI.
  2. On app launch, the Capacitor plugin can check for updates. If a newer version is available, it downloads the bundle and verifies the SHA-256 checksum.
  3. By default, the downloaded bundle becomes active on the next cold launch. The plugin then waits for your app to call notifyAppReady(). If that call does not happen within the timeout, the update rolls back.

Features

One-command shipping

Point OtaKit at your build output once, then ship with otakit upload --release.

Base stream first

Keep it simple with one release stream, then add named channels such as staging only when you need them.

Activation safety timeout

If the app doesn't call notifyAppReady() within the timeout, the new update is marked as failed.

SHA-256 verification

Every bundle is verified on download. Tampered bundles are rejected before activation.

Hosted by default

The plugin already targets the managed OtaKit service, so hosted setup does not need a custom server URL.

Multi-organization

Organizations with scoped API keys, team members, and role-based access.

Open source & self-hostable

Run on your own infrastructure or use our managed service.

App Store compliant

OTA updates for web layers only — fully compliant with Apple and Google guidelines.

Next steps