One command reads your Azure resource group, prices the equivalent Drift slice, and pulls your code and data into a portable folder you own. Free. Read-only. Honest about the 20% it can't move.
Every Azure call is your own az login, printed before it runs. Drift never
holds your credentials and never receives your data — it flows Azure → your laptop, full stop. The
whole migration is free; only hosting on Drift costs, like any Drift slice.
Prerequisites. The Azure CLI (az),
logged in — plus mongoexport if your group has a Cosmos account, and
squashfs-tools to unpack Linux Consumption source. snapshot checks these
against your resource group before it does any work and fails with the exact install
command if one is missing. No silent half-exports.
A plain folder of JSONL, JSON and source — no Drift-specific binary anywhere. You can read it, diff it, hand it to a lawyer, or take it elsewhere. Verified end-to-end against a live Azure tenant.
Python & Node Function Apps — including the Linux Consumption case where the code is a SquashFS package in storage, not a downloadable zip.
Cosmos DB (Mongo API) collections exported document-for-document, ids preserved.
Blob containers downloaded byte-for-byte (nested paths intact). Queue messages peeked, never dequeued — your live queue is untouched.
A Storage static website ($web) becomes a Canvas site, content and all.
Captured as secret names by default; values only with an explicit flag, written
0600 with a loud warning.
transform emits a Drift project + scaffolds and validates the Driftfile against
the real parser before writing it. Same input → identical output.
Each of these is a line in REFUSED.md with a stable code and a reason —
on the record, never faked. The first refusal is the tool working, not failing.
canvas/. ($web storage sites are captured.)We automate most of the lift. These are the steps that are yours — stated up front, never papered over.
--source <app>=<dir> — you already have your code.Works on any plan type.mongoexport for a Cosmos account, squashfs-tools for Linux Consumption source. The CLI fails loudly with the exact install command if either is missing — they're as required as az itself, never a silent half-export.REFUSED.md and REPORT.md before you deploy. The hard 20% — AAD, .NET rewrites, query translation — is where Drift Studio helps.From 12 January 2027, EU Regulation 2023/2854 makes switching cloud providers a right:
your provider must hand your data over in structured, machine-readable formats — and can no longer
charge you to leave. This tool is the front door to that right. And because "your data is yours"
has to work both ways, a Drift-native app runs on your own metal with one command —
drift project run. We'll help you off Azure for free, and we can't trap you either.