Skip to main content
Capgo Live Updates

Skip the wait. Ship the fix. OTA updates for Ionic and Capacitor apps.

Push web-layer fixes instantly for Ionic and Capacitor apps. Skip the App Store wait.

✓ 99.9% uptime ✓ 300+ Locations Active ✓ Triple-provider resilience

Native rollback

JS failures recover outside JavaScript

99.9% uptime

Platform uptime

Dynamic channels

Canary, beta, support, and production tracks

300+ edge locations

Worldwide CDN

~50ms typical

Ultra-low latency

Device logs

Per-device update status and rollback history

Supported runtimes

One Capgo backend for every hybrid stack you ship.

Use the same channels, bundle uploads, rollback protection, and device logs whether your app runs on Capacitor, Cordova, or Electron.

Capacitor

Native live updates for iOS and Android apps built with Capacitor. Install @capgo/capacitor-updater and ship bundles with @capgo/cli.

Read more →

Cordova

Keep your Cordova toolchain and still get Capgo OTA on iOS 7+ and Android 13+ with @capgo/cordova-updater and the same JavaScript API.

Read more →

Electron

Push HTML, CSS, and JavaScript updates to desktop apps without rebuilding installers. @capgo/electron-updater mirrors the mobile API.

Read more →
Built for release pressure

Know exactly what happens when production breaks in CapacitorJS apps.

Capgo gives mobile teams a release path for urgent web fixes, controlled rollout, and a clear audit trail, so a bad deploy does not become days of store-review waiting.

Recover production without waiting on review

Use live updates for JavaScript, CSS, copy, runtime feature flags, and web asset fixes while native and Capacitor config changes continue through the stores.

Control risk before everyone gets the build

Ship to internal, beta, canary, and production channels with rollback ready before a rollout becomes a support incident.

Prove what happened after release

Use device logs, update status, bundle history, and adoption metrics to explain releases to engineering, support, and leadership.

Choose live updates when these statements are true

  • You need a recovery path for production bugs that does not depend on App Store or Play review time.
  • Your app has multiple customer cohorts, white-label deployments, beta testers, or support-only debug channels.
  • Your team needs compliance-friendly control: signed bundles, rollback, auditability, and a self-hosting path.
Release control

Decide who gets each update, and take it back fast

Channels, progressive rollouts, native dependency checks, and per-device history, all in the console. Real screens from the Capgo demo app.

Roll out to a share of devices, pause when it fails

Serve a new bundle to a sticky percentage of devices while everyone else stays on a stable fallback. Auto-pause stops the rollout when the failure rate crosses your threshold.

  • Start small, then promote to every device in one click
  • Auto-pause on failure rate, with a minimum sample size
  • Revert to the stable bundle without a store review
Capgo channel page showing 25% of devices receiving bundle 4.8.1, a stable fallback on 4.8.0, progressive rollout controls, and auto-pause settings
After you ship

Watch every update land on real devices

Every live update comes with a release view: installs and failures as they happen, failures grouped by cause, and a warning when a bundle needs a new native build.

Watch a release land, minute by minute

The moment a bundle goes live, Observe tracks installs, failed attempts, adoption, and success rate for that exact version and channel in 5-minute buckets.

Explore Capgo Observe
  • Know within minutes whether a rollout is healthy, not after support tickets
  • Top failure reasons ranked for the release that is live right now
  • Jump from the release to its bundle or channel statistics
Capgo Observe live release view showing version 4.8.1 on production with adoption, installs, failed attempts, success rate, an installs and failures chart, and top failure reasons
From Martin

Why Capgo live updates work the way they do

Capgo founder Martin on channels, compatibility checks, rollback, and shipping web bundle changes safely after store approval.

Martin, Founder, Capgo

Live update proof

Teams already shipping with Capgo

Short notes from Capacitor teams using Capgo for production OTA updates.

5.0/5 rated by developer teams 9,400+ teams Read reviews

The Capgo Capacitor Updater plugin completely transformed how we ship updates. What used to take days now takes just minutes.

Sergiu S Lead Developer, drivolino GmbH

Being able to push production OTA updates instantly without waiting for full App Store review cycles has been a massive operational advantage.

Kapil Founder, NuTriQ
What's in the box

Built for safe OTA updates, not just fast uploads.

Native runtime, rollback, validation, and rollout control in one service.

Capgo Live Updates
Pure Native Engine
Downloads, installation, and activation run on native OS threads. JavaScript crashes can't affect the update process.
$ npx @capgo/cli bundle upload
✔ validated · ✔ published · ✔ rolling out

Breaking Update Detection

CLI scans native dependencies and warns you before deploying incompatible updates. Ship web changes fast without pushing native-breaking code to customers.

Automatic Rollback

If your app doesn't call notifyAppReady() within 10 seconds, we automatically roll back to the last working version.

Pre-flight Validation

Validates notifyAppReady(), index.html, bundle size limits, and checksums before accepting any upload.

Tamper-Proof Updates

Every update is checksummed, signed, and encrypted end-to-end. No one can tamper with updates - not even Capgo can see what's inside your bundles.

Self-Healing Updates

