Built for High-Fidelity Development

Kopi isn't just a seeder. It's a replication engine designed to give you a database that looks, feels, and behaves like Production—without the liability.

Professional/Enterprise Exclusive

Decaf Mode (Anonymization)

The biggest problem with test data is that it doesn't look real. Apps break because generated names are too long, addresses are invalid, or business logic fails.

Decaf Mode solves this by mirroring your production data while surgically removing PII. It reads real rows, detects sensitive columns, and transforms them deterministically.

  • Zero Config: Auto-detects names, emails, phones.
  • Consistent: "Mick" always becomes "Arthur".
  • Safe: PII is scrubbed in-memory, never written to disk.
Production (Source)
ID: 101 Mick Jagger mick@stones.com
ID: 102 Keith Richards keith@stones.com
Decaf Replica
ID: 101 Arthur Dent arthur@fake.com
ID: 102 Zaphod Beeblebrox zaphod@fake.com
CI Pipeline (GitHub Actions)
# Step 1: Provision Database with Seed
$ kopi up --seed 8675309

# Step 2: Run Tests
$ dotnet test
✔ Test User 'Alice' exists........... PASSED
✔ Order #500 total is $99.00......... PASSED
✔ Invoice PDF generation............. PASSED

Total: 3 tests passed. Time: 4.2s

Stop Flaky Tests

Random data is great for exploration, but terrible for automated testing.

With Deterministic Seeding, Kopi freezes time. By passing a seed, you guarantee that the exact same data (e.g. names, dates, amounts, and UUIDs) is generated every single time, on every machine.

If a test fails on Tuesday, you can reproduce it perfectly on Wednesday.

Precision Control

Sometimes "Random" isn't enough. Your application logic depends on specific data formats or exact reference tables.

1. Reverse Regex

Need an SKU that matches ^SKU-[A-Z]{3}-\d{3}$? Just put that regex in your config, and Kopi will generate data that passes your strict validation rules.

2. Passthrough Tables

Don't generate fake Countries or Currencies. Tell Kopi to treat them as Reference Data, and it will copy them row-for-row from production.

kopi.json
{ // 1. Passthrough (Copy Real Data) "passthroughTables": [ "dbo.Countries", "Sales.Currency", "Ref.*" ], // 2. Regex (Generate Strict Patterns) "regex": { "Product.SKU": "^SKU-[A-Z]{3}-\d{3}$", "Orders.Code": "^ORD-\d{9}$" } }

Ready to upgrade?

Start your 14-day free trial of Kopi Professional and experience the difference.

Start Professional Trial