Install SideStore and your own apps on iPhone and iPad with a free Apple ID, from Windows, macOS or Linux.
Website · Download · Discord · Installing · Roadmap
IPAForge is a free, open-source desktop app for sideloading. You plug in your iPhone, sign in with your Apple ID, and it does the rest:
- It gets a free development certificate from Apple for your Apple ID.
- It signs SideStore (or LiveContainer with SideStore, or any
.ipayou choose) with that certificate. - It installs the apps on your device, and places the pairing file and certificate SideStore needs to refresh apps by itself.
After that it keeps them working: it shows when each app expires, refreshes them before they do, repairs SideStore when it stops refreshing, and explains every failure with the fixes that apply. The whole engine, code signing included, is written in TypeScript, with no native helpers or bundled command-line tools.
Note
Alpha, 0.1.0-alpha.7. Builds for macOS, Windows and Linux are on the Releases page, and IPAForge updates itself from there. It isn't notarised or code-signed for Windows yet: how to open it the first time. Questions and feedback: Discord or Issues.
Sideloading tools tend to fail in a few recurring ways. IPAForge is designed around each of them:
| Common failure | How IPAForge handles it |
|---|---|
Apple ID sign-in errors (-80045) |
Anisette servers come from SideStore's up-to-date list and fall back automatically, or you choose or add your own in Settings |
HTTP 404 when downloading SideStore or LiveContainer |
Releases are resolved through the GitHub API from a catalog that can be updated remotely, never from hard-coded URLs |
| "Unable to verify app" after installing | The signer matches Apple codesign byte for byte, and each extension gets the entitlements from its own profile |
| Errors that don't say what to do | Every failure has a stable error code, a plain-language explanation and the fixes that apply |
- One-click SideStore. SideStore, or LiveContainer with SideStore, Stable or Nightly. The pairing file and certificate are placed for you.
- Preload your apps. Drop .ipa files, paste a link, or browse the catalog, SideStore's source and any AltStore-format source you add. Each app is checked before anything changes, then they all install in one run.
- Apps that don't expire. See when each app expires. Refresh works like SideStore's: a new profile while your certificate is valid, nothing reinstalled. IPAForge can refresh them by itself before they expire.
- Repair SideStore. Checks what keeps SideStore from refreshing by itself, line by line, and fixes it in one go.
- QR codes for SideStore. Add a source to SideStore on your iPhone, or have SideStore install an app, by scanning a code.
- A checklist for each iPhone. Trust, passcode, Developer Mode, trusting your Apple ID, LocalDevVPN: what your iOS version needs, ticked as you go.
- Recovery, not dead ends. Every failure has a screen with the fixes that apply, copyable diagnostics and a pre-filled bug report.
- Live progress. Every step shows what it's doing: speed and time left while sending the app, Apple's steps, and iOS's own install progress, over USB or Wi-Fi.
- Logs you can share. Every step IPAForge took, with search and filters, saved to a file to attach to a bug report.
- Several Apple IDs. Two-factor sign-in with a code on your devices or by text. Kept in your system keychain, free and paid teams, with a quick switch when Apple blocks one on a device.
- Anisette servers your way. IPAForge picks a working server by itself from SideStore's list, with its own servers as a backup. Or choose one, add your own (a server on your computer included), and test each one.
- Works within Apple's limits. The App ID quota, the three-app limit for free accounts and certificate limits are checked before any change, and each is explained.
- Updates itself. A new version installs when IPAForge opens, after its release signature checks out, and What's new tells you what changed.
- Your language, your look. Six languages, right to left included, and six colour themes in light and dark.
Sideload signing has been verified against real devices and Apple accounts: Apple's own codesign --verify --deep --strict accepts the output, including a full SideStore build signed in about half a second. Details: Code Signing.
New: the Developer Portal page, with your team's certificates (and the apps each one signs), App IDs, the profiles on your device, app groups and registered devices, and the iOS 17+ remote pairing file for SideStore. Pairing files per app: place, remove or give your own apps one, in one dialog. Save signed .ipa files instead of installing them, and export or import your certificate as a .p12. Coming next: guided onboarding. Installing over Wi-Fi to a device paired before already works.
| Platform | What you need |
|---|---|
| Windows 10/11 | Apple Devices (Microsoft Store) or iTunes, which provides the Apple Mobile Device Service |
| macOS | Nothing extra |
| Linux | usbmuxd from your package manager |
You also need an Apple ID (a free account works), an iPhone or iPad on iOS 15 or later with a passcode, and a USB cable that carries data. On iOS 16 and later, Developer Mode must be on. See Installing.
Prerequisites: Node.js 22 or later and pnpm.
pnpm install
pnpm --filter @ipaforge/desktop dev # run the desktop app with hot reload
pnpm --filter @ipaforge/ui dev # run the UI in a browser against a simulated engine
pnpm verify # lint, type checks, architecture rules, translations and testsGetting Started covers every command, the optional test suites that use real devices, and the maintainer tools.
IPAForge uses ports and adapters, with one package per area:
kernel ← signer, device, apple, catalog ← installer ← rpc ← ui
apps/desktop wires the adapters and mounts the UI
The core packages are platform-independent: they never import Node.js, Electron or browser APIs, and CI enforces this. Everything specific to an operating system lives in apps/desktop. So the engine can be tested without a phone or an Apple account, and every platform difference stays in one place. Read more in Architecture.
| Layer | Technology |
|---|---|
| Engine | TypeScript 7 (strict, ESM), WebCrypto, pkijs, zod |
| Interface | React 19, HeroUI v3, Tailwind CSS v4, TanStack Router and Query, i18next with ICU messages |
| Desktop | Electron 44, electron-vite |
| Quality | Vitest, Biome, ESLint, CI on Linux, Windows and macOS |
In scope
- Installing SideStore, or LiveContainer with SideStore, with its pairing file and certificate, so it can refresh apps on the device
- Preloading extra IPAs (files or URLs) in the same run, and setting up SideStore sources
- Guided onboarding: drivers, device trust, Developer Mode, Apple ID with two-factor authentication, team selection
- Managing what a free or paid Apple developer account provides: certificates, App IDs, profiles, pairing files
Out of scope
- Decrypting App Store apps or obtaining IPAs. IPAForge signs only apps you already have, and refuses FairPlay-encrypted binaries.
- Jailbreaking, or working around Apple's account limits (App ID quota, certificate count, 7-day free profiles). IPAForge works within these limits and explains them.
- A web or browser version, and distributing apps to other people's devices.
- tvOS, standalone watchOS and macOS apps. Watch extensions inside iOS apps are supported.
| Guide | Description |
|---|---|
| Installing | Download, system requirements, first run |
| Getting Started | Current status, development setup, test suites |
| Architecture | Packages, ports and adapters, dependency rules |
| Code Signing | How iOS code signing works and how IPAForge verifies it |
| Device | Reaching iPhone and iPad, pairing, device errors |
| Apple Account | Apple ID sign-in, two-factor authentication, saved accounts, sign-in errors |
| Install Flows | Install steps, questions, step details, the free-app limit, recovery |
| Engine RPC | How the interface talks to the engine |
| User Interface | Running the UI, structure, themes, translations, styling rules |
| Roadmap | Phases from foundation to 1.0 |
| Contributing | Pull request rules and conventions |
Contributions are welcome. Read Contributing first. All changes reach main through reviewed pull requests, and CI must pass on Linux, Windows and macOS. Please follow the Code of Conduct.
Please don't report vulnerabilities in public issues. Follow the private process in the Security Policy. Never post your Apple ID password, verification codes, pairing files, certificates or device UDID in an issue.
IPAForge is an independent, clean-room implementation. It relies on public protocol knowledge documented by libimobiledevice, SideStore, rcodesign and zsign. It contains no code copied from other sideloading tools, or from GPL, AGPL or proprietary projects.
IPAForge is not affiliated with or endorsed by Apple Inc. iPhone, iPad and iOS are trademarks of Apple Inc.
IPAForge is free and open source, maintained in spare time. Every feature is free for everyone. If it saves you time, consider supporting it on Patreon or GitHub Sponsors. Support pays for code-signing certificates (Windows signing, Apple notarisation), test devices, and maintenance when Apple changes something.
GNU Affero General Public License v3.0 or later (AGPL-3.0-or-later) © 2026 Dan Motpan and IPAForge contributors. You may use, study, change and share IPAForge; anything built from it, including a modified version offered over a network, must be released under the same licence with its source. Versions up to 0.1.0-alpha.4 were released under the MIT licence. Third-party components keep their own licences: pkijs, asn1js and zip.js are BSD-3-Clause; @noble/hashes and zod are MIT.