# Importing an app

The importers aren't available yet. This page lists what each one will bring across, so you can plan a move. Each import will start with a dry run that shows the migration report and writes nothing.

| From | What comes across | What needs you |
| --- | --- | --- |
| Supabase or Lovable Cloud | Schema and data, users with their passwords, Google and other sign-in links, files, cron jobs, pgvector columns on Postgres | Row-level security policies that don't match a simple owner rule are flagged for review. Edge functions are copied in with notes to finish by hand. |
| Clerk | Users with their passwords, social sign-ins, user metadata, organisations and roles | Passkeys can't move: those users register a new one after their first sign-in by email code or magic link. You re-add your OAuth redirect addresses. |
| Vercel | Environment variables and secrets, redirects, rewrites, headers, crons, build settings and your domain list | Features only Vercel has (Edge Config, KV, Blob, Analytics) are listed with the nearest equivalent, if there is one. |
| Resend | Your sending domains, added next to your Resend record so both keep working while you switch, and the React Email templates in your repo | Changing each send call to `ctx.email.send`. |
| Base44 | Entity exports as tables, and your users | Users reset their passwords, because Base44 doesn't export them. Backend logic arrives as stubs. |
| Firebase | Firestore data as tables, users with their passwords, Storage files | Nested documents become JSON columns. |
| InstantDB | Namespaces as tables, and your users | Users sign in by magic link, as they do on InstantDB. |
| Postgres | A `pg_dump` file or a connection string | |

Every import writes `MIGRATION_REPORT.md` to your repo: what moved, what needs work and which secrets to set.