wealthschemaresourcesarticlesTesting wealth software without touching a customer's PII
Article

Testing wealth software without touching a customer's PII

Every team building wealth software hits the same wall on the same day. Two workarounds leak time, and a third path gives you data that is realistic and safe at once.

WealthSchema StaffSynthetic dataJul 23, 20264 min read

Every team building wealth software hits the same wall on the same day. The features work. Now you need to test them, demo them, and train models on them, and for that you need data that looks like your real customers: their incomes, their accounts, their goals, the shape of their financial lives. And you cannot use your real customers, at least not without a privacy review, a data-use agreement, and the standing risk that one leak ends the conversation.

So teams reach for one of two workarounds, and both leak time.

Workaround one: borrow production data

Anonymized or masked production data feels realistic because it is real. That is also the problem. The moment it enters a test suite, a demo environment, or a training run, it drags its whole compliance shadow with it: a privacy review to clear, a DUA to honor, access controls to maintain, and the quiet knowledge that masking is not the same as safety. You spend engineering cycles proving the data is safe to use instead of using it.

Synthetic data does not remove the risk. It removes the review. If a record was never a person, there is nothing to anonymize, nothing to leak, and nothing to put in front of a privacy team.

Workaround two: generate fake data with a library

Faker and similar tools are the right call for CI fixtures and dev sandboxes. They are fast, free, and everywhere. They also do not know anything about finance. A generic mock-data library will happily hand your engine a 28-year-old with a $4 million brokerage account and no income, a mortgage larger than the home it is against, or a retiree still making catch-up contributions to an account they are drawing down.

For a form that just needs to render, none of that matters. For a rules engine, a planning projection, or a model that has to reason about a household, it matters a lot, because incoherent inputs produce nonsense outputs, and you cannot tell whether the nonsense is your bug or the data's.

The line is simple. Faker generates fields. Wealth software needs households, and a household is only useful if it is internally coherent: the income supports the lifestyle, the assets match the life stage, the debts and the goals and the insurance all belong to the same plausible person.

What "coherent" looks like in practice

A synthetic household that behaves like a real one carries a full, consistent financial life, not a bag of random fields:

  • Demographics that fit the archetype (a young family buying a first home reads differently from a pre-retiree decumulating).
  • Income, assets, debts, insurance, and goals that hang together.
  • A trajectory over time, not a single frozen snapshot, so time-based logic has something to chew on.
  • No PII, by construction, because none of it was ever a person.
{
  "household_id": "syn_A-01_0017",
  "archetype": "young-family-first-home",
  "life_stage": "Accumulation",
  "demographics": { "household_type": "married_joint", "primary_age": 42, "dependents": 2, "state": "CA" },
  "net_worth": { "total": 312500, "liquid": 38000, "retirement": 165000 },
  "pii": null
}

The "pii": null is not decoration. It is the reason this record can go into a demo for a prospect, a test suite in CI, a model's training set, and a compliance walkthrough, without a single one of those uses triggering a privacy process.

"But is synthetic data realistic enough?"

It is a fair question, and the honest answer is: judge it yourself. Good synthetic data is calibrated to public sources (Census ACS, the Federal Reserve's Survey of Consumer Finances, BLS, SSA) so the distributions behave like a real book of business rather than a uniform random draw. What is calibrated to public data and what is authored by design should be documented, not hand-waved. And you should be able to look at a sample before you pay anything.

That last point matters more than any claim in a paragraph. A watermarked sample lets you drop real records into your actual code path and see whether they exercise the cases you care about. If they do not, no marketing copy will change your mind, and it should not.

Where this leaves your test plan

You do not have to choose between realistic and safe. Synthetic-by-construction households give you both: data that behaves like your real customers, with no PII to protect, no DUA to sign, and no privacy review to schedule. Drop them into any test suite, model, demo, or compliance check, and keep them, because static test data should not be something you rent.

WealthSchema publishes 1,451 synthetic households across 71 archetypes, each a complete financial life with a 96-month trajectory, in JSON and CSV with a methodology document. There is a free watermarked sample, so the first thing you do is check the data against your own code, not take our word for it.

Bottom line

Production data is realistic and expensive to use safely. Generic fake data is safe and not realistic enough for a rules engine. Coherent synthetic households are both, and the free sample lets you confirm that before you commit.