SynthProof

Independent synthetic data validation

Prove your synthetic data is faithful, private, and useful.

Upload a dataset. Get a scored certificate covering fidelity, privacy attacks, and downstream utility — benchmarked against your category. We are the auditor, not the generator.

Zero retention: your source data is deleted the moment the run completes — the timestamp is printed on the certificate.

One email when we launch. No newsletter, no sharing your address.

Validation certificate
Adult census · SDV Gaussian Copula
76/100
Grade B
Fidelity
Statistical similarity to the source data
85/100B
Privacy
Resistance to re-identification attacks
99/100A
Utility
Train on synthetic, test on real
35/100D
Structural integrity
Internal consistency of the synthetic data
99/100A
Metrics engine v0.8.0 · source data deletedRead the full report

A real run, published unedited — including the pillar it failed.

How it works

  1. 1

    Upload

    Your synthetic dataset, plus (optionally) a sample of the real source data. Files go straight from your browser to storage — they never touch our application servers.

  2. 2

    The engine runs

    Distribution tests, privacy attacks, and train-on-synthetic-test-on-real — the same published methods for every dataset, every generator. A few minutes; we email you when it's done.

  3. 3

    Get your certificate

    Four scored pillars, findings that name the columns to look at, SHA-256 fingerprints of exactly what was measured — and the deletion timestamp for your source data.

No database connectors, no VPC peering, nothing of ours touching your systems. You sample your own data before upload.

Built for both sides of the sign-off

For data teams

Know what to fix before the next generation run. Findings name the column whose distribution drifted, the relationship that collapsed — or was invented — and the columns driving privacy risk. Stop tinkering blind.

For privacy & compliance

Independent evidence for your DPIA, in the vocabulary of the EDPB anonymisation criteria (record isolation, linkage, inference), from a party with nothing to gain from your dataset scoring well. Untested is never reported as passed.

Four pillars, measured with published methods

Each pillar is measured with published, reproducible methods — SDMetrics for distributions, Anonymeter for the EDPB anonymisation criteria (record isolation, linkage, inference), scikit-learn for downstream performance.

Fidelity

Do the distributions and the relationships between columns survive generation? Per-column shape tests and every pairwise correlation, not just the flattering ones.

Privacy

Can anyone get a real person back out? Exact-copy detection, nearest-neighbour distance against a real baseline, membership inference, and record-isolation (singling-out), linkage (linkability) and attribute-inference attacks.

Utility

Does a model trained on the synthetic data still work on real data? We train on synthetic, test on real, and compare against the same model trained on real data — measured above chance, not from zero.

Structural integrity

Is the synthetic data internally sound? Duplicates, collapsed columns, impossible values, missing-data rates — the one pillar that needs no real data, so even a synthetic-only upload gets an honest score.

Plus percentile benchmarking: how your dataset compares to others in its category, against a frozen, versioned benchmark snapshot stamped on the report.

One of these datasets is a copy of a real production table.

We scored a real generator and a generator that simply memorised its training data, on the same dataset, with the same engine. Every metric a generator self-reports called the copy excellent — best-in-class fidelity, best-in-class utility, structurally clean.

SDV generatorMemorising generatorUCI Adult census · 4,200 rows × 15 columns▲ marks where memorising scores better.
Pillar scores out of 100 for an SDV generator and a generator that memorised its training data, on the UCI Adult census dataset.
PillarScore out of 100SDVMemorised
Fidelity
A copy matches the source perfectly, by definition.
84.8100.0▲
Utility
Models trained on real records transfer to real records.
35.169.3▲
Structural integrity
Both datasets are structurally clean.
98.897.4
Privacy
4,200 of 4,200 synthetic rows were byte-for-byte copies of a real record.
98.73.8
Overall grade75.5 B52.3 D
The privacy pillar found what the self-reported metrics can't: all 4,200 of its rows were byte-for-byte copies of real people's records. The critical-finding rule capped its grade at D. That gap — between what a generator says about itself and what an independent attack finds — is the product.

Generators grade their own homework

