Skip to content
Digestive is a tool built by Social Sync

Digestive

Extract and anonymise your database quickly, then restore it easily. Use it for backups, archiving, staging sites, local development and more.

Digestive is a database-agnostic tool for getting data safely out of your database. It extracts your data, anonymises it effectively, stores it in a compressed format, and can then output it back to SQL whenever you need it.

# config.yml — export the users table, anonymised.
source:
dsn: ${DATABASE_DSN}
destination:
directory: ./exports
hashing:
key: ${EXPORT_HASH_KEY}
tables:
- name: users
columns:
email:
transform: hash_email
name:
transform: mask
keep_first: 1
password:
transform: constant
value: "password"
  1. Install Digestive:

    Terminal window
    brew install social-sync/tap/digestive
  2. Scaffold a config:

    Terminal window
    digestive init
  3. Edit config.yml and .env to add your database details and tables.

  4. Run the export:

    Terminal window
    digestive export

Config-driven

One YAML file with environment-variable substitution for secrets. Opt-in per table, per-column transforms, per-table row filters.

Built in anonymisation transformers

Six built-in transforms — null, constant, mask, hash, hash_email, and json_anonymise — let you redact, deterministically hash, or anonymise sensitive columns (including values inside JSON) on the way out.

Relationships survive

Deterministic hashing is global by default: the same value hashes the same everywhere, so foreign-key joins still work in the copy.

Single static binary

Simple to install and update.