AI vendor lock-in and the exit ramps that actually work
Work out what an AI tool really holds, test the export before you depend on it, and keep the cost of switching down to an afternoon rather than a quarter.
on this page · 0 / 0 checked
An AI tool earns its keep by absorbing your work. You paste in the context, refine the instructions until the output stops being generic, connect it to your files and your inbox, and after a few months it handles your business better than a new hire would in their first week. That absorption is the product. It is also a bill you have not been shown. The question of whether you could move off it costs nothing to answer in week one and a great deal to answer in month eighteen, usually on the same morning the renewal price arrives.
This guide is about buying that answer early, while it is cheap. It covers what an AI tool actually holds, how to test the way out before you commit to the way in, why the model underneath your work will be retired whether or not you ever switch vendors, and what European law now requires of providers. It is written for a one-person business or a team under about twenty, spending its own money. If you have a procurement function and a legal team, your exit terms belong in a contract and this is too small for you. If you are deliberately building something deep on one platform, skip to the last two sections.
What an AI tool holds that an export does not return
Four things accumulate inside an AI tool, and they are not equally portable.
The first is the writing you did: the instructions, the briefing packs, the recipes you refined over twenty attempts until the output was right. The second is your source material, the documents and spreadsheets you uploaded so the tool could work on them. The third is logic, meaning the automations that run on a schedule and the decisions baked into them. The fourth is connections, meaning the credentials and integrations that let the tool reach your email, your store or your accounting software.
Now compare that against what comes back when you press export. OpenAI describes the ChatGPT export as a ZIP file that “includes your chat history and other relevant account data” [2]. Notion’s workspace export gives you your pages as HTML, Markdown or CSV for databases, along with any files you uploaded, plus comments at page and block level in the HTML version, plus a sitemap file to help you navigate what came out [3]. Both are honest and both are useful. Neither is your setup. An archive of conversations is a transcript of a working relationship, not the relationship. You get the words back. You do not get the configuration, the automations or the connections, because those were never files in the first place.
The practical consequence is that portability is something you do, not something you download. The instructions you keep in a text file on your own storage move to any tool in ten seconds. The same instructions, existing only inside a vendor’s custom-assistant screen, are a retyping job. The difference costs nothing on the day you set them up and a week eighteen months later.
Every export has a clock on it, so run one while you still like the vendor
Export buttons are tested by almost nobody until the day they matter, which is the worst possible day to discover a limitation. Each of the big ones has timing you should know before you need it.
ChatGPT exports are requested from the profile menu, under Settings, then Data controls, then Export [2]. OpenAI says exports can take up to 7 days to arrive, that the download link expires 24 hours after you receive it, and that you have to be signed in to the same account that requested it [2]. That combination matters more than it looks: a request made before a holiday can land and expire while you are away. The self-service route is also not available for ChatGPT Business, Enterprise or ChatGPT for Healthcare workspaces, where OpenAI sends you to your workspace owner instead [2].
Notion’s numbers are larger. A workspace export can take up to 30 hours to process depending on the size of the workspace, and the download link expires after 7 days [3]. Exporting your entire workspace to PDF, the format Notion itself suggests for legal and compliance backups, requires a Business or Enterprise plan [3]. If you are on a cheaper plan and assumed PDF was your archive format, you found out here rather than during an audit.
Then there is the history you never thought of as data. When Keep Activity is on, Google stores your Gemini Apps activity in your Google Account, and by default activity older than 18 months is auto-deleted [4]. You can change the auto-delete period to 3 or 36 months, or turn auto-deletion off entirely [4]. If your team has been treating two years of chat history as a searchable knowledge base, the default setting has been quietly disagreeing with you. Check it today; it takes a minute.
The model underneath your work will be retired before the vendor is
Lock-in is usually framed as being stuck with a company. The more frequent version is being stuck with a model that is about to disappear from underneath you, and it happens to loyal customers as reliably as to disloyal ones.
Anthropic publishes a four-state lifecycle, active, legacy, deprecated and retired, notifies customers with active deployments at least 60 days before a publicly released model is retired, and states plainly that requests to retired models will fail [5]. The dates on that page apply to Anthropic-operated platforms; the partner-operated ones, Amazon Bedrock and Google Cloud, set their own retirement schedules, so a model’s lifecycle status and dates can differ depending on where you run it [5]. A smaller detail on the same page shows how deep this goes. The temperature, top_p and top_k parameters are deprecated for Claude Opus 4.7 and later, and setting any of them to a non-default value on those models returns a 400 error [5]. Code that ran happily for a year does not survive being pointed at the newer model, and no change of vendor was involved.
OpenAI’s policy is longer at the top end and shorter at the bottom. It commits to at least 6 months’ notice for generally available models and at least 3 months for specialised variants, the chat, Codex and deep research versions [6]. Preview models, identified by “preview” in the name, may be retired with much shorter notice, such as 2 weeks, and if safety or compliance concerns require an earlier retirement the commitment drops to as much notice as is reasonably possible [6]. The published schedule has gpt-3.5-turbo, gpt-4, o1 and o3-mini all shutting down on 23 October 2026 [6].
The defence is boring and works. Keep model names in one place rather than scattered through prompts, scripts and automations, so a swap is one edit. Write instructions that describe the job rather than exploiting one model’s quirks, because a prompt that would work on a competent stranger tends to survive a model change. Treat any preview or experimental model as a two-week rental, not a foundation. And when a deprecation email arrives, do the migration in the notice window rather than on the last weekend, because the models you are moving to behave differently and you will want to check the output.
Automation logic is the expensive part, and it travels worst
Of the four things a tool holds, automations are the ones that cost the most to rebuild, because the value is in the decisions rather than the data. A ten-step workflow with three conditions and an error path represents a few afternoons of thinking, and none of that thinking is in your chat history.
n8n is the good case, and it is worth using as a benchmark for everything else. Workflows are stored as JSON, downloadable as a file from the three-dot menu in the editor, and importable either from a file on your computer or from a URL [7]. For moving workflows between instances n8n points you at its CLI rather than the interface, because the CLI carries the folders, projects and references a workflow needs, and checks an import before writing anything [7]. There is a sharp edge worth knowing: exported workflow JSON includes credential names and IDs, and the documentation tells you to remove or anonymise that information before sharing a file [7]. An export that is genuinely portable is also genuinely leaky, and you should treat those files like passwords.
Ask exactly the same question of Zapier, Make, or any other automation platform you are considering, and ask it during the trial rather than after: can you get the logic out as a file you can open and read, today, from a menu, without contacting support. Where the answer is no, the insurance policy is a written one. Keep one page per automation in your own storage, in plain language, listing the trigger, the steps in order, the conditions, the outputs and what happens when a step fails. That page takes fifteen minutes to write while you are building the thing and is the difference between rebuilding a workflow elsewhere in an hour and reverse-engineering it from screenshots in a day. It also doubles as documentation for whoever covers for you.
A compatibility layer is not portability
A common piece of reassurance is that the model providers all accept the same shape of API request now, so switching is a one-line change. Read what the vendors themselves say about it.
Anthropic publishes an OpenAI SDK compatibility layer: point the base URL at https://api.anthropic.com/v1/, supply a Claude API key and a Claude model name, and existing OpenAI client code runs [8]. The same page lists what does not carry across. Audio input is ignored and stripped from the input, prompt caching is not supported, system and developer messages are hoisted and concatenated into a single system message at the start of the conversation, and the strict parameter for function calling is ignored, so tool output is not guaranteed to follow the schema you supplied [8]. Anthropic’s own summary is the sentence to remember: the layer is “primarily intended to test and compare model capabilities, and is not considered a long-term or production-ready solution for most use cases” [8].
Read that as good news rather than bad. It means the annual competitor test is nearly free, because you can point the same code at another provider for an afternoon and see what happens to your actual outputs. It does not mean production moves on a Friday, because the features you rely on for cost and reliability, prompt caching among them, are exactly the ones the compatibility layer drops. Budget for an evaluation that is cheap and a migration that is not.
European law now gives you part of an exit ramp
The EU Data Act was published in the Official Journal on 22 December 2023 and has applied since 12 September 2025, and its switching provisions are aimed at precisely this problem [1]. All providers of data processing services have to remove the obstacles their customers face when they want to switch to another provider or use several services at the same time [1]. Providers of platform and software as a service must make open interfaces available and, at a minimum, export data in a commonly used and machine-readable format [1]. Providers of infrastructure as a service carry the heavier version: where a customer switches to a service of the same type, they must take measures to help that customer get materially comparable outcomes from the same input, for the features the two services share [1].
The money clause is on a timer. During a transitional period running from 11 January 2024 to 12 January 2027, providers may still charge customers for the costs they incur in relation to switching and data egress; from 12 January 2027 switching charges, including charges for data egress, are removed entirely [1]. If your contract renews after that date, egress fees are a line item you can now argue about with a regulation behind you.
Know the limits before you rely on it. It is European law, it covers data processing services rather than every application you use, and none of it rebuilds an automation or hands back the prompt library you never kept a copy of. It lowers the price of leaving. It does not do the leaving for you. Use it as leverage in a renewal conversation and as a reason to ask a vendor, in writing, which of its obligations under the Data Act apply to your account.
Decide in advance what you are willing to be locked into
Not all dependence is a mistake, and a business that refuses to commit to anything never gets good at anything. The workable position is to sort your tools by depth and apply different standards to each.
Shallow tools hold conversations. A general assistant such as Claude, ChatGPT or Gemini falls here, and switching costs you habits rather than assets, provided your instructions live in your own files. Buy these on monthly billing, and keep a real second account somewhere so that a bad week at one vendor is an inconvenience rather than an outage.
Medium tools hold your documents and structure. Notion is the obvious example, and leaving means an export and a rebuild rather than a copy and paste [3]. Before one of these becomes the place your business writes things down, export the whole workspace once and look at what the Markdown actually contains.
Deep tools hold logic and credentials. Automation platforms and anything with write access to your money or your customers belong here. Apply the full check before you build anything load-bearing: a readable export of the logic, credentials you own rather than ones the tool created on your behalf, and a one-page description of what leaving would involve. If you cannot write that page, you do not understand the dependency well enough to take it on. The tool selection procedure covers the rest of the purchase decision; this is the part of it people skip.
Then put a number on it, because a vague fear of lock-in loses arguments and an estimate wins them.
rebuild hours × your hourly value, plus the overlap period where you pay for both. Computed in the page; nothing is sent anywhere.
What still goes wrong
The discipline rots. A folder of prompts and workflow pages is accurate for about six weeks, then someone improves a prompt inside the tool and never updates the file, and by the time you need it you have a portable copy of last spring. There is no fix for this beyond a recurring calendar entry and the honesty to admit when the folder has become fiction. If you only keep one thing current, keep the automation pages, because those are the expensive ones to reconstruct.
Portability also has a price you pay every day for insurance you may never claim. Refusing to use a vendor’s deeper features to stay portable means using a worse setup than you paid for. Keeping originals outside a tool means two copies to keep in sync. Running an annual competitor test costs real hours for a result that is usually “the one we have is still fine”. Those costs are small and constant, and the risk they cover is large and rare, which is the shape of every insurance decision and the reason people skip them.
Finally, none of this survives contact with a vendor that simply stops. Exports assume a working service, deprecation notices assume a company that still sends emails, and the Data Act’s obligations assume a provider still trading [1]. The only defence against a shutdown is a current copy of the things that were always yours, which is the same folder this guide has been describing throughout, kept for a different reason.
- 01European Commission — Data Act explaineddigital-strategy.ec.europa.eu
- 02OpenAI Help Center — How do I export my ChatGPT history and data?help.openai.com
- 03Notion — Export your contentnotion.com
- 04Google — Gemini Apps Activitysupport.google.com
- 05Anthropic — Model deprecationsplatform.claude.com
- 06OpenAI — Deprecationsdevelopers.openai.com
- 07n8n Docs — Export and import workflowsdocs.n8n.io
- 08Anthropic — OpenAI SDK compatibilityplatform.claude.com