Documentation
Gesalp is a hosted application that turns one flat clinical CSV into a synthetic table and an evaluation report. This page describes the current product, not a roadmap.
Updated: 1 October 2026
What Gesalp does today
You upload a de-identified table. On upload, columns are mapped to OMOP when the dictionary agrees. A 5-level intelligence system then generates, scores, and retunes against measured privacy and utility checks. You review the report before you use the output. A completed run is generation plus evaluation. It is not a favourable result, a compliance certificate, or proof that the table is anonymous.
- Input: one de-identified flat CSV you are authorized to process.
- Generation: a 5-level intelligence system that generates, scores, and retunes against measured checks. Your table is generated in the EU (AWS Frankfurt).
- Output: a synthetic CSV and a downloadable evaluation PDF.
- Review: PASS, WARN, FAIL, or N/A on each measured check.
Access and accounts
Create an account from Sign up. Existing accounts can sign in. Password reset remains available from the sign-in page.
If you need help, email the team from the contact page. Do not send source datasets, passwords, or patient details.
Workspace
After you sign in, the application is organized around a project. These screens are live:
- Overview — projects and recent work.
- Projects — create and open a project.
- Datasets — upload a CSV, preview columns, and start a run from that file.
- Runs — track job status and open results.
- Activity — account events. An error loading activity is not the same as having no activity.
- Usage — remaining evaluations and project capacity for your plan.
- Billing — your current plan.
- Settings — account controls for the signed-in user.
Prepare and upload data
Upload one rectangular CSV with a header row and consistent column names. Values in a column should mean the same thing in every row.
On upload, columns are mapped to OMOP when the dictionary agrees. The file must be de-identified and at most 10 MB.
- Format: CSV.
- File size: 10 MB maximum.
- Minimum rows: 200.
- No column cap on current plans. The 10 MB file limit still applies.
- You can request up to 10× the input row count. The report shows delivered versus requested rows.
Plans and limits
A run buys generation and evaluation, not a passing score. Paid plans renew automatically each month. There is no trial, no unused-run rollover, and no automatic overage.
Prices exclude applicable taxes. Stripe Checkout shows the payable total before you confirm. Custom work is available through contact, not as a fourth self-service plan.
| Plan | Price | Evaluations | Active projects | Rows | Columns |
|---|---|---|---|---|---|
| Explore | €0 | 1 lifetime | 1 | 200–1,000 | No cap |
| Starter | €99 / month | 5 per month | 1 | 200–5,000 | No cap |
| Professional | €199 / month | 20 per month | 5 | 200–5,000 | No cap |
Start a run
Open a project, upload or select a dataset, and start a run. Progress reflects the job’s current state. You can follow it from Runs or from the project page.
The generator can produce up to 10× the input row count. The report shows delivered row counts. If rows were dropped, that shortfall is disclosed — it is not hidden as a perfect match.
Finishing a run does not mean every check passed. Read WARN, FAIL, and N/A before you download or share the file.
How generation works
On every upload, columns are mapped to OMOP when the dictionary agrees; otherwise they stay REVIEW. Generation uses that map when it is ready, together with a profile of the table, so a lab stays a measurement and a flag stays a category.
A 5-level intelligence system then generates, scores, and retunes against measured privacy and utility checks.
Read the evaluation
Each check is scored independently. PASS, WARN and FAIL apply only to numbers that were actually measured. N/A means the check did not run or could not be evaluated; the report includes a reason. A missing check is never treated as a pass, and a measured 0 is a real 0.
The labels below match the evaluation PDF. Thresholds are the current PASS bars. They are review aids, not a guarantee that a given table will meet them.
| Report label | What it looks at | PASS when |
|---|---|---|
| MIA ROC-AUC | Membership-inference attack success | ≤ 0.55 |
| Linkage Risk | Record-linkage attack success | ≤ 3% |
| Identical Match Rate | Exact copies of training rows | ≤ 3% |
| Statistical Fidelity (KS) | Column distribution distance vs the source | ≤ 0.10 |
| Correlation (Delta) | Change in pairwise correlations | ≤ 0.10 |
| AUROC Retention | Usefulness of a downstream classifier | ≥ 0.85 |
| Privacy gain (distance test) | Distance to nearest training row vs a real holdout | ≥ 0.87× |
| Outlier shielding (distribution test) | Protection of rare or extreme records | ≥ 90% |
| T-closeness (distribution distance) | Sensitive-value mix inside quasi-identifier groups | ≤ 0.20 |
Report seals
The report header uses a scoped seal, not a broad “verified” mark:
- CHECKS PASSED — every measured check is PASS.
- PARTIAL AUDIT — some distance or correlation checks were capped on a wide table, or no checks were measured.
- REVIEW REQUIRED — at least one measured check is WARN or FAIL.
A run can finish with WARN remaining. That is not CHECKS PASSED. Read amber results before you use the file.
Downloads
From a completed run you can download the synthetic CSV, the evaluation PDF, and a cleaned copy of the input.
Compare requested and delivered row counts before you use the file. If a download is missing, contact support with the run ID.
Not included in this release
These are not available on the current plans. A few appear on the public roadmap; none of them can be started today.
- Identifiable patient information (PHI) processing.
- Differentially private training.
- Multi-table or relational synthesis.
- Neural generators (CTGAN, TVAE, DDPM and similar) on the paid path.
- A complete OMOP data-model export. Column mapping on upload is included.
- On-premise or customer-managed deployments.
- A public API, external connectors, or dataset publishing.
- A guaranteed all-green result on every table.
If something goes wrong
Retry a failed page load. If your session cannot be verified, sign in again. If you still see an error, contact support — include the run ID when you have one.
For a failed run or missing download, contact support with the run ID and the error message. Do not send source datasets, passwords, or patient details.