Every synthetic data tool ships its own quality metrics, computed by the same system that produced the data — and those are the numbers you're asked to show your DPO, your auditor, or your client.

We are not in the generation business and never will be. The certificate is worth something precisely because we have nothing to gain from your dataset scoring well.

Every report says what to look at, not just what you scored

A score tells you a pillar is weak. A finding tells you which column, what happened, and the kind of fix it calls for — named columns and printed correlations, never a verdict to decode. We diagnose; we never sell the remedy or tell you which knob to turn in your generator. An auditor that also sells the fix isn't an auditor. And a clean dataset gets no findings — an empty section is a result.

From the sample report

1 column distribution diverges from the source

capital-gain

Weakest is capital-gain at 9/100 distribution match; 1 column scores below 70.

What to look at: Per-column drift usually means the generator under-fitted these marginals — common with heavy tails, rare categories, and columns whose type was inferred wrongly upstream. Confirm each column is being treated as the type it actually is, and check whether rare categories survive generation at all.

One of 3 findings on that run. Read the whole report.

Zero retention, every plan

Your source data is deleted by the worker as the final step of every job — success or failure — and the deletion timestamp is printed in the report footer. Default on the free tier and every paid tier alike; retention (24h, for debugging a failed job) is an opt-in checkbox, off by default.

Because the data is gone, the report carries the SHA-256 fingerprint of every file measured. The fingerprint ties the scores to a specific file, permanently.

Pricing — planned for launch

Usage-based, no seats, no sales call for the self-serve tiers. Processing region — US or EU — is a choice on every plan, not something bundled into the top tier. Join the waitlist and we'll honour the pricing below when we launch, whatever it says here by then.

Starter
Free
  • 1 dataset / month, up to 50 MB
  • Fidelity + utility scoring
  • Basic privacy leakage checks
  • Watermarked certificate

US or EU processing — your choice

Pro
$299/month
billed in € for EU customers
  • 20 datasets / month, up to 2 GB
  • Full privacy attack suite
  • Percentile benchmarking
  • Clean certificate + API access

US or EU processing — your choice

Compliance
€799/month
  • 50 datasets / month, up to 10 GB
  • DPIA-mapped report language
  • Signed processing statement / DPA
  • Everything in Pro

Talk to us — design partners first

Waitlist signups get launch pricing locked for 12 months.

One email when we launch. No newsletter, no sharing your address.

Or read a full sample report first — it's a real run, published unedited.

Common questions

Is my data safe with you?

Files go directly from your browser to storage, are processed once, and are deleted as the job's final step — the deletion time is printed on your report. Every plan can choose EU (Frankfurt) processing. We keep scores and the report, never your data.

What if I can't share real data at all?

Upload just the synthetic dataset. You get a partial report: structural integrity is scored, and fidelity, privacy and utility are marked not assessed with the reason — never shown as a zero, never as a pass.

What's the holdout, and do I need one?

A holdout is a slice of real records your generator never saw. Without one, attack-based privacy results are honest upper bounds and membership inference is reported as not tested. With one, you get the full measurement — the same comparison the EDPB's draft guidelines describe. Why a holdout?

What formats and sizes?

CSV and Parquet, tabular data. Free: one dataset a month up to 50 MB. Pro: twenty a month up to 2 GB each.

How many rows should I upload?

A random sample of 10,000–100,000 rows — the metrics are statistical and stabilise on samples, so a full production table adds upload time, not accuracy. If you have a rare class you care about, keep at least a few hundred examples of it. How much data is enough →

Can I try it without my own data?

Yes — one click runs a built-in sample dataset through the full pipeline, certificate included. There's also a deliberately leaky dataset, so you can watch a near-perfect score get capped by the privacy pillar.

How long does a run take?

Minutes, not hours — it scales with dataset size. You get an email when the certificate is ready.

Is this a GDPR certification?

No — and be wary of anything that claims to be. The report is independent third-party evidence for your own DPIA or anonymisation assessment: measured results, stated honestly, in the criteria's vocabulary. The legal judgement stays with you and your DPO.