Vendor lock-in costs you the engineering hours, downtime, and negotiating leverage you lose when a vendor changes terms and you can't leave. You price it by asking three questions before you sign: what would it take to export your data, how long would a rebuild take, and what does the vendor gain from you staying versus leaving. Most teams answer these questions for the first time during a renewal negotiation, which is exactly the wrong moment — by then the vendor already knows you can't walk.
What Actually Gets Locked In
Not all lock-in is the same size. Three categories matter, and they carry very different switching costs.
- Data. Can you get a full export in a standard format (CSV, JSON, SQL dump) through a documented API or admin panel, or does the vendor only offer partial exports, rate-limited APIs, or formats that need reverse-engineering? A CRM that exports contacts as CSV but strips custom field history and activity logs isn't really portable — you get the address book, not the relationship.
- Workflow. Automations, integrations, and business logic built inside the vendor's platform (Zapier-style triggers, custom fields, approval chains, scripted rules) usually don't export at all. You rebuild them by hand on the new system, which means someone has to first document what they do — often the hardest part, because half of it lives in one person's head.
- Identity and access. SSO configuration, user permissions, and audit trails are frequently the last thing anyone thinks to check and the first thing that breaks a cutover, because recreating a permission matrix for 200 users across a dozen roles is a project in itself, not a checkbox.
Data lock-in is usually the cheapest to escape — export tools exist, and even a messy CSV is a starting point. Workflow lock-in is the expensive one, because it's invisible until you try to leave and discover that three years of "quick automations" are now undocumented dependencies.
Pricing the Switching Cost Before You Sign
Before you sign anything, run the numbers as if you were leaving the day after the contract starts. It sounds excessive, but it takes an afternoon and it's the only way to see the real number instead of the vendor's marketing claim about "easy migration."
- Check the export path first, not last. Open the vendor's API docs or ask their sales engineer directly: can you get 100% of your data out, in a usable format, without their help? Get the answer in writing. "Yes, contact support" is not the same as "yes, self-service export."
- Estimate rebuild hours, not migration hours. Migrating data is a script. Migrating workflow is a rebuild. If the platform runs 15 custom automations, assume each one takes 4-8 hours to document, recreate, and test on a new system. For a mid-size deployment that's often 3-6 weeks of one engineer's time, not a weekend project.
- Price the downtime, not just the labor. A migration that takes six weeks of engineering time also means six weeks of running two systems in parallel, or a cutover window where something breaks. Put a number on what an hour of downtime costs your business and multiply by a realistic worst case, not the best case.
- Ask what happens if the vendor doubles pricing or shuts down. Open formats and a working export mean a bad price increase costs you a few weeks of migration work. Proprietary formats with no export mean a bad price increase costs you the full rebuild number from step 2 — and the vendor knows it, which is exactly why they can raise prices in the first place.
Do this math for every core system — not the low-cost tools, the ones that touch customer data, billing, or daily workflow. A $50/month scheduling tool with no export path can cost more to leave than a $2,000/month platform with a documented API, because cost of the subscription and cost of the exit are unrelated numbers.
Negotiating Data Portability Upfront
The best time to negotiate export terms is before you sign, when you still have leverage as a prospective customer instead of a captive one. Ask for these in writing, ideally as contract language, not a verbal assurance from sales:
- A documented, self-service export covering 100% of your data, including custom fields, history, and logs — not just the core records.
- A defined format: CSV, JSON, or a documented schema, not a proprietary binary export only their own import tool can read.
- A guaranteed data-retrieval window after cancellation — 30 to 90 days is typical — so you're not racing a deletion policy while renegotiating your exit.
- No contractual penalty or data-hostage clause tied to leaving (some vendors charge an "export fee" or require a final invoice paid in full before releasing data).
A vendor that refuses reasonable export terms during a sales conversation is telling you what the relationship will look like at renewal. That refusal is itself useful information — take it as a data point in the vendor comparison, not just a negotiating loss.
When Lock-In Is a Reasonable Trade
Lock-in isn't automatically a mistake. A team of five doesn't need portable infrastructure for a tool they'll outgrow in eight months regardless of vendor — the platform that gets them shipping in a day beats the open-standard alternative that takes three weeks to configure. The problem isn't choosing convenience over portability. The problem is not knowing you made that choice.
We've seen this go wrong in a specific, avoidable way: an early-stage company picked a project management tool because it was $15/user cheaper than the alternative and the team liked the interface. Eighteen months and 40 users later, the tool had no bulk export, no API access to historical data, and support quoted a manual export as a paid professional-services engagement. The company ended up paying roughly the same in one-time migration consulting as two years of the pricier competitor's subscription would have cost — plus three weeks of a project manager's time reconstructing task history from screenshots and memory. The tool itself was fine. The decision to skip the export question was the actual mistake.
The fix isn't avoiding lock-in everywhere. It's pricing it consciously at signing time, writing the number down, and revisiting it at renewal instead of discovering it the week your vendor announces a price increase.

