Process5 min read
App handover checklist: the code, accounts and data you should own when the build ends
By Sannan MalikPublished
Short answerWhen an app build ends, you should own the source code repository, the Apple and Google developer accounts in your company's name, access to the Android upload key, the hosting and database accounts, the domain, every third-party service the app calls, the admin logins and written notes on how to build and release it. If any of these sits only in your developer's name, fix it before the final payment.
Why I plan the handover on day one
A handover is easy when there is nothing to move. That is the whole trick.
I ask clients to open every account first, in the company's name, and invite me: store accounts, server, database, domain, email and SMS providers. At the end, handover means two things. I give you the last pieces that only exist on my machine, and you remove my access.
The opposite pattern is common. The developer creates everything under their own logins to save time, and the app quietly becomes theirs. If you have not opened your store accounts yet, my guide to setting up Apple and Google developer accounts for a UAE company covers the paperwork. Who owns the code itself is set by your contract. I am not a lawyer and this is not legal advice, so have the ownership clause read before you sign.
The checklist I go through at handover
Go through this list with your developer, and tick each line only when you have logged in yourself. Seeing a screenshot does not count.
| Item | What you should hold | How to check it yourself |
|---|---|---|
| Source code | A Git repository owned by your company, with the full history | Log in and confirm you are the owner, not a guest |
| Apple developer account | Organisation membership with your own person as Account Holder | Users and Access shows you as Account Holder |
| Google Play Console | Organisation account you registered, so you are the owner | Users and permissions shows you as owner |
| Android signing | Play App Signing on, plus the upload keystore file and its passwords | App signing page says active; keystore in your password manager |
| Backend hosting | The server or cloud account billed to your card | Log in and see the running server |
| Database | Admin credentials and a recent backup you can open | Open a backup file; know where automatic backups go |
| Domain and DNS | Registrar account in your name | Log in and check the renewal date |
| Third-party services | Your own accounts for email, SMS, maps, push, payments and analytics | Match every API key in the app to a login you hold |
| Admin dashboard | An owner-level login, and the ability to create staff users | Create a test staff user and delete it |
| Documentation | A short written guide to build, configure and release | Could another developer ship an update from it? |
Android signing keys: the line people skip
Android apps are signed before users get them. Keys matter.
Google's Play App Signing splits this into two keys. Google holds the app signing key, which signs what users download. You hold the upload key, which signs the bundle you upload. New apps are enrolled by default. If the upload key is lost, you are not locked out: the account can request an upload key reset from the Play app signing page. A signing key you manage yourself, outside Play App Signing, cannot be reset if lost.
So I hand over the upload keystore file, its passwords and the key alias, and I check the app shows Play App Signing as active. On iOS I create the signing certificates inside your developer account, never mine, so nothing of mine needs retiring later.
When the app already lives in someone else's account
If your app was published under another developer's account, both stores can move it to yours, but each has conditions.
Apple calls this an app transfer. The current Account Holder starts it and the receiving Account Holder accepts it. The app keeps its bundle ID, ratings and reviews, and users keep getting updates. Sales data from before the transfer stays with the old account.
- Apple: at least one version released on the App Store, and nothing waiting for review, in review or pending release.
- Apple: both accounts have accepted the latest agreements, and no in-app purchase product ID clashes with one in your account.
- Apple: TestFlight builds and testers removed first.
- Google: both accounts active, with each account's registration transaction ID in the request.
- Google: the old account requests, the new owner approves, and support says it responds within two business days.
- Google: users, ratings, reviews, subscriptions and the listing move; earnings reports and test groups do not.
What handover looks like on my packages
The checklist is the same whatever you buy. The length changes. Launch ($999) connects to APIs you already have, so the handover is mostly the repository, the store accounts and the signing key. Growth ($1,699) adds your own Node.js backend and PostgreSQL database, which brings hosting, database access and backups onto the list. Scale ($2,500) adds a full admin dashboard, integrations and push notifications, so the third-party services row gets longer.
Hosting and third-party fees are not in the package price. You pay those providers directly, from your own accounts, which is the point. Then you remove my access. In App Store Connect an Account Holder or Admin deletes my user, which Apple says can take up to 10 minutes to apply. In Play Console you can set an expiry date on my access when you first invite me.
Questions
- Can I make my office manager the Account Holder instead of me?
- Apple lets the current Account Holder transfer the role to an employee on the team who has legal authority to bind the company to agreements. Pick someone who will stay: only the Account Holder signs Apple's agreements.
- What if my developer will not hand over the code?
- Check what your contract says about ownership and delivery, and get legal advice on that. For next time, insist the repository is in your company's account from the first commit, so there is nothing to hand over.
Sources
Platform rules and fees in this article were checked against these official pages on 8 November 2026. They change, so confirm before you rely on them.
- App Store Connect Help: Overview of app transfer
- App Store Connect Help: App transfer criteria
- App Store Connect Help: Role permissions
- App Store Connect Help: Add and edit users
- Apple Developer: Transfer the Account Holder role
- Play Console Help: Transfer apps to a different developer account
- Play Console Help: Add developer account users and manage permissions
- Play Console Help: Use Play App Signing
Sannan Malik is a software architect and product builder with 8+ years in software, CEO of Alpha Notic FZC and a Certified Scrum Product Owner. He builds mobile apps and business software for companies in the UAE, UK and US.