Free toolApp handover checklist
Switching app developers or agencies? Tick what your app uses and get the steps to move each account to you, in the right order, from Apple’s, Google’s, Stripe’s and the other vendors’ own help pages. You also get a message to send the outgoing developer.
Free, no sign-up. Vendor steps checked October 22 and 23, 2026.
How to switch app developers without losing your app
To switch app developers, or take over an app from a previous developer: get your own access first, then move ownership, then close the old access. Before anyone hears the contract is ending, list every account the app runs on and whose login owns it: the App Store and Google Play developer accounts, Firebase or Supabase, Stripe, the code repository and the domain. Get added as an admin on each. Then have the outgoing developer transfer what sits in their name, and finally remove their access and rotate keys. The order matters because a developer who leaves on bad terms can still hold the only copy of a signing key or the account your app is published from.
What does your app use?
Transfer rules at a glance
Who has to start each move, what has to be ready first, and what stays behind, from each vendor’s own help page.
| Service | Who starts it | What you need first | What stays behind |
|---|---|---|---|
| iPhone app (App Store) Apple: overview of app transfer · Apple: initiate an app transfer · Apple: app transfer criteria | Who starts itThe Account Holder of the Apple account the app is in; your Account Holder accepts it | What you need firstYour own Apple Developer account: their Account Holder enters your Account Holder’s Apple Account and your Team ID (your Apple team’s ID). A released version not in review, and TestFlight builds and testers removed | What stays behindThe Apple Pay merchant ID (your next update needs a new one), sales data from before the move, and the ability to make new promo codes. A pending transfer expires after 60 days |
| Android app (Google Play) Play Console: transfer apps to a different developer account | Who starts itThe Play account the app is in submits the request; your account approves it | What you need firstYour own Play developer account and its registration transaction ID | What stays behindEarnings reports, orders from before the move and test groups; Firebase and other linked services must be relinked |
| Expo (EAS) project Expo: transfer projects between accounts | Who starts itSomeone who is an Owner or Admin on both Expo accounts (Expo’s page also asks for an Owner on the sending account, so an Owner is safest) | What you need firstThat person added to your Expo account, or a go-between organization where you are the Owner | What stays behindNothing Expo lists, but a project can only be moved a limited number of times |
| Firebase or Google Cloud Firebase: IAM roles and permissions · Google Cloud: IAM roles overview · Google Cloud: billing access control | Who starts itAn Owner of the project, who can manage members’ roles and adds you as an Owner | What you need firstYour Google account. For someone outside the project’s organization, Owner has to be granted in the Google Cloud console | What stays behindThe billing account the project is linked to; a Billing Account Administrator links it to one you hold |
| Supabase Supabase: project transfers | Who starts itAn owner of the organization the project is in | What you need firstYour own organization with them as a member; the GitHub integration, log drains (log forwarding) and project-scoped roles removed | What stays behindUsage up to the transfer, which their organization pays |
| Stripe payments Stripe: change the owner of a Stripe account · Stripe: API keys | Who starts itThe account owner, in Team settings | What you need firstYou invited, accepted and set as Super Administrator | What stays behindStripe’s page doesn’t list any data or settings that stay behind; it advises rotating API keys when someone with access leaves |
| RevenueCat subscriptions RevenueCat: projects | Who starts itThe project owner (Transfer ownership) | What you need firstYou added as an admin collaborator | What stays behindStore credentials, which must be regenerated if the App Store or Play account changes too |
| Code on GitHub GitHub: transferring a repository | Who starts itSomeone with admin access to the repository (Settings, Transfer) | What you need firstYour account or organization; a personal-account recipient must accept within one day | What stays behindWebhooks, secrets and deploy keys stay attached, so review them; GitHub Pages sites don’t redirect |
| Built in Lovable Lovable: project settings (move and transfer) | Who starts itThe project owner, a workspace owner or a workspace admin (Move workspace) | What you need firstThe mover must belong to your workspace, so invite them first | What stays behindPeople invited directly to the project, unless the mover ticks Transfer project collaborators; the access setting resets |
| Built in Bolt Bolt: projects and files (transfer a project) | Who starts itThe project owner (Transfer to, To a user) | What you need firstThe custom domain removed; Bolt recommends moving any Supabase project to you first | What stays behindThe GitHub connection and the Supabase account; a domain bought through Bolt can’t be reconnected until it expires |
| Hosted on Vercel Vercel: transferring a project | Who starts itAn Owner of the team the project is in | What you need firstThem as a member of your team; a payment method on your team | What stays behindIntegrations, logs, monitoring data, Vercel Blob storage and variables set in vercel.json; usage resets |
| Hosted on Netlify Netlify: transfer a project | Who starts itA Team Owner of the project’s team | What you need firstThem as an Owner or Developer on your team; transfers allowed on their team | What stays behindAccess for members not on your team; settings for features your plan doesn’t have |
| Website domain ICANN: domain name transfer policy | Who starts itYou, at the registrar you are moving to, with the transfer code (AuthInfo code) from the current registrar | What you need firstThe domain unlocked and its transfer code. For .com, .net and similar, a registrar without a self-service tool must give the code within 5 calendar days of a request | What stays behindNothing, if the registered holder’s details stay the same until the move is done; changing them first can block transfers for 60 days |
Questions
- How do I switch app development companies mid-project?
- Get admin access to every account before you end the contract, then have the outgoing team transfer what is in their name: the App Store and Google Play apps, the Firebase or Supabase project, Stripe, the code repository, the hosting and the domain. Remove their access and rotate keys last. Ask the new team to review the code before they quote, so the price reflects what is actually there.
- How do I take over an app from a previous developer?
- Find out which accounts the app is published and hosted from, and whose login owns each one. If they are your company’s accounts, ask to be made Account Holder or owner and remove the developer afterwards. If they are the developer’s own accounts, they have to transfer the app, the Firebase or Supabase project and the code to you. Get the Android upload key and the push notification key sorted, then rotate every API key they had.
- How do I take over a Lovable or Bolt app from the previous developer?
- Ask for the project itself to be transferred, not a copy. In Lovable, invite the developer to your own workspace and have them move the project into it (Project settings, Move workspace); changing only the owner leaves it in their workspace, and a remix is only a copy that leaves the database records, custom domain and publish state behind. In Bolt the owner uses Transfer to, To a user, after removing the custom domain. If the app uses its own Supabase project, GitHub repository or domain, those move separately, so tick them too.
- Who should own my App Store and Google Play accounts?
- Your company. When an app is published from the developer’s own account, moving it needs their cooperation: Apple’s App Transfer is started by their Account Holder, and Google Play’s app transfer is submitted from their account. Apps published from your own developer accounts, with the developer added as a user, can change teams by changing users.
- What if my developer stopped responding?
- Gather your contract, paid invoices and company documents, then go to each vendor’s support. Stripe runs an identity check when the owner has gone, and Google Play says an owner change can’t be self-served when the owner is unreachable, so you contact Play Console support. An Android upload key can be reset if the app uses Play App Signing. An app published from the developer’s own App Store or Play account can’t be transferred without them; if they never reply, our advice is to publish it again from your own account. Pick “No, they’ve stopped replying” and the checklist shows these routes and writes a formal notice instead of a friendly request.
- Can I get my Android app back if the developer has the signing key?
- If the app uses Play App Signing, Google holds the app signing key and the developer only has the upload key. A lost or withheld upload key can be replaced: create a new key, export its certificate as PEM and request an upload key reset in Play Console.
- What should I ask the outgoing developer for?
- Admin access or ownership on each account, the code with its full history, the push notification key, the Android upload keystore and passwords, the domain transfer code, and a short note on how to build and deploy the app. The tool writes the request for you from what you tick.
- Is anything I tick saved or sent?
- No. The checklist is built in your browser. For usage statistics, only the options you picked and the number of steps are recorded, never anything you type.
Once the accounts are yours, test the handover itself (a clean build, a test release and a recovery plan) with the mobile app handoff checklist. If the company that built your app shut down, start with what to do with an app Builder.ai built. If the developer has stopped replying, read what to do in the first 48 hours. For the Firebase project, see how to transfer a Firebase project to a new owner. To have a developer pick up the app, see taking over an app from a previous developer.
Every step links the vendor page it comes from. Pages checked October 22 and 23, 2026. This is not legal advice; for a contract dispute, ask a lawyer.
Need a new developer to take the app over?
If the app works and you need someone to keep it moving, the Monthly Dev Subscription takes one request at a time, from $1,495 a month. Requests come back as pull requests you merge, and you can pause or cancel anytime.
Built with Lovable, Bolt, Cursor or another AI builder? The $450 Launch Check reviews it first: every issue found, ranked, within 3 business days, with a fixed price for the Rescue Sprint.
Something else? The fixed-price offer finder matches your problem to an offer and its price.
Link to this checklist
Writing about hiring or replacing a developer? You’re welcome to link here. The checklist is free and needs no sign-up.
Fixed-price help for your app
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- Monthly Dev Subscriptionfrom $1,495/monthOne development request at a time, most back in about 2 business days. Pause or cancel anytime.
- AI-Built App Rescuefrom $450A Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.
- App Fix Ticketfrom $450One reproducible bug in an existing mobile or web app, diagnosed and fixed.