Fallback bundle mechanism always maintains a working version. Your users never see a broken app.

Switch release tracks live (no new binary)

Capgo channels are live controls, not hardcoded. Move users between dev, staging, PR, canary, and production from your app UI or via API instantly.

Push-triggered auto updates

Pair Capgo Notifications with Live Updates so a silent push can ask devices to check, download, and queue the latest bundle for the selected channel.

Release intelligence

Catch breaking updates before they ship

See whether an upload is OTA-safe, needs a native build, or should wait — before it hits production.

  • OTA safe: native packages match the production channel
  • Native build needed: a plugin or Capacitor dependency changed
  • Rollout action: gate by native version, pause the channel, or trigger a store build
Capgo Observe compatibility view warning that a new native build is needed because @capacitor/camera changed between bundles on the production channel

$ npx @capgo/cli@latest bundle upload --channel production --fail-on-incompatible

warning: native-incompatible bundle

@capacitor/camera changed from 6.1.0 to 6.2.0

action: fail this upload or ship a native build first

SEE IT MOVE

What actually happens when you ship a live update

Four short animations: how a fix reaches a phone, what can ship over the air, why downloads stay small, and how you recover from a bad release.

What's Possible

Flexible update control

Choose the right combination of update types for your app's needs

Apply timing

Control when updates are applied: default (background), atInstall, onLaunch, or always

Delay conditions

Wait for specific conditions: date, background, nativeVersion, or kill event

Version blocking

Control semver updates: none, major, minor, patch, or metadata

Delivery types

Full bundle (entire JS bundle) or Delta/manifest (only changed files for faster updates)

App Store & Google Play

Will Apple or Google reject OTA updates?

Not for using live updates. Both stores let apps download interpreted code like JavaScript, HTML, and CSS, as long as each update stays within the app you submitted for review.

Our track record

0 rejections

Across 4.7K+ apps in production, we have never seen a store reject an app because it ships updates with Capgo.

Has Apple ever flagged Capgo?

Our splash screen auto-hide feature linked at runtime to the separate splash screen plugin. Apple's review flagged that dynamic linking as a dynamic code concern. It was unrelated to OTA updates, and we removed the dynamic link from the plugin.

Apple Developer Program License Agreement

Apps may download interpreted code if it doesn't change the app's primary purpose, create a storefront for other code or apps, or bypass signing, the sandbox, or other OS security features.

Official policy : Apple

Google Play Device and Network Abuse policy

Apps can't update their own native code outside Google Play. Code that runs in an interpreter or virtual machine, such as JavaScript in a WebView, is explicitly exempt.

Official policy : Google Play

Stay inside the rules

  • Ship web-layer changes over the air: JavaScript, HTML, CSS, and assets.
  • Send native code, permissions, and plugin changes through a store release.
  • Keep every update within the purpose you submitted for review.

Review decisions always belong to Apple and Google, so no vendor can promise approval. Capgo keeps you on the side of the policies they publish.

Read the store policy FAQ
Honest comparison

Capgo Live Updates vs. the alternatives.

Same Ionic and Capacitor OTA promise. Different safety model.

Capgo Live Updates DIY / self-hosted Custom scripts and static hosting Competitor cloud
Update runtime Fully native. Download, install, and activate on native OS threads. A JS crash cannot break the update pipeline. Runs in your app JS context. A bad bundle can break updates too. Mostly app-layer delivery. JS errors can block or corrupt the update flow.
Rollback recovery Native rollback. Falls back to the last good bundle outside JavaScript, even when the new bundle crashes on launch. You design and maintain your own rollback logic. Rollback exists but often depends on the app layer still working.
Failed install guard Automatic. Rolls back if notifyAppReady() is not called within 10 seconds. You instrument and monitor it yourself. Optional or manual, depending on product.
Native compatibility CLI checks. Scans native dependencies before upload and flags breaking changes. No guardrails unless you build them. Upload validation only on most products.
Pre-upload validation Deep checks. Validates index.html, bundle size, checksums, duplicate versions, and hub constraints. Your CI rules, if you wrote them. Basic bundle checks.
Rollout control Dynamic channels. Canary, beta, production, support, and per-device channel assignment. Multiple hosted URLs or custom routing. Channels supported, depth and APIs vary.
Device visibility Per-device logs. Install, failure, rollback, and policy events per device without Xcode or Android Studio. Custom analytics or server-side download counts. Dashboard aggregates, less per-device depth.
Try before you pay Yes. 14-day unlimited free trial. No credit card required. Cheap hosting until traffic grows. Tiered plans. Trials vary by vendor.

Comparison reflects typical DIY/self-hosted setups and public competitor cloud documentation.

Coming from Expo?

The EAS Update equivalent for Capacitor apps

EAS Update ships JavaScript fixes for Expo and React Native apps. Capgo does the same job for Capacitor web bundles: channels, rollback, and device logs. Stay on EAS if the app is React Native. Use Capgo if you kept the web UI.

Capgo Live Updates
Ship your next fix today.

Start automatic in 5 minutes. Switch to manual control when your release strategy needs it.

✓ 99.9% uptime ✓ Worldwide CDN delivery ✓ 14-day unlimited free trial