The moment a business realizes it's locked into a SaaS vendor is almost never the moment it signed the contract.
It's eighteen months later, when leaving would mean rebuilding integrations, retraining staff, and somehow reconstructing years of data that turns out to be trapped in a proprietary format nobody thought to ask about at the start. By then, the vendor knows it too, and pricing renewals reflects exactly how expensive it would be to walk away.
Vendor lock-in isn't usually the result of one bad decision. It's the accumulation of a dozen small ones made during onboarding, when everyone's focused on getting the tool running rather than on what happens if you ever need to leave it. This article covers what actually creates lock-in, what to check before signing anything, and the regulatory shifts changing the leverage businesses have, particularly a significant one now in effect in the EU.
What lock-in actually is, and why it's not automatically bad
Vendor lock-in happens when switching away from a SaaS platform costs more, in money, time, or risk, than staying, even when a better or cheaper alternative exists. It's not the same thing as simply being satisfied with a vendor and having no reason to leave. The distinction matters: a business that could switch easily but chooses not to is making a free decision. A business that can't switch without significant pain, regardless of whether it wants to, has lost that choice, and the vendor knows it.
Some degree of switching cost is unavoidable and not inherently a problem. Every platform migration involves some data transfer and some retraining. The concerning version of lock-in is when a vendor deliberately makes that cost disproportionate, either through technical barriers like proprietary data formats and undocumented APIs, or through contractual barriers like long terms, automatic renewals and steep exit fees. That's the version worth designing against from the very first contract, not the version worth panicking about in general.
The three mechanisms that actually create lock-in
Lock-in tends to get treated as one vague risk, but it's really three separate, specific mechanisms, and each one needs a different kind of due diligence before you sign anything.
Data trapped in a proprietary or undocumented format
The most consequential form of lock-in is data you can technically export but can't actually use anywhere else, because it comes out in a structure only that vendor's own system understands. A CSV export that strips out relationships between records, or a proprietary file format with no publicly documented schema, satisfies the letter of "you can export your data" while making that data functionally useless for rebuilding in a new system.
This is worth testing directly before signing, not assuming based on a sales conversation. Ask specifically what format a full data export comes in, request a sample export during the trial or demo period, and check whether that sample is something a competing platform, or a basic database, could actually ingest. If the vendor can't produce a real sample export on request, that's itself a meaningful signal.
APIs and integrations that only work one way
A platform with a rich API for getting data in but a thin, rate-limited, or partially undocumented API for getting data out has built a one-way door. This shows up subtly during normal use, since the inbound API is usually what you interact with daily as you build integrations and automations, while the outbound, bulk-export side of the API often goes untested until the day you actually need it.
The practical check here is to specifically test bulk data retrieval through the API during evaluation, not just individual record access. A platform that handles single-record API calls smoothly but throttles or restricts bulk export requests is signaling where its actual lock-in mechanism lives.
Contractual terms that make leaving expensive regardless of the technology
Even a platform with clean, exportable data can lock you in purely through contract structure: multi-year commitments with no meaningful exit clause, automatic renewal terms that silently extend the contract unless you cancel within a narrow window months in advance, and switching or early-termination fees calibrated to make leaving cost more than simply renewing. Historically, these fees have functioned as a deliberate profit center rather than a genuine cost recovery mechanism, and the profit margins captured through them have often run well above what the underlying migration support actually costs the vendor to provide.
The single most useful due diligence step here is reading the termination and renewal sections of a contract before signing, specifically the notice period required to cancel, whether renewal is automatic, and what fees apply to both early termination and a full data migration on exit. If a sales team is reluctant to let you review these terms before commercial terms are finalized, treat that reluctance as information in itself.
The regulatory shift that's changed the leverage, at least in Europe
For years, avoiding lock-in was purely a matter of buyer diligence, since nothing legally obligated a vendor to make switching easy. That's changed meaningfully within the EU. The EU Data Act, which became fully applicable on September 12, 2025, directly targets cloud and SaaS switching barriers, requiring providers to support customer-initiated switching, cooperate with the migration process, and limit switching fees, including data egress charges, to the direct cost of providing that support rather than an inflated penalty.
The timeline matters here because it's still in transition. Between the law's applicability date and January 12, 2027, providers can still charge reduced, cost-covering switching fees. From January 12, 2027 onward, switching fees and egress charges tied to a genuine provider switch are banned outright across the EU for IaaS, PaaS and SaaS alike. Several major cloud providers have already moved ahead of that deadline, with providers like Google announcing waived multi-cloud egress fees in the EU shortly before the law's core provisions took effect.
It's worth being precise about what this does and doesn't fix. The Data Act targets fees specifically tied to switching, not the underlying technical lock-in of proprietary data formats or thin APIs, and it doesn't touch regular subscription pricing or legitimate early-termination penalties for contracts ended outside the normal switching process. A vendor can comply fully with the Data Act's fee restrictions while still making an actual migration painful through undocumented data structures. The law removes one specific lever, financial penalties on the exit itself, but the technical and contractual diligence described above still matters just as much, arguably more, since it's now the part regulation doesn't reach. Businesses operating outside the EU should also note this protection is jurisdiction-specific; a US-based SaaS buyer has no equivalent legal backstop and needs to rely entirely on contract negotiation and technical vetting.
What to actually check before signing anything
Avoiding lock-in isn't primarily about picking a different category of vendor. It's about running a specific set of checks during evaluation, before commercial terms are finalized and while you still have leverage to walk away or negotiate.
Request and test a real data export during the trial period. Not a promise that export is possible, an actual export you can open, inspect, and attempt to import somewhere else. This single step catches the majority of proprietary-format lock-in before it becomes your problem.
Read the contract's termination and renewal clauses closely, ideally before final commercial negotiation. Look specifically for the cancellation notice window, whether renewal is automatic, and what happens financially if you need to leave both on schedule and early. A vendor confident in its product rarely needs an onerous exit clause to keep customers.
Evaluate the API for bulk, not just incremental, access. A platform's inbound integration capability tells you almost nothing about how easy it will be to leave. Its bulk export API, tested directly rather than taken on faith, tells you everything.
Ask what happens to your data and integrations if the vendor is acquired or shuts down. This is a question sales teams don't love, and it's exactly the reason to ask it. A vendor with a clear, documented answer, ideally written into the contract rather than offered verbally, is a meaningfully lower risk than one that treats the question as hypothetical.
Check whether the platform supports open, industry-standard formats and protocols where alternatives exist. A CRM that stores contacts in a standard, widely supported schema is inherently less risky than one using a fully proprietary structure, even before you consider contract terms, because the data itself remains usable elsewhere regardless of what the vendor's export tool produces.
Common mistakes that create lock-in without anyone intending it
The most frequent mistake isn't a bad vendor. It's treating the exit conversation as something to figure out later, if it ever comes up, rather than as a standard part of onboarding due diligence alongside pricing and feature comparisons. By the time leaving becomes an active consideration, the negotiating leverage that existed before signing is gone.
A closely related mistake is letting operational data accumulate for years inside a platform without ever testing an export, on the assumption that the export feature demonstrated in a sales call will still work the same way, and at the same scale, years later with a much larger dataset. Running a test export periodically, even while happily using a platform, catches format or scale problems while they're still easy to fix rather than during an actual, time-pressured migration.
A third is building deep, highly specific integrations against a vendor's particular API quirks without any abstraction layer between your systems and that vendor's specific implementation. This is often unavoidable to some degree, but treating integration architecture as something worth even minimal thought toward portability, rather than wiring everything directly and specifically to one vendor's exact API shape, meaningfully reduces how painful a future switch would be.
Finally, businesses sometimes assume that a well-known, large vendor is inherently lower lock-in risk than a smaller one, when the opposite is often true. Larger platforms sometimes have less incentive to make switching easy precisely because their market position means fewer customers actually follow through on leaving, while smaller vendors competing for market share sometimes build genuinely more open export and integration capability specifically because they need switching to be easy in both directions to win customers away from incumbents.
A sensible approach going forward
Avoiding lock-in isn't about refusing to commit to any platform or over-engineering every integration for a hypothetical future migration that may never happen. It's about running a short, specific set of checks during evaluation, testing a real export, reading the actual termination terms, checking bulk API access, before signing, and then periodically re-testing that an export still works as the platform and your data both evolve. That habit costs very little time relative to the leverage it preserves, and it's the difference between a switch that's inconvenient but possible and one that's functionally not an option regardless of how much better the alternative might be.
Frequently Asked Questions
Not necessarily. Some switching cost is inherent to any platform migration. The distinction worth focusing on is whether that cost is proportionate to genuine migration complexity or deliberately inflated through proprietary formats, thin export APIs, or punitive contract terms designed specifically to discourage leaving.
No, its switching and fee provisions apply specifically to services offered into the EU, regardless of where the provider is based. A business operating entirely outside the EU has no equivalent legal protection and needs to rely on contract negotiation and technical due diligence rather than regulatory backstop.
There's no fixed interval, but testing an export at least once a year, or after any major increase in data volume or platform update, catches format or scale issues while they're still manageable rather than discovering them during an actual, time-pressured migration.
If forced to pick one, requesting and actually testing a real data export during the evaluation period catches the largest share of serious lock-in risk, since a platform that can't produce a genuinely usable export makes every other precaution largely irrelevant.
They overlap but aren't identical. Egress fees specifically charge for data leaving a provider's infrastructure, while switching fees can also include charges for migration assistance, account closure, or contract termination. Regulations like the EU Data Act address both under the same broader switching-cost framework, but a contract can separate them, so it's worth checking both specifically rather than assuming one covers the other.



