Export: partial
Escape: 1-2 months
Product/order CSV export. Theme, apps, checkout customizations don't transfer.
Liquid templatesShopify apps ecosystemCheckout extensionsShopify Payments ratesMetafields
Export: hard
Escape: 2-6 months
SPL queries are proprietary. Data export via search commands but format is Splunk-specific. Must rebuild everything.
SPL query languageSaved searches and dashboardsAlert definitionsData models and accelerationsSplunk apps ecosystem3-5 year enterprise contracts
Export: partial
Escape: 2-4 weeks
Firestore export exists but format is proprietary. Auth users exportable.
Firestore query modelSecurity rules DSLFirebase AuthCloud Functions triggersRealtime DB
Export: hard
Escape: 1-3 months
Dashboard JSON exportable but metrics, logs, and monitors need recreation.
Custom dashboardsMonitor definitionsAPM instrumentationLog pipelines3-year contracts
Export: partial
Escape: 2-4 weeks
Snapshot export to JSON. But query/mutation model is proprietary — full rewrite needed.
Proprietary query languageReactive subscriptions modelFile storage APIScheduled functionsSchema validation DSL
Export: hard
Escape: 1-3 months
OneAgent instrumentation is proprietary. Davis AI baselines not exportable. Must rebuild monitoring from scratch.
OneAgent proprietary instrumentationDavis AI anomaly detection baselinesCustom dashboards (DQL)Management zonesSynthetic monitorsMulti-year contracts
Export: partial
Escape: 1-3 months
Contact/deal data exportable as CSV. Workflows, automations, and custom objects need manual recreation.
Workflow automation definitionsCustom objects schemaHubSpot forms embedded in sitesAttribution reportingSequencesHubSpot CMS pages
Export: hard
Escape: 2-6 weeks
App definitions are JSON but deeply proprietary. Database queries are SQL (portable). UI must be rebuilt.
Proprietary app builder formatComponent libraryQuery and transformer systemRetool DatabaseWorkflow definitionsCustom components API
Export: partial
Escape: 2-6 weeks
HTML/CSS export generates bloated class-heavy code. CMS data as CSV. Interactions and logic don't export.
Webflow Designer (visual IDE)CMS collections schemaInteractions/animations systemLogic workflowsE-commerce integrationMemberships
Export: partial
Escape: 1-3 months
Each service has different export options. Lambda, DynamoDB, SQS are proprietary.
Lambda runtimeDynamoDBSQS/SNSCloudFormationIAM policiesS3 event triggers
Export: partial
Escape: 2-6 weeks
XML/CSV export covers issues. Workflows, automations, custom fields, and board configs need manual recreation.
Custom workflow definitionsAutomation rulesJQL query languageBoard configurationsJira apps/pluginsDeep integrations (Confluence, Bitbucket)
Export: hard
Escape: 1-4 weeks
No workflow export format. Must manually recreate each Zap in alternative tool. Account data exportable.
Proprietary Zap definitions (no export)Premium app connectionsPaths and filters logicZapier Tables dataConnected account OAuth tokens
Export: partial
Escape: 1-4 weeks
No code export. Pages are Framer-specific. CMS data exportable as CSV. Must rebuild in another tool.
Framer motion/code componentsCMS schemaVisual design toolsLocalization systemNo HTML export
Export: partial
Escape: 2-4 weeks
Ticket data exportable via API/CSV. Triggers, macros, views need manual recreation. Knowledge base exportable.
Trigger and automation rulesCustom ticket fieldsZendesk apps ecosystemGuide (help center) themingAnswer Bot training dataSLA policy definitions
Export: partial
Escape: 1-3 weeks
Vectors fetchable via API in batches. No native bulk export. Migration to pgvector or Qdrant requires custom script.
Pod/serverless billing modelProprietary index typesNamespace structureNo standard vector interchange format
Export: partial
Escape: 1-3 weeks
REST API for TTS is portable. Cloned voices cannot be exported — must re-clone on new platform with original samples.
Custom voice clones (non-exportable)Voice IDs embedded in app configPronunciation dictionariesProject-based audio editing state
Export: partial
Escape: 2-4 weeks
Storage data exportable via REST API. CRDT model and Yjs integration are Liveblocks-specific. Migration to raw Yjs or Hocuspocus possible but requires rewriting sync layer.
Liveblocks SDK in app codeStorage CRDT formatComments/notifications systemRoom provisioning model
Export: partial
Escape: 2-4 weeks
Data exportable via snapshot export. But Convex functions, schema validation, and realtime subscriptions are proprietary — rewriting the backend is the migration.
Convex function runtimeRealtime subscription modelSchema validation in codeFile storage APIScheduled functions and cron
Export: partial
Escape: 1-2 weeks
User data exportable via API. Components and hooks are Clerk-specific.
Clerk componentsSession managementOrganization modelWebhook format
Export: partial
Escape: 1-3 weeks
Workers API is non-standard. KV, D1, R2 have varying export options.
Workers runtimeKV storeD1 (SQLite)R2 (S3-compatible)Durable Objects
Export: partial
Escape: 2-4 weeks
Customer/order data exportable. Subscriptions and payment methods need re-collection.
Merchant of Record statusSubscription managementTax handlingWebhook format
Export: easy
Escape: 1-2 weeks
Index data exportable as JSON. Query syntax and ranking config are Algolia-specific.
Query DSLRanking formula configurationInstantSearch UI widgetsSynonyms and rulesAnalytics and A/B tests
Export: partial
Escape: 1-3 weeks
Original assets downloadable. Transformation URLs are proprietary and baked into content.
Transformation URL formatNamed transformationsAI tagging dataUpload presetsDelivery URLs embedded everywhere
Export: partial
Escape: 1-3 weeks
Custom tilesets exportable as MBTiles. Style JSON is Mapbox-specific but similar to MapLibre.
Mapbox GL JS (proprietary since v2)Custom styles formatGeocoding API responsesNavigation SDKTileset hosting
Export: partial
Escape: 1-3 weeks
Built on PostgreSQL but uses custom schema language. Can dump to SQL but schema translation is manual.
EdgeQL query languageSchema definition language (SDL)Link/multi propertiesComputed propertiesAccess policies DSL
Export: partial
Escape: 1-4 weeks
Space export as XML/HTML. Macros lose interactivity. Page tree structure partially preserved.
Confluence macrosPage tree hierarchyInline commentsTeam calendarsAtlassian ecosystem integration
Export: partial
Escape: 1-2 months
Phone numbers portable (but slow). Call/SMS logs exportable. Verify, Flex, Studio flows are proprietary.
Phone number porting (30-60 days)Twilio Studio flowsVerify service configsFlex contact center setupMessaging service configsWebhook endpoints
Export: partial
Escape: 2-4 weeks
Conversation history exportable via API. Custom bots, product tours, and Fin AI configs need recreation.
Custom bot flow definitionsProduct tour configsHelp center articles formatMessenger customizationFin AI training data
Export: partial
Escape: 1-2 weeks
Videos downloadable as MP4. Transcripts downloadable. Comments and reactions don't export.
Loom-specific embed URLs in docs/wikisWorkspace organizationComment threadsCTA overlaysViewer analytics
Export: partial
Escape: 1-2 weeks
Voice agent configs exportable as JSON. Underlying STT/LLM/TTS providers are pluggable but Vapi orchestration logic is proprietary.
Vapi assistant config formatFunction calling DSLPhone number provisioning via VapiSquad/transfer logic
Export: partial
Escape: 1-3 weeks
Content exportable via CMA/CDA APIs as JSON. Content model can be exported. Migration to Sanity, Storyblok, or Prismic requires schema remapping.
Content model/types formatRich text renderer (React)Contentful Images APIWebhooks formatSpace/environment model
Export: partial
Escape: 1-2 months
Order and subscription history exportable. Paddle is Merchant of Record — customers' billing relationship is with Paddle, not you. Migrating means re-billing customers under your entity.
Merchant of Record liabilityPaddle Checkout JSSubscription management portalTax compliance handled by PaddleWebhook event format
Export: partial
Escape: 2-6 weeks
Event data exportable via S3 or BigQuery destination. User profiles via Profiles API. But 400+ destination connections must be reconfigured at new provider.
Destination connection configsTransformation functionsIdentity resolution modelAudience segment definitionsProtocols tracking plan
Export: easy
Escape: 2-4 weeks
Customer/subscription data exportable. Payment methods require re-collection.
Payment method tokensWebhook eventsBilling portalConnect platform
Export: partial
Escape: 1-2 weeks
Base API calls portable via OpenRouter. Fine-tuned models and Assistants are locked in.
Fine-tuned modelsAssistants API stateFunction calling schemaModel-specific prompt tuning
Export: partial
Escape: 1-2 weeks
User data exportable. Actions/Rules need rewrite. Social connections reconfigurable.
Actions pipelineCustom DB connectionsUniversal Login customizationSocial provider configs
Export: partial
Escape: 1-2 weeks
Markdown/CSV export works for text. Databases, relations, and embeds lose structure.
Linked databasesRelation/rollup propertiesEmbedded viewsTemplate systemNotion API integrations
Export: partial
Escape: 1-2 weeks
JS/TS code is portable. Deno KV data and APIs are proprietary.
Deno KV (proprietary)Deno-specific APIs (Deno.serve)BroadcastChannelDeno Cronnpm: specifier syntax
Export: partial
Escape: 1-3 weeks
Raw event export via API. Saved reports and cohorts need manual recreation.
JQL query languageCohort definitionsCustom properties schemaFunnels and flows configurationBoard/report definitions
Export: partial
Escape: 1-3 weeks
Event export via Snowflake or S3. Behavioral cohorts and charts need rebuilding.
Behavioral cohort definitionsExperiment configurationsCustom taxonomiesChart/dashboard definitionsUser property schema
LaunchDarklyFeature Flags
Export: partial
Escape: 1-2 weeks
Flag configs exportable via API. SDK integration requires code changes.
SDK wrapper in codebaseTargeting rules formatExperimentation resultsApproval workflowsRelay proxy config
Export: partial
Escape: 1-3 weeks
User data exportable via API. SSO connections need reconfiguration at customer level.
Admin Portal hosted UIDirectory Sync configsSSO connection metadataSCIM provisioning rulesWebhook format
Export: partial
Escape: 1-3 weeks
surreal export dumps data as SurrealQL. No standard format — must transform to SQL/JSON for other databases.
SurrealQL query languageRecord links (graph model)Multi-model schema (doc+graph+relational)LIVE SELECT subscriptionsPermissions DSL
Export: partial
Escape: 2-4 weeks
NRQL queries are proprietary. Dashboard JSON exportable but New Relic-specific. OpenTelemetry support eases agent migration.
NRQL query languageCustom dashboardsAlert policies and conditionsSynthetic monitoring scriptsNerdGraph API integrations
Export: partial
Escape: 1-3 days
Export to 1PIF or CSV. Shared vaults need individual export. Attachments exported separately.
Shared vault structureWatchtower security alertsSSH agent integrationCLI/SDK integrationsTravel mode configurations
FreshdeskCustomer Support
Export: partial
Escape: 1-3 weeks
Tickets exportable via API. Automations need recreation. Knowledge base articles exportable as HTML.
Automation rules (Dispatch'r, Supervisor)Custom ticket fieldsFreddy AI trainingMarketplace appsSLA policies
Export: partial
Escape: 3-7 days
Booking history via API. Event types and workflows not exportable — must recreate.
Event type configurationsWorkflow automation rulesRouting formsEmbed code in websitesCalendar integrations
Export: easy
Escape: 3-7 days
Original images are on your own origin (S3, GCS). Imgix is a processing proxy. Remove imgix URLs from content.
Transformation URL parametersImgix rendering API formatPurge/cache configsURLs embedded in content everywhere
Export: partial
Escape: 1-2 weeks
CDN config (VCL) is Fastly-specific. Compute@Edge (Wasm) is portable in theory but runtime differs.
VCL (Varnish Configuration Language)Compute@Edge Wasm runtimeEdge dictionariesReal-time log streaming configsImage optimizer settings
Export: easy
Escape: 1-3 days
SQLite-based. wrangler d1 export dumps to SQL. Restore to any SQLite DB or Turso/libSQL.
Workers binding API for D1Session-based read replicationWrangler-driven schema management
Vercel BlobObject Storage
Export: partial
Escape: 3-7 days
Vercel Blob is built on Cloudflare R2 but exposed via proprietary SDK. Files downloadable but URLs are Vercel-bound.
@vercel/blob SDK signaturesAuto-generated public URLs embedded in contentNo bulk export tooling
Export: partial
Escape: 1-3 weeks
Workflow code is yours (Go/Java/TS/Python). History not portable. Must drain running instances before migrating. Open source server available for self-host.
Temporal SDK in codebaseWorkflow history formatSearch attributes schemaSchedule definitionsData converter interface
Hugging Face SpacesAI Hosting
Export: partial
Escape: 1-2 weeks
App code (Gradio/Streamlit) portable. Models on Hub downloadable. Space hardware configs and persistent storage are HF-specific.
Space hardware configs (A10G, T4)Datasets Hub formatModel Hub hostingCommunity discussions and likesInference Endpoints config
Export: partial
Escape: 1-3 weeks
GROQ queries and schemas are Sanity-specific. Content exportable via API as JSON. Migrate to Contentful or Payload — schema mapping is manual.
GROQ query languagePortable Text formatSchema definition format (.ts)Sanity Studio configReal-time collaboration features
Export: partial
Escape: 1-2 weeks
Stories exportable as JSON via API. Block schema is Storyblok-specific. Visual editor integration requires Storyblok Bridge SDK.
Block/component schema formatStoryblok Bridge visual editorDatasourcesWebhooks configStoryblok Image Service URLs
Export: easy
Escape: 2-4 weeks
Customer/subscription data exportable. Payment methods (cards on file) require re-collection from customers. Subscription state partially migratable.
Payment method tokensWebhook events formatBilling portalConnect platformStripe Tax configuration
Export: partial
Escape: 1-3 weeks
Data lands in your own warehouse (Snowflake, BigQuery, etc.). Migration means switching ETL tool — reconfiguring sources, schedules, and transformations.
Source connector configsReplication key configurationsSchema mapping rulesExtraction schedule format
Export: easy
Escape: 1-2 weeks
Code is Go or TypeScript — portable. But infra-from-code annotations (encore.Service, pubsub.Topic) are Encore-specific. Need to replace with real infrastructure.
Encore service annotationsInfrastructure-from-code declarationsEncore Cloud deploymentBuilt-in tracing integration
Export: easy
Escape: 1-2 days
Next.js runs anywhere. Edge functions are Vercel-specific.
Edge middlewareImage optimization APIAnalyticsVercel KV/Blob/Postgres
Export: easy
Escape: 3-5 days
CSV/JSON export for issues. Cycles, views, and workflows need manual recreation.
Custom workflowsTriage systemCycles and roadmapsKeyboard-driven UX habits
Export: easy
Escape: 3-7 days
Functions are your code. Replace SDK with BullMQ, SQS, or self-host Inngest.
Inngest SDK wrapperEvent-driven function modelStep function orchestrationCron definitions format
Export: easy
Escape: 3-7 days
Original video files downloadable. Playback URLs are Mux-specific. Player is open source.
Playback ID URLsAsset processing pipelineData/analytics APISigned URL generationThumbnail/storyboard URLs
Export: partial
Escape: 1-3 weeks
Worker code (Go/Java/TS/Python) is yours. Workflow history is Temporal-specific. Must drain running workflows.
Temporal SDK integrationWorkflow history formatNamespace configurationSearch attributes schemaSchedule definitions
Export: partial
Escape: 3-7 days
Service configs and escalation policies exportable via API. Incident history available as JSON.
Escalation policy definitionsEvent orchestration rulesService dependency graphWebhook integrationsOn-call schedule patterns
HashiCorp VaultSecrets Mgmt
Export: partial
Escape: 1-3 weeks
Secrets readable via API. Policies exportable as HCL. Auth method configs need recreation.
Vault policy language (HCL)Auth method configurationsDynamic secret engine configsNamespace hierarchy (enterprise)Transit encryption keys
Export: partial
Escape: 1-2 weeks
Line protocol data exportable. InfluxQL/Flux queries are proprietary. Dashboards need recreation.
Flux query language (v2)InfluxQL (v1)Telegraf agent configsDashboard definitionsTask/alert definitionsRetention policies
Export: easy
Escape: 3-7 days
Standard Git repos. Issues, MRs exportable via API. CI/CD config (.gitlab-ci.yml) needs rewrite for other CI systems.
.gitlab-ci.yml syntaxGitLab Container RegistryGitLab Pages configAuto DevOps pipelinePackage Registry
Export: easy
Escape: 2-5 days
Standard Git repos. Pipelines (bitbucket-pipelines.yml) need rewrite. Issues exportable via API.
bitbucket-pipelines.yml syntaxJira deep integrationDeployment permissions modelPipe ecosystem (reusable CI steps)
Export: partial
Escape: 3-7 days
Conversation history via API. Knowledge base exportable. Chatbot scenarios are proprietary format.
Chatbot scenario builderKnowledge base formatCampaign definitionsPlugin/integration configs
Export: partial
Escape: 3-7 days
Public model predictions portable. Custom Cog models can be exported. Migrate to Modal, Beam, or self-hosted GPU with model weights.
Cog model packaging formatPrediction webhook formatModel version IDsDeployments API
Export: easy
Escape: 3-7 days
Python functions run anywhere. Container images are standard. Volumes are ext4 filesystems. Migrate to RunPod, Lambda Labs, or self-hosted GPU.
@modal.function decoratorModal Volume formatSecrets managementCron/schedule definitionsWebSocket streaming pattern
PrismaAccelerateDatabase Proxy
Export: partial
Escape: 1-2 days
Remove Prisma Accelerate by swapping back to direct DB connection string. Query result caching config is Accelerate-specific.
Connection string formatCache hint annotations in queriesAccelerate-specific query timing
Export: easy
Escape: 3-7 days
Data Sources are ClickHouse tables — exportable as Parquet, CSV, or JSON. Pipes (SQL transformations) are standard SQL. Migrate to self-hosted ClickHouse.
Tinybird Pipe abstraction layerEndpoint publishing modelCopy Pipe / Sink Pipe configsToken-based access control model
Export: easy
Escape: 1-3 days
mongodump/mongorestore. Standard MongoDB protocol.
Atlas SearchChartsTriggersData API
Export: easy
Escape: 1-2 days
Standard MySQL. mysqldump works. Branching is proprietary.
Schema branchingBoost (caching)Insights
Export: easy
Escape: 1-3 days
Static files + serverless functions. Functions need minor rewrites.
Netlify FunctionsFormsIdentityEdge handlers
Export: easy
Escape: 1-2 days
libSQL is SQLite-compatible. Dump and restore to any SQLite DB.
Embedded replicas SDKMulti-region replicationTurso CLIlibSQL extensions
Export: easy
Escape: 2-5 days
API calls portable via OpenRouter or direct swap. Prompts are just text.
Claude-specific prompt tuningTool use schema differencesSystem prompt conventionsModel-specific capabilities (artifacts, vision)
Export: easy
Escape: 1-2 days
Docker containers + managed Postgres. Standard tools work for migration.
render.yaml configRender Disks formatBlueprint specPreview environments
Trigger.devBackground Jobs
Export: easy
Escape: 2-5 days
Open source — self-host or refactor tasks to any queue system.
Trigger SDK wrapperTask definitions formatConcurrency controlsRun metadata
Export: easy
Escape: 1-3 days
Standard Redis protocol. RDB export available. Kafka topics are standard.
REST API for Redis (non-standard)QStash webhook queueUpstash-specific rate limitingGlobal replication config
Export: easy
Escape: 2-5 days
PostgreSQL wire-compatible. pg_dump works for most schemas. CRDB-specific features (AS OF SYSTEM TIME, multi-region) need rewrite.
Multi-region LOCALITY configAS OF SYSTEM TIME queriesCockroachDB-specific SQL extensionsServerless Request Unit model
Export: easy
Escape: 2-5 days
PostgreSQL-compatible (YSQL). pg_dump works. Cassandra-compatible API (YCQL) is harder to migrate.
YCQL (Cassandra) APITablet splitting configGeo-partitioning setupCDC configuration
Export: easy
Escape: 2-5 days
MySQL wire-compatible. mysqldump works. TiFlash analytics engine is proprietary.
TiFlash columnar storeTiDB-specific SQL hintsPlacement rulesTiCDC configuration
Export: easy
Escape: 3-7 days
PostgreSQL database with standard schema. npm packages are your code. Modules are pluggable.
Medusa module systemSubscriber/workflow patternsAdmin UI customizations
Export: easy
Escape: 3-7 days
Scripts are standard Python/TypeScript/Go. Flows export as JSON. Self-host option available.
Flow definition formatResource types schemaSchedule definitionsApp builder layouts
Export: easy
Escape: 2-5 days
Workflows export as JSON. Self-host option. Credential encryption keys needed for migration.
Workflow JSON formatCommunity node dependenciesCredential encryptionExecution history format
Elastic CloudSearch/Monitoring
Export: easy
Escape: 3-7 days
Elasticsearch is open source (AGPL). Snapshot/restore for data. Kibana dashboards export as NDJSON.
Kibana dashboard formatILM policiesMachine learning jobs (Platinum)Watcher alert definitions
Export: easy
Escape: 1-3 days
State files are standard Terraform format. Download and use with any backend (S3, GCS, local).
Sentinel policies (proprietary)Run triggers between workspacesVCS integration configVariable sets
Export: easy
Escape: 2-5 days
Kong OSS is fully functional. Config exportable via deck (decK). Routes, services, plugins all in YAML.
Enterprise-only plugins (OIDC, Vault)Kong Manager UIVitals analyticsDev Portal contentRBAC policies
Export: easy
Escape: 2-5 days
Standard SMTP. Contact lists exportable as CSV. DNS records (SPF, DKIM) transferable to any provider.
IP reputation (non-transferable)Marketing campaign templatesEmail validation APIEvent webhook integrations
Export: easy
Escape: 2-5 days
ClickHouse is open source. Data export via clickhouse-client in CSV, JSON, or native format. Schema is SQL.
ClickHouse-specific SQL extensionsMaterialized view definitionsReplicatedMergeTree configurationsDictionaries setup
Export: easy
Escape: 2-5 days
Config is .circleci/config.yml — rewrite for other CI. Build artifacts downloadable. Orbs are CircleCI-specific.
.circleci/config.yml syntaxOrb ecosystemTest splitting configurationResource class definitionsContext and secrets management
Export: easy
Escape: 2-5 days
Droplets are standard Linux VMs. Managed DB uses standard engines. Spaces is S3-compatible.
App Platform buildpacksManaged database configsVPC networking setupLoad balancer configsFirewall rules format
Export: easy
Escape: 2-5 days
Open source — self-host or export app definitions. Internal DB is CouchDB with JSON export.
Budibase component systemAutomation definitionsInternal CouchDB data modelPlugin format
Export: easy
Escape: 3-7 days
Open source, self-hostable. MariaDB database exportable. Auth users exportable via API.
Appwrite SDK calls in codeStorage bucket policiesFunction runtime environmentRealtime subscriptions
Export: easy
Escape: 2-5 days
Open source (BSD-3). Backup module exports to S3/GCS/Azure. Self-host the same image.
GraphQL query APIModule-based vectorizer configClass/property schema format
Export: easy
Escape: 1-2 days
Dashboard exports as CSV. API access to stats. No personal data collected — migration is just DNS/script swap.
Dashboard configurationsCustom domains setupEmail reports
Export: easy
Escape: 2-5 days
Database data is standard SQL. Prisma schema converts to standard SQL migrations. Switch to Drizzle, Knex, or raw SQL with the same database.
Prisma schema format (.prisma)Prisma Client generated typesPrisma Accelerate connection poolingPrisma Pulse event streaming
Export: easy
Escape: 1-2 days
Built on PostgreSQL. pg_dump exports all data. Branching is Xata-specific but data is portable SQL.
Xata search index configsBranch-per-environment modelSchema history management
Export: easy
Escape: 1-3 days
dbt models are SQL files in your Git repo. Migrate to dbt Core (open source, free). Job configs and environments need recreation.
Job scheduling configurationSemantic Layer definitionsExplorer lineage visualizationsCI/CD integration config
Export: easy
Escape: 1-3 days
Standard PostgreSQL. pg_dump works. Auth is open source.
Edge Functions (Deno)Realtime subscriptionsStorage policies
Export: easy
Escape: 1 day
Standard Docker containers. PostgreSQL with pg_dump.
Railway CLIConfig variables format
Export: easy
Escape: 1-2 days
Standard Docker containers + Postgres. Fly-specific only: fly.toml config.
fly.toml config formatFly proxy featuresInternal DNS
Export: easy
Escape: 1-3 days
Events exportable via API. Self-hosted option = zero lock-in.
Feature flag configurationsExperiment resultsSession recordings format
Export: easy
Escape: 1-2 days
Standard PostgreSQL. pg_dump works. Branching is Neon-specific.
Branching (copy-on-write)Autoscaling to zeroNeon CLI
Export: easy
Escape: 1 day
Standard SMTP/API. Switch API calls to any email provider. Domain DNS stays.
React Email templates (portable)Webhook formatAudience/contacts list
Export: easy
Escape: 1-2 days
Open source, self-hostable. Dump export covers everything. JSON import/export.
Meilisearch Cloud featuresRanking rules formatTenant tokens
Export: easy
Escape: 1-3 days
Open source — self-host or export flag configs via API.
SDK integrationSegment definitionsChange request workflows
Export: easy
Escape: 1-3 days
Data lives in your own MongoDB/PostgreSQL. Collections are standard database tables. Config is code.
Payload config formatCustom field hooksAccess control DSL
Export: easy
Escape: 1-2 days
Headless CMS that wraps your existing SQL database. Remove Directus and the data stays in your DB.
Directus system tablesFlow automation definitionsCustom display/interface extensions
Export: easy
Escape: 1-3 days
Dashboards export as JSON. Data sources are standard (Prometheus, Loki, etc). Self-host the same binary.
Dashboard JSON formatAlert rule definitionsPlugin dependenciesGrafana-specific variables syntax
Backblaze B2Object Storage
Export: easy
Escape: hours to days (bandwidth-bound)
S3-compatible API since 2020. rclone or aws-cli for migration. Native API also available.
B2 native API (if used instead of S3)Application Key scopingLifecycle rules format
Export: easy
Escape: 1-2 days
Stack state downloadable. Switch to self-managed backend (S3, Azure Blob). Code is yours.
Pulumi Cloud state backendDeployment historyRBAC policiesStack tags and config
Docker HubContainer Registry
Export: easy
Escape: 1-2 days
docker pull + docker push to any OCI-compatible registry. Standard container image format.
Docker Hub automated builds (deprecated)Docker Scout vulnerability dataOrganization team structure
Export: easy
Escape: 1-2 days
JSON export covers all content. Themes are Handlebars templates. Self-host is identical to Ghost(Pro).
Handlebars theme engineGhost members/subscriptions systemGhost-specific helpers
Export: easy
Escape: 1-2 days
Open source, self-hostable. PostgreSQL database with Prisma. All data in standard tables.
Cal.com app integrationsWorkflow definitionsEvent type configs
Export: easy
Escape: 1-2 days
Standard CDN — update CNAME records to new provider. Storage zone files downloadable via FTP/API.
Pull zone configurationsEdge rulesBunny DNS recordsStream video transcoding
Export: easy
Escape: 1 day
Standard CDN with CNAME-based setup. Switch DNS records to new CDN provider.
Zone configurationsZonealias setupOrigin shield configCustom SSL certificates
Export: easy
Escape: 1-2 days
Single SQLite file — copy the file. Go binary is self-contained. Zero infrastructure dependency.
PocketBase SDK/API callsCollection schema formatHook/middleware system (Go or JS)
Vercel KV (Upstash)Database
Export: easy
Escape: 1-2 days
Backed by Upstash Redis. Standard Redis protocol. RDB dump and restore to any Redis-compatible store.
Vercel KV SDK syntax (thin wrapper over Redis)Project-bound provisioning
Vercel Postgres (Neon)Database
Export: easy
Escape: 1-2 days
Backed by Neon. Standard Postgres — pg_dump/pg_restore work. Full credentials accessible.
Vercel-managed connection stringsProject-scoped provisioning UI
Export: easy
Escape: 1-3 days
Open source (Apache 2.0). Snapshots dump full collection. Self-host the same binary or migrate to Weaviate/Milvus.
Qdrant filter DSL (proprietary but documented)Collection config format
Export: easy
Escape: 1-2 days
Open source (AGPL). Stats and event data exportable via API and CSV. Self-host with the same binary. Privacy-preserving design means no per-user data to migrate.
Dashboard layout preferencesGoal/funnel definitions
Export: easy
Escape: 1-3 days
OpenAI-compatible API. Change base URL and API key. Open weights models (Mixtral, Mistral 7B) available for self-hosting via Ollama.
Prompt tuning for Mistral-specific behaviorModel-specific context window usageLe Chat integration (if used)
Export: easy
Escape: 1-2 days
OpenAI-compatible API. Hosts open source models. Switch to any compatible provider by changing endpoint.
Fine-tuned model uploadsCustom inference configsBatch job format
Export: easy
Escape: 1-2 days
OpenAI-compatible API. Deploys open source and private models. Base URL swap to migrate.
Deployed model IDsCustom model configsFunction calling format differences
Export: easy
Escape: 1-2 days
Single SQLite file — copy it. API is yours. Self-contained binary with no external dependencies.
PocketBase collection schema JSONHook system (Go or JS hooks)SDK API calls
Export: easy
Escape: 1-3 days
Open source (MIT/ELv2). Self-host with Docker Compose. Config exportable. Connector catalog is open source. Data lands in your warehouse.
Connection YAML config formatCustom connector Airbyte ProtocolAirbyte Cloud workspace settings
Export: easy
Escape: 2-5 days
Your data stays in Postgres — Electric is a sync layer, not a database. Remove Electric, your Postgres is unchanged. Client-side sync code needs replacement.
Shape-based sync rulesClient-side sync library APIConflict resolution logic
Export: easy
Escape: 1-3 days
Open source, self-hosted. User data in your Postgres. Export users table directly. OAuth configs are standard. Components need replacement but auth logic is yours.
React component libraryDashboard UIWebhook event format
Export: easy
Escape: 1-3 days
Open source, self-host. Trace data in Postgres + ClickHouse — export directly. SDK decorators are thin wrappers. Switch to OpenTelemetry native tooling.
Trace API formatPrompt management UIEvaluation scorer configs
Export: none
Escape: 1 hour
OpenAI-compatible API — change the base URL to switch provider. No data stored. Model weights are open (Llama). Zero lock-in on API layer.
Latency expectations (2000+ tok/s hard to match elsewhere)Custom batch inference API
Export: easy
Escape: 1-3 days
Open source, self-hosted. Data in PostgreSQL — pg_dump exports everything. GraphQL API is standard. Custom objects exportable as JSON.
Custom object schemasGraphQL query patternsWebhook configurations
Export: easy
Escape: 1 day
Standard Web API (Request/Response). Runs on any JS runtime. Zero lock-in by design.
Hono-specific middleware (minimal)Helper functions
Export: easy
Escape: hours to days (bandwidth-bound)
S3-compatible API. Any S3 tool (aws-cli, rclone, mc) transfers data. Zero proprietary format.
MinIO Console UI preferencesILM policies (standard S3)
Cloudflare R2Object Storage
Export: easy
Escape: hours to days (bandwidth-bound)
S3-compatible API. rclone or aws-cli sync to any S3-compatible service. Zero egress fees make migration cheap.
R2-specific access keysBucket-level CORS config
Export: easy
Escape: hours
Drizzle is just TypeScript code wrapping SQL. Schema is standard SQL tables. Switch to Prisma, Kysely, or raw queries with zero data migration.
Drizzle syntax in queries
Export: none
Escape: 1-2 hours
Single config file (biome.json). Can always go back to ESLint + Prettier. No data, no vendor dependency. Pure dev tooling.
biome.json config formatCustom rule configurations
Export: none
Escape: 30 minutes
OpenAI-compatible API. Change base URL to direct provider. No data stored. No custom formats. Pure routing layer.
Multi-model routing logic in your codeOpenRouter-specific model IDs