Building deeply on a single provider’s proprietary API is fast to start with and expensive to leave later. Prompts tuned for one model’s quirks, integrations built around one vendor’s specific tooling, and data formats that don’t port cleanly all add friction to switching, friction that compounds the longer the system runs.
The risk isn’t hypothetical. A pricing change, a policy shift on what content is allowed, or simply an outage on the provider’s side becomes your outage, on your customer-facing system, with no fallback if that one dependency is your entire architecture. One upstream change can break a system that took months to build.
The practical mitigation isn’t necessarily avoiding proprietary models; it’s architecting for the option to leave: an abstraction layer between your application and the model provider, contract terms that specify data portability and notice periods, and periodically testing that a second provider could actually be swapped in if it had to be.