Make sure your team owns the software, infrastructure, accounts, documentation and operational knowledge before an outsourced engagement ends.
Most companies discover whether they really own their software at the worst possible moment: a vendor relationship ends, a key engineer leaves, or technical due diligence asks who can deploy to production.
If the honest answer involves “we would need to ask the agency”, you have a handover problem.
This software project handover checklist is designed for CTOs and founders working with outsourced teams, including India-based engineering partners. It covers account and credential ownership, reproducible environments, documentation, contract basics and the practical handover session that proves your team can operate the system without the vendor in the room.
Handover is often treated as the last line of a project plan. By then, the decisions that make it easy or painful have already been made.
Nobody on your side can deploy, roll back or rotate a credential.
Production runs in an account billed to the vendor, turning the move into a migration project.
Key technical knowledge stays with a small number of engineers and the next team must reverse-engineer decisions.
Domains, app store listings or payment accounts may be registered to the wrong legal entity.
None of these are dramatic on day one. All of them become expensive the day you need to move quickly.
The simplest rule: anything your product depends on should be created in your company’s name, with the delivery team added as collaborators whose access you can remove.
Your organisation should own the repositories. Vendor engineers should be collaborators whose access can be removed.
Keep cloud and hosting accounts in your company’s name and billing, with at least two people on your side having administrator access.
Use your company’s registrar account and retain control of renewal contacts and payments.
Apple Developer and Google Play Console accounts should belong to your legal entity.
Email, payments, analytics, error tracking and AI model providers should be created under your company’s accounts.
Keep sensitive credentials in your secrets manager or vault. Nothing sensitive should live in code, chat history or CI logs.
Pipeline definitions should live in your repository rather than only inside a vendor-run tool.
An environment built entirely by clicking through a cloud console can only be rebuilt by the person who clicked.
Use Terraform, OpenTofu, Pulumi or the cloud provider’s templates, committed to your repository.
Keep configuration in code while referencing secrets from your vault.
A README should take a new engineer from a fresh laptop to a running local copy.
Tests and build steps should run in CI on every change.
Maintain separate environments created from the same definitions.
The real test: Can an engineer who has never seen the project stand up a working staging environment using only the repository and the documentation?
Long documents nobody reads are not the goal. Short, current documents that a new engineer actually uses are.
Document the main components, data flows, external dependencies and where each component is hosted.
Provide step-by-step instructions for deploying, rolling back, rotating secrets, restoring backups, scaling services and responding to alerts.
Record significant technical decisions and why they were made so future teams do not undo choices without understanding the reasoning.
Maintain an honest list of open bugs, shortcuts and areas requiring attention.
For AI features, document prompts, configuration, model versions, evaluation sets, human review and approval design and usage limits.
Before work starts, confirm with your own counsel that the contract covers the technical ownership you expect.
Work product should be assigned to your company on payment or under terms agreed in writing.
Understand vendor-owned libraries and the licence you receive to continue using them.
Maintain an inventory of licences so there are no surprises during later technical or legal due diligence.
Define what the vendor delivers at the end, how access is revoked and what happens to copies of your data.
This is a checklist, not legal advice. The important point is to raise these terms before kickoff, not after a disagreement.
Documents are necessary but not sufficient. Your team should demonstrate that it can operate the system without the vendor.
The vendor’s technical lead walks your engineers through the structure, key flows and difficult areas.
An engineer from your side performs a production deployment while the vendor watches and advises.
Rehearse a release rollback and restore a backup to a non-production environment.
Rotate shared secrets and remove access that is no longer required.
Walk through known issues and agree who is responsible for each item.
Agree on a short, defined period during which the vendor answers post-handover questions.
Owned by your organisation and vendor access is removable.
Cloud, domains, app stores and third-party services are in your company’s name and billing.
Secrets are in your vault and rotated during handover.
Infrastructure is defined as code and staging can be rebuilt from the repository.
Architecture, runbooks, decision logs and known issues are current.
IP assignment, vendor components, open-source licences and exit terms are confirmed.
Your engineer has deployed, rolled back and restored a backup.
A post-handover support window and contact are agreed in writing.
If any row is incomplete, you have not finished handover yet.
Once ownership and operational knowledge are transferred, you can take the product in-house, extend the engagement with another scoped piece of work, or run a hybrid model where your engineers own the core and a partner delivers defined workstreams.
We design every Launch Pilot to end with the handover standard already satisfied.
Repositories and accounts are client-owned from day one.
Used where the scope includes environments and infrastructure.
Short documentation focused on helping the next engineer operate the system.
Your team runs the deployment rather than simply watching a presentation.
That is also why a pilot is a useful test of any engineering partner: you can evaluate delivery and handover before committing to a larger engagement.
If you want an outsourced build that ends with your team holding the keys, discuss a Launch Pilot with Axentis. We will scope one bounded outcome privately and agree the handover standard before any code is written.