Safeguard
Security Guides•

What should engineering collect when a contractor engagement ends?

Before access is cut, collect the code, build notes, dependency list, credentials inventory and open risks so the next owner is not left guessing.

Safeguard Security Team
4 min read

Before you remove a contractor, collect a handover pack: merged code and open branches, build and deploy notes, a dependency list, an inventory of credentials and integrations they touched, and a list of known risks. Do this while they are still reachable, because after they leave, questions go unanswered.

Handover is not offboarding

The contractor offboarding checklist is about closing access. Handover is about keeping knowledge. They overlap in time and fail for different reasons. Access gets forgotten when nobody owns the date. Knowledge gets lost when everyone assumes the pull request history explains itself.

Schedule handover for the last week or two, with a review meeting before the final day.

The handover pack

ItemWhat to collectWhy
Code stateMerged work, open pull requests, unmerged branches and what to do with eachOrphan branches hide unreviewed code
Build and deploy notesHow to build, test and release, with commandsAvoids a single person bottleneck
Dependency listNew packages added, why, and any known issuesNext owner can patch later, see dependency approvals
Credentials and integrationsEvery key, token, webhook, service account and deploy key touchedThese outlive the person, see deploy keys
Design decisionsShort notes on why, not only whatThe code rarely explains the reason
Known risksShortcuts taken, tests missing, TODOsHonest list beats a surprise
OwnershipInternal owner per path, see ownership mapAccountability after exit

A one week plan

  1. Day one. Ask the contractor for a draft of the pack. Name the internal owner who will receive it.
  2. Day two. List open branches and pull requests. Merge, close with a note, or reassign each one.
  3. Day three. Walk through the credentials inventory. Mark each as rotate, transfer or delete.
  4. Day four. Run a build and deploy from the notes, done by a staff member, not the contractor. Whatever fails is a gap in the notes.
  5. Day five. Review known risks with the owning team and file tickets for each.

Test the notes, do not just read them

The most valuable single step is having a staff engineer follow the notes cold. Where they get stuck is where tomorrow's incident will be. Ask the contractor to fix the notes while they can.

What to do with open branches

An unmerged branch is code nobody reviewed. Do not leave it sitting in the repository, where someone may later merge it on trust. Either review and merge, or archive it with a note, or delete it. Record which.

After the pack is accepted

Then run exit: remove access, delete or rotate credentials, revoke tokens, confirm in writing that local copies are deleted, and note that, as GitHub documents, removed people may keep local clones. See what happens to a local clone.

Try it yourself

Click through it at your own pace, or open it full screen.

Use it to see what a dependency inventory looks like, then compare it with the list a contractor hands you.

Safeguard's dependency scanning and SBOM generation can produce the dependency list for the pack automatically, and compliance and evidence automation can store the review record. See the free scan.

Quick check

When should the handover happen?

In the last week or two, while the contractor is still available to answer questions, and before access is removed.

What do I do with unmerged contractor branches?

Review and merge, archive with a note, or delete, and record which. Do not leave unreviewed code waiting to be merged on trust.

Sources

Last reviewed: 19 October 2026.

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.