clonio

Open-source CLI for anonymized database clones

Test with production-like data, not personal data.

Clonio CLI copies production data into development, test, staging, and CI. On the way it anonymizes columns, syncs the schema, remaps keys, and writes a signed audit log.

Run it from your terminal, Docker, Composer, or CI pipeline. Clonio connects directly from your machine or CI runner to your databases, with no Clonio cloud service in between.

customers productiontarget
columnproductiontargetstrategy
id4812731905remap
first_nameJanaLukasfake
emailjana.weber@gmx.demarie42@example.orgfake
phone+49 151 2345 6789+49 *** **** ****mask
notesPrefers calls before noonNULL"null"
created_at2023-04-112023-04-11keep

$ clonio cloning:run production.cloning.yaml --target ciaudit log signed

  • MIT licensed
  • Runs in your infrastructure
  • Signed audit logs
  • Docker, Composer, CI

In 20 seconds

Watch one record get cloned.

Jana's row leaves production, every column runs through its strategy, and the target gets realistic data with no trace of her. The run ends with a signed audit log.

Problem solved

Production-like data without production risk.

Developers and QA get usable database states without seeing personal data or production IDs, and every run writes an audit log, even a failed one.

Realistic data without exposing people

Apply explicit transformations to names, emails, addresses, tokens, identifiers, and payment-related fields before records reach the target environment.

Repeatable .cloning.yaml runs

Generate a cloning file, review it once, commit it, and rerun the same clone whenever a team needs fresh production-like data.

Audit evidence teams can keep

Produce signed audit artefacts and structured process logs for local storage, S3-compatible storage, email, Slack, Microsoft Teams, or ntfy.

CLI workflow

Initialize, inspect, clone.

Connection names stay separate from secrets. The generated YAML controls row selection, schema synchronization, anonymization strategies, and key remapping. It is safe to commit because it references connection names, not credentials.

first run
$ clonio init
$ clonio connection:add production --production
$ clonio connection:add local-dev
$ clonio cloning:dump --connection production
$ clonio cloning:run production.cloning.yaml --target local-dev

Core capabilities

What a cloning run does to your data.

Per-column anonymization

Use fake, hash, mask, null, static, exclude, or keep per column, with PII matchers to help draft a configuration you can review.

Schema-aware transfers

Create missing tables automatically. Optionally add missing columns or drop extra ones to keep targets aligned when the production schema moves faster.

Key remapping

Replace primary keys with new random values and rewrite declared foreign keys consistently across cloned records.

Install it your way

Install a standalone binary, PHAR, Composer dev dependency, or Docker image, then run it from local scripts, cron, or CI jobs.

Open source

MIT licensed, free for commercial use.

Use Clonio CLI inside your own infrastructure, including commercial projects. Sponsorships fund maintenance, new database drivers, better anonymization strategies, and documentation.

Read the source before you adopt it, or open a feature request through the GitHub issue template.