# CapWrapp for teams

Ship all your Capacitor apps from one desk.

For agencies, startups and public sector teams. CapWrapp puts a Fastlane + GitHub Actions pipeline in each repo, keeps certificates and keystores in a vault, and gives your team one dashboard to preview, ship to TestFlight and Play, and submit to review — for every app you maintain.

- HTML: [https://capwr.app/teams](https://capwr.app/teams)
- Start a 14-day free trial: [https://capwr.app/login](https://capwr.app/login) — runs on your GitHub Actions, no SDK in your apps
- Docs: [What happens during a build](https://capwr.app/docs/build-run) · [What CapWrapp adds to the repo](https://capwr.app/docs/repo-changes) · [How GitHub access works](https://capwr.app/docs/github)

## Who it’s for

- **Agencies** — ship every client’s app with its own store keys and its own Slack channel, from one dashboard your whole team shares.
- **Startups & product companies** — run several apps or brands from GitHub without a dedicated mobile release engineer.
- **Public sector & large organizations** — many public-facing apps, admin and member roles, and builds that run on your own GitHub runners.

## The fleet tax

Capacitor shares your code across iOS and Android. Shipping it is still per-app work, and it multiplies with every app you add. Ten apps in eight languages means 10 release pipelines, 20 signing setups and 160 store listings to keep in sync.

- **Signing identities** — Distribution certificates, provisioning profiles, and Apple’s cap on certificates per team.
- **Upload keystores** — one per Android app; lose one and you are asking Google for an upload key reset.
- **Build numbers** — they must go up on every upload, for every app, on both stores.
- **Pipeline drift** — Fastlane lanes and workflow YAML copied between repos, slowly diverging.
- **Capacitor upgrades** — repos stuck on different majors, each with its own plugins.
- **Credentials in DMs**, **listings × languages**, and **two consoles** for every review submission.

## How it works

1. **Install the GitHub App** — grant the repos you choose: Contents, Actions and Pull requests, plus Workflows if you want the native folders generated in CI. Installation tokens never leave the server.
2. **Connect your repos** — CapWrapp detects Capacitor, reads package versions, and guesses the last native release from tags, GitHub releases and past runs.
3. **Vault the store keys** — App Store Connect API key in, Distribution certificate out. Play service account in, upload keystore minted or stored. Reuse keys across apps on the same team.
4. **Merge the pipeline PR** — `capwrapp/native-pipeline` adds `.github/workflows/capwrapp-native.yml` and Fastlane lanes under `.capwrapp/`. iOS builds on `macos-latest`, Android on `ubuntu-latest`.
5. **Ship a SHA** — pick a commit, confirm, and follow the step reports (`checkout`, `install`, `web_build`, `cap_sync`, `ios_archive`, `ios_upload`, `android_bundle`, `android_upload`, `ready`). Build numbers bump themselves.

The workflow accepts `workflow_dispatch` inputs `sha`, `version`, `ios`, `android`, `report_url` and `report_token`, and runs one native build per repository at a time.

## Built for fleets

- **A vault per app** — App Store Connect key, Distribution certificate, Play service account, upload keystore and build-time env, server-side. Copy keys between apps on the same team.
- **Per-app alerts** — one Slack webhook per app, so every team or client follows its own channel; Telegram and email too.
- **Previews for QA and sign-off** — any commit as a hosted web build with a QR code and a signed link that expires after 7 days.
- **Listings and review** — per-locale store copy with character limits and AI translation; push copy and screenshots; submit to App Review or promote to Play production.
- **Every app, one dashboard**, **organizations** for teams, stakeholders and clients, **Capacitor drift as PRs** on `capwrapp/capacitor-deps`, **failed runs explained** from the Actions log, **integrations by PR**, and **turning a web app into an app**.

## A control plane, not a build farm

- Every build is a GitHub Actions run in your org; macOS minutes are billed to you by GitHub.
- Jobs fetch signing keys and env with a short-lived token; nothing is written to GitHub secrets.
- GitHub App permissions: Metadata (read), Contents, Actions and Pull requests (read & write), Workflows (read & write, optional).
- Everything CapWrapp adds is a plain file or a pull request you can revert.

## Moving off Ionic Appflow?

Appflow sunsets on December 31, 2027. The [migration guide](https://capwr.app/guides/leave-appflow) maps the move: store builds from GitHub with CapWrapp, live updates with a dedicated OTA service.

## Pricing

14 days free, then pay for the apps you ship. Every plan includes everything; plans only differ by how many apps you’re actively shipping. An app counts as active for 30 days after you ship it, and its iPhone and Android versions count as one.

| Plan | Monthly | Billed yearly | Active apps |
| --- | --- | --- | --- |
| Founder | $29 | $20/month ($240 a year) | 3 |
| Pro | $99 | $79/month ($948 a year) | 10 |
| Agency | $249 | $199/month ($2,388 a year) | 50 |

No credit card to start, and teammates are free. Prices include tax. More than 50 apps? Chat with the founder from [capwr.app/teams](https://capwr.app/teams).

## FAQ

**Which CI does CapWrapp use?** GitHub Actions, in your own repositories. CapWrapp dispatches the capwrapp-native.yml workflow with the commit SHA and version; iOS jobs run on macOS runners and Android on Linux. You can point CapWrapp at your own workflow if it accepts the same inputs.

**Does it run our test suite?** No. CapWrapp builds, signs, uploads and tracks releases. Keep your tests in GitHub Actions and ship the commits that pass.

**Can it ship automatically on every merge?** Not today. Every store build starts from a confirmed click in CapWrapp. CapWrapp tells you on Slack, Telegram or email when a new commit lands on the default branch.

**Do you support monorepos?** Not yet. CapWrapp expects one Capacitor app at the root of each repository.

**GitLab or Bitbucket?** GitHub only, for now.

**Which frameworks and package managers work?** Anything whose build outputs a static folder with an index.html — Vite, Ionic (www), static Next.js exports and similar — installed with npm, pnpm, Yarn or Bun.

**We already manage our own certificates and keystores.** CapWrapp doesn’t use Fastlane Match. It creates an Apple Distribution certificate from your App Store Connect API key, or you upload a .p12. On Android, upload the keystore you registered with Play, or let CapWrapp mint one.

**Where do the signing keys live?** In CapWrapp’s server-side vault, never in your repositories or GitHub secrets.

**What about live updates (OTA)?** CapWrapp ships store builds today and doesn’t offer live updates yet.

**Can people outside the dev team get access?** Yes, with organizations: invite product owners, QA or clients by email as admins or members.

**What does CapWrapp store?** Repository and app metadata, store listing drafts and screenshots, run history, and — in the vault — signing keys and build-time env. Store builds run on your own GitHub runners.

**How do people sign in?** With a Google or GitHub account. Screens that touch signing keys sit behind an extra 4-digit PIN.

**How much does it cost?** You pay for active apps, not seats, and teammates and clients are free: Founder is $29 a month for up to 3 apps, Pro $99 for 10, Agency $249 for 50. Every plan starts with a 14-day free trial, no credit card needed. [Get started](https://capwr.app/login).
