Leaving is a documented procedure
Not a negotiation, and not a page that just asserts 'no lock-in' and moves on. Here's what the handover actually contains, what it costs, and what honestly stops when you go.
What you receive
Every item below is a real, standard file format — nothing that only opens with us.
| Item | Format | Good for |
|---|---|---|
| Infrastructure definition | Code, in the repo | Stand the exact same shape up anywhere that reads it. |
| Application repository | Full git history | Every commit that ever touched it, not a snapshot. |
| DNS zone | Standard zone file | Import into any registrar or DNS provider. |
| Environment & config values | Encrypted export | Everything the app reads at startup, moved deliberately rather than left behind. |
| Database dump | Standard dump format | Restore into any compatible database. |
| Uploaded & user files | Ordinary files, not a proprietary export | Every file your app ever wrote, not just what shipped in the build. |
| Backup archives | Ordinary files | Not a proprietary snapshot format only we can open. |
| Pipeline / deploy configuration | Code, in the repo | Whatever ships a merge today keeps shipping it elsewhere. |
| Written runbook | Document | What each piece is and how it fits together, for whoever picks it up next. |
| CodeHerder brief-and-pull-request history | Already in the repo | The record of every change ever briefed and shipped, kept with the code it changed. |
How it actually goes
One procedure, whichever exit shape you pick below — the branch only happens at the rebuild step.
That's the whole procedure added up: a typical estimate scheduled around, not a measured average, and most of it is confirming things rather than doing them.
- You~10 min
Say which way you're going
Pick one of the two shapes below, through the quote form: take the pack yourself, or have it rebuilt into an account you own.
- CustomHostedNothing
The pack is assembled
Every item in the manifest below is exported fresh, alongside the stack that keeps running while it happens.
- You~10 min
Confirm where it lands
Your own storage, or handed straight to whoever's building the new home — your call.
- CustomLabsNothing
Rebuild, if that's the shape you picked
Only for the "rebuild into your account" shape: the same definitions, stood up inside infrastructure you own.
- You~10 min
Confirm the new home is live
Point DNS, or just confirm everything is where it should be.
- CustomHostedNothing
Old access is revoked
On the schedule you set, once you've confirmed the new home is live — not before.
Take it, or have it rebuilt for you
Both are free. Both are documented. The difference is whether you want the definitions, or the running stack itself.
- 1
Take it and go
You receive the full pack and stand it up wherever you like — another provider, or back in-house. Free, documented, no rebuild required from us.
- 2
Rebuild in an account you own
You want the running stack itself, not just the definitions for it. We rebuild it from those same definitions into an infrastructure account you control, and hand over the keys. Also free, also documented.
What stops when you go
Said plainly, not buried — that's the reason this page is worth publishing at all.
The app, and every commit that ever touched it
Full git history, not a snapshot taken on the way out.
The infrastructure definition
The same code that stood the stack up in the first place.
The domain's DNS records
A standard zone file, importable anywhere.
All the data
A fresh database dump, plus the backup archives as ordinary files.
The deploy pipeline configuration and a runbook
What ships a merge today, written down well enough to hand to someone new.
The CodeHerder brief-and-pull-request history
It's already in the repo, so it leaves with the repo.
Monitoring, patching, and the backup schedule
The schedule we run stops when the account does. Whoever hosts it next needs to pick that back up.
The named human
The person on the other end of the quote channel is only reachable while you're a customer.
The CodeHerder loop
The repo, its history, and every brief in it stay yours — but briefing a change and having an agent open a pull request that ships through CI needs the pipeline we operate. Once that's gone, shipping a change goes back to being a manual pull request again.
Portability questions
The follow-ups that come up once leaving is actually on the table.
01Does leaving cost anything?
No. The handover pack and both exit shapes above are free, whenever you ask for them, and there's no minimum term to run out first.
02How long does a handover actually take, on my side?
Under 30 minutes of your own time, spread across the steps above — the same discipline as the onboarding checklist, added up rather than guessed at. The pack itself is assembled without pausing the stack that's still running.
03What if I don't have anywhere to put it yet?
That's fine — ask for the pack and take your time deciding where it goes next. Nothing about assembling it commits you to a destination.
04Can CustomLabs just rebuild it somewhere else for me?
Yes — that's the second exit shape above. Same infrastructure definitions, stood up inside an account you own, with the keys handed over at the end.
05What happens to the CodeHerder brief history when I leave?
It stays — every brief and pull request already lives in the repo you're taking with you. What ends is the pipeline that turns a new brief into a shipped change automatically; the record of the old ones doesn't go anywhere.
06Do I need a reason to ask for a handover?
No. It's documented and free precisely so it isn't a negotiation — ask for it because you're leaving, because you're curious what it contains, or for no stated reason at all.
What portability connects to
- Onboarding
The handover checklist for arriving. This page is its outbound mirror — the same discipline, running in the other direction.
- Migrations
The cutover mechanics for moving in. Already hosted here and moving on instead? That direction is this page.
- Security
Where the no-lock-in claim on this page first gets made, next to backups, patching, and TLS.
- Domains
The DNS zone in the handover pack above, in full — every record class, and who owns it while you’re still here.
- The Loop
The pipeline behind § 05 below — what a briefed change relies on, and why it needs us running it.
- Recovery
The unplanned exit — this page's sibling for when something is gone or broken instead of a deliberate move.
- Billing
What cancelling actually does to the invoice, and where this page’s free handover pack fits into it.
- Access
Who holds a key while you're still a customer — this page is about the keys handed over when you're not.
Ready to see the pack for real?
Ask for a handover any time — free, documented, no reason required.