CIAM identity migration CLI

Move your users between identity providers without losing a single login.

Connect iamigrate with CSV / flat file to extend your CIAM stack without replacing what already works.

Identity migrations shouldn't be a one-off script.

Every CIAM migration ends up as a pile of ad-hoc scripts, CSV exports, and hope. iamigrate turns it into a repeatable, testable pipeline.

๐Ÿ“ค

Export to a canonical format

Pull identities out of your current provider or a flat file (CSV) into CMF, a vendor-neutral format that keeps password hashes, MFA factors, and profile data.

โœ…

Validate before you import

Dry-run a migration against your target's capabilities with no network calls. Catch unsupported hash algorithms or MFA factors before touching production.

๐Ÿ“ฅ

Import with password hashes

Import users with their existing bcrypt or argon2id hashes so nobody has to reset their password after the switch.

๐Ÿ”

Reconcile after import

Diff a CMF file against the live target to confirm every identity landed exactly as expected.

๐Ÿงช

Synthetic test fixtures

Generate thousands of realistic users with hashes, MFA, and a cleartext answer key to rehearse migrations and verify logins on disposable tenants.

๐Ÿ“ฆ

Install anywhere

Homebrew, Docker, Linux packages, Scoop, WinGet, Chocolatey, or a prebuilt binary โ€” run it on your laptop or in CI.

Available integration

Bring iamigrate to your CSV / flat file environment.

CSV / flat file is part of the identity stack your teams already use to authenticate customers, manage accounts, and secure access.

iamigrate adds a dedicated product experience on top of that identity foundation: safer workflows, clearer ownership, and less day-to-day CIAM work pushed onto engineers.

Keep your CIAM

Connect to CSV / flat file without migrating users, rewriting authentication, or changing your login journey.

Give teams a focused UI

Let product, support, operations, and security work from a purpose-built interface instead of a developer-first console.

Stay in control

Preserve your existing policies, audit expectations, and access boundaries while making routine identity work faster.

Integration flow Ready
1

Connect your CSV / flat file tenant

Use service credentials or provider APIs already supported by your CIAM stack.

2

Map the workflows your team needs

Expose the right user, client, policy, or provisioning actions through iamigrate.

3

Roll out with confidence

Give each team the access they need while your CIAM remains the source of truth.

Best for teams that want the flexibility of CSV / flat file with the product experience of iamigrate: iamigrate is an open-source CLI for migrating CIAM identities between providers. Export users into a canonical format, validate them against your target, import them, and verify the result โ€” with no vendor lock-in on the format in between.

Export. Validate. Import. Verify.

Every step is a single command, so the whole migration can be rehearsed on test data and replayed in CI before the real cutover.

terminal
# Export every identity from Ory Kratos into CMF
iamigrate export --source kratos --out ./export/

# Dry-run against the target's capabilities

iamigrate validate --in ./export/users.cmf.jsonl.gz --target auth0

# Import into Auth0, keeping password hashes

iamigrate import auth0 --in ./export/users.cmf.jsonl.gz --connection-id con_xxx

# Reconcile the result

iamigrate diff auth0 --in ./export/users.cmf.jsonl.gz

Ready to get started?

Connect iamigrate with CSV / flat file to extend your CIAM stack without replacing what already works.

Read the docs