Snaplet is gone. feint isn't.

The Snaplet alternative for Postgres test data

Snaplet shut down as a company in 2024, and its open source clone/mask tool, Snapshot, was formally archived on GitHub in November 2025. feint is a single, actively developed binary that covers the same ground: schema-aware synthetic generation and production-derived masking, in one Postgres-native, extension-free tool.

Node.js not required · No Postgres extension · MIT licensed, actively maintained

What actually happened to Snaplet

Snaplet shuts down as a company. The team open sources three projects: Seed, Snapshot, and Copycat.

Seed's final release, v0.98.0, removes its dependency on the Snaplet backend. Older CLI versions stop working entirely after August 31, 2024.

supabase-community/snapshot — the clone/mask half of Snaplet's toolkit — is formally archived on GitHub.

supabase-community/seed carries an open, unaddressed "High severity npm audit vulnerabilities in v0.98.0 dependencies" issue. The tool teams are still running has known unpatched vulnerabilities.

feint vs. Snaplet Seed / Snapshot

Feature comparison, as of August 2026. Snaplet columns reflect the last released open source versions.
CapabilityfeintSnaplet Seed / Snapshot
Schema-aware synthetic generationYesYes
Automatic relational / FK-aware generationYesYes
Production-derived maskingYesYes
FK-aware subsettingYes (--root)Yes
Deterministic outputYesYes
RuntimeSingle compiled binaryNode.js CLI, npm dependency tree
Postgres extension requiredNoNo
Maintenance statusActively developedSnapshot archived Nov 2025; Seed dormant with an open unpatched vulnerability

Move to feint in three steps

1

Convert your config

feint migrate snaplet reads your existing seed.config.ts and writes a starting feint.yaml, printing exactly what converted and what needs a manual look.

2

Review the report

Glob patterns, exclude entries, and custom seed.ts generator functions can't be mechanically converted, so they're flagged by name instead of silently guessed at or dropped.

3

Run feint

Use feint up to generate, feint clone to copy and mask a real database, or feint mask to mask a database in place, from the same converted config.

bash
$ feint migrate snaplet ./seed.config.ts --seed-ts ./seed.ts

 9 literal tables converted from `select`
! 2 glob patterns reported as notes — run `feint init` to expand them
! 3 custom seed.ts generators flagged for manual review:
    - public.users.avatar_url
    - public.orders.reference_code
    - public.invoices.line_items

✓ Wrote feint.yaml

$ feint clone postgres://prod-host/app postgres://localhost/app_dev

Snaplet migration questions

Is Snaplet actually dead, or just the company?+

Both, at this point. Snaplet shut down as a company in August 2024 and open sourced Seed, Snapshot, and Copycat. Snapshot (the clone/mask half) was formally archived on GitHub on November 5, 2025. Seed is still technically on GitHub but has had no meaningful activity and carries an open, unaddressed high-severity npm audit issue.

Can feint read my existing seed.config.ts?+

feint migrate snaplet reads a Snaplet Seed seed.config.ts and converts literal table entries in its select array into feint.yaml table entries automatically. A glob pattern or exclude entry cannot become a literal table list on its own, so those are reported as notes telling you to run feint init and adjust the result by hand, rather than silently guessed at.

What about my custom seed.ts generator functions?+

Those are arbitrary TypeScript and cannot be mechanically converted. Pass --seed-ts alongside your config and feint reports every model with a custom generator, naming the affected table, so you know exactly what needs a manual look instead of finding out at runtime.

Does feint need Node.js or npm?+

No. feint is a single compiled binary with no runtime dependencies to install or audit. Seed and Snapshot are Node.js CLI tools with an npm dependency tree, which is exactly what produced the unpatched vulnerability issue on Seed’s last release.

Does feint also do what Snaplet Snapshot did?+

Yes. feint clone is a direct database-to-database equivalent: it reads real rows from a source, masks sensitive columns as it streams, and writes them to a target while preserving keys. feint snapshot / feint restore additionally captures a masked, clone-shaped read into a file for later replay, with no live source connection needed at restore time.

Stop depending on an archived tool

Install feint and convert your Snaplet config in the next five minutes.

feint is an independent open source project and is not affiliated with, endorsed by, or sponsored by Snaplet, Supabase, Neosync, or Grow Therapy. Names are used only for factual comparison.