Skip to Main Content
Back to blog

// GUIDE · MAINTENANCE · SWITCHING VENDORS

Moving to a new development vendor: what to receive, verify and hand over

The checklist that prevents "we don't have access to that" two months after the switch.

  • 11 min read
  • By OneZero

// THE SHORT ANSWER

In one paragraph

Handing an app or system to a new development vendor succeeds when it is run as a project in its own right, not as an intro call. The steps: map every asset — code, data, infrastructure, accounts and documents — and record its registered owner and status; confirm the product can be built and run from the repository on a clean environment and restored from backup; transfer ownership and passwords before the new vendor touches the code; move in stages with an agreed order of operations and stop conditions; and define up front what counts as a completed handover. Only after a written diagnosis do you decide whether to keep building on what exists or to upgrade.

// TL;DR

The short version — the five stages

StageWhat you doWhat you have at the end
1. InventoryList every asset, its registered owner and who holds accessAn asset table with a status on every row
2. VerificationBuild from the code on a clean environment, restore from backup, compare to productionA list of gaps between what runs and what you hold
3. Ownership transferMove accounts and domains into your name and rotate passwordsNo asset depends on the previous vendor
4. Staged transitionDefine the order of operations, an owner per stage and stop conditionsA written plan you can roll back from
5. AcceptanceCheck against acceptance conditions defined up front and documentA signed handover record and a diagnosis for the next decision

What the transition is for — and where its boundaries are

Before the asset list, one question: why are you moving? The answer decides the scope of the work. There are three common reasons, and each leads to a different kind of transition.

  • The previous vendor is no longer available. A freelancer who moved on, an agency that closed, an internal team that dispersed. Here the transition is mostly recovery: collect what exists and make sure it can run without whoever wrote it.
  • The product works, but progress has stalled. Every feature takes longer, every fix breaks something. Here the transition includes a diagnosis: you need to know whether the problem is the code, the process or the communication before deciding what comes next.
  • A business decision. Cost, location, wanting a bigger or smaller team. Here there is time, and an orderly handover with the previous vendor can be planned — the most comfortable case, and yet most of the checks get skipped because "everything works".

What is not part of the transition: architecture changes, technology replacement or new features. Those are decisions made after the transition, based on a written diagnosis — not during it. A vendor who proposes rewriting the system before taking it over is skipping the stage where you learn why it was built the way it was.

Code, data and infrastructure: the asset table

This is the central document of the transition. Each row has three fields to fill in: the registered owner (whose name the account is in), who actually holds access, and the status — transferred, pending, unknown. "Unknown" is a legitimate status at the start of the inventory and an unacceptable one at its end.

AssetWhat to checkWho should own it
Code repositoriesAll repositories (app, backend, admin, scripts); full history; unmerged branches; who can push changesYour organisation, not a developer's personal account
Environments and serversDev, staging, production; cloud provider; who pays; admin access; anything running that isn't in the codeA cloud account in the company's name with your payment method
Databases and backupsWhere the data lives; whether backups run automatically; when a restore was last tested; whether there is personal data that needs handlingYou — including direct access that doesn't depend on the code
Domain, DNS and certificatesDomain registrar; DNS management; SSL certificates and their renewal; the system's email addressesYou, with the company's contact details at the registrar
App storesApple Developer and Google Play accounts; the registered publisher; signing keys; who receives rejection noticesThe company as publisher; signing keys in your hands
Third-party servicesPayments, email and SMS, maps, analytics, push notifications, file storage, AI; API keys; who pays; plan limitsA company account per service; keys rotated at transition
Secrets and configurationEnvironment files, passwords, encryption keys; where they are stored; whether any of them live inside the codeThe company's secrets manager; not in messages and not in code
Work toolsTask tracker, documentation, monitoring and error tracking, CI/CD, design files (Figma and similar)You; an export of the history if the tool belongs to the vendor
Documents and contractsThe previous vendor's contract — IP and handover clauses; licences for libraries and third-party code; specification and design documentsYou; code ownership written into the contract
The table covers the assets that recur in most products. Yours may have more rows — hardware, devices, dedicated integrations. The rule: if something is needed for the product to run, it is a row in the table.

What to check before accepting responsibility

A new vendor who takes responsibility for a product without these checks is taking responsibility for something they don't know they can fix. Five checks, in order:

  1. Build from scratch. Clone the repository onto a clean machine and build the product from the documentation alone. Every step that requires "ask whoever wrote it" is a documented gap.
  2. Compare to production. Is the version you built identical to what users are running? If the code in production differs from the code in the repository, that is the single most important finding of the transition.
  3. Restore from backup. Take the latest backup and restore it into a test environment. A backup that has never been restored is an assumption, not a backup.
  4. Dependencies and licences. Which libraries and versions are in use, which are no longer maintained, and which licences apply. This is also where you check whether keys or passwords live inside the code.
  5. Existing documentation and tests. What is written, what is outdated, and which automated tests exist and pass. The absence of tests is not a reason to stop the transition — it is a reason to write them before the first change.

