RFS01

Local PostgreSQL fixture desk

Issue 01 · Aug. 2026

Production shapePersonal data out

Keep every relation.
Lose every person.

A PostgreSQL-first CLI that turns current dumps into deterministic test fixtures—without sending regulated data anywhere or snapping foreign keys.

Plain-text dumps · keyed BLAKE3 · atomic output · no telemetry

Linocut-style database rows passing through a redaction press while connector lines remain intact
Fig. 01 — Values change. Structure survives.

The case / 01

Your edge cases already exist.
Your users should not be in the fixture.

Handwritten seeds miss the strange nulls and crowded relationships that make tests useful. Ad-hoc UPDATE scripts leave blind spots. RFS applies a reviewed map to the real shape, then refuses to emit when configured detectors still match or parsed foreign keys fail.

  1. ClassifyMap columns once in readable YAML.
  2. TransformStable keyed pseudonyms survive refreshes.
  3. ProveInspect the profile diff and integrity report.

Live proof / 02

Run the redaction desk.

This illustrative browser proof never uploads or stores your text. The production CLI adds your YAML map, keyed BLAKE3 transforms, and full parsed-dump checks.

● Checking connection

🔒 Runs in this tab. No network request contains fixture text.

Proof sheet

Awaiting run

Run the sample to see deterministic substitutions and a relationship check.

Field notes / 03

One binary. One map.
A fixture you can review.

Start from any PostgreSQL plain-text dump produced with column inserts or COPY. RFS creates no temporary dump and replaces the final output only after checks pass.

Read the source and full reference →
QUICK START
$ cargo install --git https://github.com/B-Divyesh/sf-relational-fixture-scrubber

$ export RFS_KEY='your-32-char-team-secret'
$ rfs scrub -i latest.sql -c scrub.yml \
    -o fixtures.sql --report proof.json

✓ 2,481 rows · 0 FK violations · 0 PII matches

What ships / 04

Conservative by design.

01

Deterministic aliases

Keyed emails, names, phones, tokens, integers, and date shifts stay stable across refreshes.

02

Relationship checks

Parsed single and composite foreign keys are verified against transformed parent values.

03

Profile diff

Row, null, distinct, and changed-value counts make every scrub reviewable in JSON.

04

Fail-closed output

Detector hits or broken relations yield exit code 3 and no final fixture file.

Supporter edition / 05

Standardize the whole team.

The open CLI includes every safety feature. The one-time Supporter license adds a downloadable policy-desk pack: annotated mapping presets, PR review checklist, and fixture-handling runbook. It also funds maintenance.

$39 once · perpetual access

Buy Supporter

Secure checkout by Sociobot/Dodo, the merchant of record. Refunds are handled there and revoke the license.

Restore a purchase

Paste the license token from your receipt. It stays in this browser.