AltStore: sideloading iOS apps with your own Apple ID and a desktop helper
AltStore is an alternative app store for non-jailbroken iOS devices.
At a glance
- What is it?
- AltStore is an open source iOS app store for non-jailbroken devices, built around a Mac companion called AltServer. The design is unusual and the constraints are real: an Apple ID, a development certificate, and the same WiFi network.
- Who is it for?
- AltStore fits iOS users who want to run their own builds or .ipa files on a non-jailbroken device and who accept the Apple ID, certificate and WiFi constraints that come with it. It is the wrong tool if you want an App Store replacement that works without a desktop helper or without a personal development certificate.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 12 days ago.
- What is it written in?
- Mainly Swift, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 29, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What AltStore actually solves for non-jailbroken iOS
Apple's normal distribution path for iOS apps runs through the App Store, and the alternative for developers is a paid developer account plus TestFlight or ad hoc provisioning. AltStore takes a third route. The README describes it as "an alternative app store for non-jailbroken iOS devices" that lets you sideload .ipa files "with just your Apple ID". That phrasing is the whole product thesis: no jailbreak, no enterprise certificate, no App Store review. The audience is people who already have an .ipa in hand, typically their own build or a build from a project like Delta, the emulator the author references in the README as the reason AltStore exists. It is a developer-oriented distribution tool, not a consumer storefront. The README is explicit that the first release focused on distributing the author's own apps, and that support for anyone to list and distribute apps is described as work in progress.
The resign-and-sync mechanism behind AltStore and AltServer
The architecture is two applications plus shared frameworks, and the split matters. AltStore is a sandboxed iOS app. AltServer is a sandboxed macOS app. AltKit holds code common to both, AltSign talks to Apple's servers and performs the resigning, and Roxas is a general-purpose iOS helper framework. The data flow the README describes runs like this: AltStore resigns an app with your personal development certificate, sends it to AltServer, and AltServer installs the resigned app back onto the device using iTunes WiFi sync. Because a personal certificate expires, AltStore also refreshes installed apps periodically in the background when the device is on the same WiFi as AltServer. Two details are easy to miss. The device must be on that same network for refresh to happen, and AltServer has to be running on the Mac. There is no cloud relay in the described design. The repository layout also shows targets beyond the two main apps, including AltDaemon, AltJIT, AltBackup, AltWidget, AltMarketplace and AltXPC, so the codebase is wider than the README's project overview suggests.
Building AltStore and AltServer from the repository
The README gives compilation instructions rather than a download-and-run install, so treat this as a build-from-source tutorial. The repository is cloned first, then its submodules are initialised, because the project depends on external code pulled in as submodules.
git clone https://github.com/rileytestut/AltStore.git
cd AltStore
git submodule update --init --recursiveAfter that, open AltStore.xcworkspace, select the AltStore project, and on the Signing & Capabilities tab change the team from Yvette Testut to your own account. That step is not optional. Without a team of your own, the signing configuration points at someone else's account.
For AltStore specifically, two Info.plist values need attention. ALTDeviceID should be set to your device's UDID. The README explains why this is normally invisible to you: AltServer embeds the device UDID into AltStore's Info.plist during installation, so when you run through Xcode you have to set it yourself, otherwise AltStore will not resign or even install apps for the correct device. The second value is ALTServerID, which should match your AltServer's serverID. The README notes you can find it with a Bonjour browsing application by noting the serverID AltServer advertises. This one is softer: if AltStore cannot find the AltServer with the embedded serverID, it falls back to trying another AltServer. Setting it correctly helps when multiple AltServers are on the same network, and the README says the error messages are more helpful in that case. The minimum requirements listed are Xcode 15, Swift 5.9, iOS 14.0 for AltStore and macOS 11.0 for AltServer.
Where AltStore breaks down or is the wrong choice
The dependency on a desktop Mac running AltServer is the largest constraint, and it is structural rather than a bug. Background refresh only happens when the device is on the same WiFi as AltServer, so a user who travels, changes networks, or shuts the Mac down will see apps expire and need to reinstall. The Apple ID requirement is the second constraint: every install is tied to a personal development certificate, and the README does not document what happens to installed apps if that certificate is revoked or the Apple ID changes. A third limitation is the README itself. It describes the project's architecture and build steps, but it does not document rollback, uninstall behaviour, or a supported upgrade path for AltStore across versions. Anyone who needs a documented release process should treat that silence as a risk. Finally, the README states that the initial release focused on the author's own apps and that support for anyone to distribute through AltStore is still being worked on, so the "store" part of the name currently overstates what a third-party developer can do.
AltStore versus Sideloadly and versus AltStore PAL
Sideloadly is the comparison people search for, and the difference is architectural. Sideloadly is a desktop-side signing and installation tool: you connect the device, the desktop does the work, and the interaction is driven from the computer. AltStore inverts that. The iOS app is the primary interface, the desktop runs AltServer as a background service, and installation plus refresh happen over WiFi sync rather than a cable. That inversion is why AltStore can refresh apps in the background while Sideloadly's model does not require a resident desktop service. The other comparison is AltStore PAL, which appears in search data as a distinct product name. The repository material here describes AltStore and AltServer only, so the honest statement is that this README does not cover PAL's distribution model; readers comparing the two should check the project's own FAQ at https://altstore.io/faq/ rather than infer it from this repository.
Licence and the cost of keeping a fork alive
The README is unusually direct about licensing. It states that "due to the licensing of some dependencies used by AltStore", the project has no choice but to distribute under AGPLv3. The author then grants explicit permission for anyone to use, modify and distribute his original code in any form, with or without attribution, while noting that dependencies remain under their original licenses. For an engineer evaluating a fork, the practical reading is that the AGPL-3.0 obligations attach to the distribution as a whole, and the permissive grant covers only the author's own code. That distinction is worth confirming with counsel if you plan to ship a modified build; this article does not give legal advice. On maintenance cost, the repository's last push was on 2026-09-17, and the repository is not archived. The submodule-based build means upgrades can require re-running git submodule update --init --recursive, and the repository carries a Podfile and Podfile.lock, so CocoaPods dependencies are part of the build surface as well.
Editorial conclusion
AltStore fits iOS users who want to run their own builds or .ipa files on a non-jailbroken device and who accept the Apple ID, certificate and WiFi constraints that come with it. It is the wrong tool if you want an App Store replacement that works without a desktop helper or without a personal development certificate. Before adopting it, confirm three things: that you can supply a device UDID and an AltServer serverID for the AltStore target's Info.plist, that you have Xcode 15 with Swift 5.9 for the build, and that you are comfortable with the AGPL-3.0 licence terms that the project says its dependencies force on the whole distribution.
Frequently asked questions
Can I download AltStore on iPhone?
Yes. The README describes AltStore as an iOS application that sideloads .ipa files onto non-jailbroken iOS devices with just your Apple ID, and lists iOS 14.0 as the minimum for the AltStore app.
Does AltStore still work?
The repository is not archived and its last push was on 2026-09-17. The README does not make any statement about current operational status beyond describing how the resign, install and refresh flow works, so verify against the project's own FAQ at https://altstore.io/faq/.
Is AltStore or Sideloadly better?
The README does not mention Sideloadly, so it makes no comparison. Based on the described mechanism, AltStore runs the store logic on the iOS device and installs over iTunes WiFi sync through a macOS AltServer, while a desktop-driven signing tool would not require that resident helper.
How do I install AltStore on iPhone?
The README gives compilation instructions rather than a packaged installer: clone the repository, run git submodule update --init --recursive, open AltStore.xcworkspace, change the signing team to your own account, and set ALTDeviceID in Info.plist to your device's UDID.
Can I use AltStore in the US?
The repository material does not address regional availability. The README describes the mechanism (Apple ID, personal development certificate, AltServer over WiFi sync) but says nothing about which countries the project supports.
How do I use AltStore to install an IPA?
According to the README, AltStore resigns the .ipa with your personal development certificate, sends it to AltServer, and AltServer installs the resigned app back onto the device using iTunes WiFi sync. AltStore also handles app updates directly through the app.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/altstoreio-altstore)
Community notes