Planning a staged transition

A transition done in a single day is one you cannot roll back from. Instead — stages, each with an owner, one action and a stop condition: what has to happen for you to return to the previous stage rather than continue.

StageActionOwnerStop condition
A. Read accessThe new vendor gets read-only access to code, infrastructure and monitoringYouNone — this stage is safe
B. Acceptance checksThe five checks from the previous section; results written downThe new vendorA gap that can't be closed without the previous vendor — stop and handle it first
C. Ownership transferAccounts and domains move into your name; passwords and keys are rotatedYou, with both vendorsA service that stopped after a key rotation — restore the old key and find where it is configured
D. First changeA small, non-critical fix goes all the way through: code, test, deploy to productionThe new vendorThe deployment fails or differs from the documented process — fix the process before the next change
E. Full responsibilityThe previous vendor loses access; the new maintenance agreement takes effectYouNo stop — but you don't reach this stage before every row in the asset table reads 'transferred'
How long each stage takes depends on the product and the previous vendor's availability. It would be wrong to set numbers here — what is right is not moving to the next stage before the previous one is complete.

How do you know the handover is complete?

A handover is complete when you can answer "yes" to each of the following — and point to the document that proves it. This is the handover record; both sides sign it.

  • Every row in the asset table reads "transferred", with the new owner's name.
  • The product builds from the repository on a clean environment, and the version matches production.
  • A backup was restored successfully to a test environment, and the restore procedure is written down.
  • At least one change has gone through the full deployment path by the new vendor.
  • The previous vendor no longer has access to any asset, and every password and key they knew has been rotated.
  • A written diagnosis exists: system map, ranked findings, and a recommendation for what comes next.
  • A new maintenance agreement defines scope, severity levels and what is not included — in writing.

When to continue and when to upgrade

This decision is made after the handover, based on the diagnosis report — not before it. Four signals decide it:

SignalPoints to continuing on what existsPoints to upgrading or rebuilding
Critical findingsFixable locally without touching the structureStem from the structure itself and recur in every component
DependenciesMaintained, or can be updated incrementallyThe core relies on technology that is no longer updated
Cost of changeA small change stays small once the new team knows the codeEvery change requires touching many parts and retesting everything
Business needsThe product does what the business needs; improvements are missingThe business has changed and the product assumes a process that no longer exists
Upgrading is not always rebuilding: sometimes one component is replaced — backend, database, admin — and the rest stays. That is a question for a separate upgrade plan, once the product is already in your hands.

If your product was built with AI tools or by a team that is no longer available, and you need someone to go through this list with you — that is exactly what the diagnosis stage of our rescue and continuation service does. Rescue, takeover and continued development of an existing product

And if the diagnosis concludes that a structural change is needed — the page on upgrading existing systems describes how to plan it without breaking what works. Upgrading existing systems

// FAQ

Frequently asked questions

  • Can a product be moved to a new vendor without the previous vendor's cooperation?+
    Usually yes, if the assets are registered in your name — code, cloud accounts, domain and stores. If some are registered to the previous vendor, the transition starts with ownership transfer, and sometimes that requires invoking the contract. That is why the first column of the asset table is always "whose name is it in".
  • What if there is no documentation at all?+
    Start from the code and infrastructure themselves: a clean build, mapping the services the system calls, and reading the repository history. The first documentation is written during the transition — it is one of the diagnosis deliverables, not a precondition for it.
  • Does the transition require taking the product down?+
    Not necessarily, but no one can promise in advance that there will be no disruption — it depends on the product and on what the checks uncover. What you can do: plan every stage so it can be rolled back, and make sensitive changes (key rotation, domain transfer) at an agreed time with a rollback plan.
  • How long does such a transition take?+
    There is no number that is right for every product. The duration depends on the number of assets, the previous vendor's availability and what the clean build and backup restore uncover. What can be fixed in advance is the order of stages and the conditions for moving between them — not the date.
  • Should the new vendor commit to response times already during the transition?+
    No. Commitments to response times and availability belong in the maintenance agreement that takes effect after the handover, once the vendor knows the system and knows what they are committing to. During the transition you define an owner per stage and stop conditions — that is the relevant commitment.

Last reviewed:

By OneZero

// LET'S TALK

Building an MVP, SaaS, marketplace or AI-mobile product?

Make the architecture decision before you pick a framework by hype — it affects hiring, speed, burn, maintenance, scalability and future rewrites.