From the team behind aidrop.it — one workspace to build, host, and keep changing your code.

Every platform says your data is yours. The question worth asking is narrower and much less comfortable: if you decided to leave on Monday, what would you have by Friday, and what would be gone?

Most teams have never checked. The export button is assumed to exist, the database is assumed to be dumpable, and the runbook is assumed to live somewhere. Assumed is the operative word in all three.

Portability is not a feature you buy. It is a property you verify, once, while nothing is on fire.

Three things leave at different speeds

Code leaves easily. It is in git; you have clones. This is the part everyone checks and the part that was never at risk.

Data leaves slowly. A database dump is straightforward if one exists and you have somewhere to put it. Uploaded files, generated artefacts and anything living only in a managed service are the parts that turn a migration into a project.

Operational knowledge usually does not leave at all. Which environment variables must be set, what the health check expects, why the retry is where it is, who to call. None of it is in the repository, and the person who knew is the reason you are leaving. An agent makes this worse rather than better: a session's reasoning evaporates with the tab unless it is recorded as it happens.

That third category is the one that actually locks teams in, and it is the only one no vendor can export for you.

Test the exit before you need it

Run the drill once: take a dump, test the database restore, take the code, and try to stand the thing up somewhere else. Not to migrate — just to find out what stops you.

What stops you is always specific and never in the marketing: a service you forgot was managed, a secret nobody has outside the platform, a build step that only exists in someone's terminal history. Two hours of this is worth any amount of reading about portability.

Then write down what you found, because you will not remember by the time it matters — the same reason inheriting a codebase goes badly when nobody recorded what surprised them.

What to look for before you commit to a platform

  • Can you get a full copy of your data, on demand, without asking a human? "Contact support for an export" is a process, not a capability.
  • Does anything exist only here? A queue's contents, an uploaded file, a generated report. Anything with no copy elsewhere is the thing you would lose.
  • Are your secrets recoverable? A vault you cannot read from outside is a vault you cannot leave with.
  • Is the runtime shape written down anywhere but the dashboard? Ports, health checks, required variables, sizes.
  • Ask directly what is not backed up. A vendor that answers this plainly is telling you more than one that says "enterprise-grade" — and if nobody keeps a copy, deletion is final, which changes how you treat delete buttons. The same goes for what happens when you stop paying: a host that states its clocks has told you where you stand.

The honest version is more useful than the reassuring one

Every platform holds something. The useful distinction is not "locked in or not" but whether you can see the shape of it.

A service that says "we keep no backups, here is your dump on demand" has told you exactly where you stand. One that implies everything is recoverable, without saying by whom or how fast, has told you nothing — and that is the one to test first.

FAQ

Is vendor lock-in always bad? No. Depth of integration is often what you are paying for. It is bad when you cannot describe it, because then you cannot price it.

How often should we test an export? Once when you adopt the platform, and again after any change that adds a stateful component. It is a check, not a routine.

What if the platform disappears overnight? Then you have what you already hold: your repository, your most recent dump, and whatever you wrote down. That list is the real answer to "could we leave", and it is knowable today.

What does aidrop.it keep? No backups, deliberately. A managed database can be exported by its owner on demand and no copy of that export is retained — a smaller promise than the alternative, and one that does not quietly become false.

Does an AI agent change any of this? It makes the third category worse. Sessions produce decisions that were never written down, so the knowledge that leaves with a person now also leaves with a closed tab.


Cover: https://unsplash.com/photos/Annl9CjEaEs by Ali Mkumbwa on Unsplash. Alt text: Stacked shipping containers at a busy port, waiting to be moved.

A codebase that already exists

Bring a project that has history

Connect the repository you already have. aidrop reads its current revision, names the blockers instead of working around them, and builds the record the next person or agent needs. A project with history is not two clicks, and it is not sold as one.