Product

The same scan, in the Windows app.

A guided tour of the demo workspace: a synthetic retailer whose October orders arrive with planted problems. Ninety seconds, with sound.

A 90-second recording of the real app with captions and quiet sound effects. October's orders are checked against September's approved file: 7 findings. A column vanished, so there is no card or PayPal split; 24 orders were sent twice, 1,512.66 euros counted double; 1,703 prices sit far outside September's range, every one of them from Lyon, where a 26.99 euro item is billed at 2,699.00 euros because one store started sending prices in cents. By our reading of the files, October would report 13.2 million euros instead of 1.6 million. The gate blocks on critical findings with exit code 2, a reviewer holds the file with a reason, and the decision is on record: who, when and why.

Or look at it screen by screen.

Features

Everything around the scan.

From the first file you trust to the decision on record, on your own machine.

Automatic profiling

Every column gets a role, a learned range and the checks that fit it. Nothing to set up.

See it in the demo

Thresholds you can override

Each column's thresholds come from its own data. See them all, override any of them, revert later.

See the screen

Health check before approval

Duplicate keys, empty or constant columns, numbers stored as text, placeholder codes: caught before a version becomes your reference.

See it in the demo

Approved versions

Every approved version is kept, with who approved it and when. Compare two versions, roll back without erasing, export a certificate.

See it in the demo

Findings with their rows

Each finding says what changed in plain words, with the evidence and the rows behind it.

See it in the demo

Triage

Real problem, expected change, noise or snooze, with keyboard shortcuts. Your decision follows the finding to the next scan.

See the screen

Your own rules

Ranges and allowed values, in a form or YAML. Suggestions from the approved data, and import from dbt or Great Expectations.

See the screen

A gate for your pipeline

A verdict and an exit code for every scan. A block with a reason stays until someone clears it.

See the screen

Audit log

Every approval, block, rollback, correction and override: who, when and why. Export it as CSV.

See it in the demo

Share-safe reports

Send a report outside the team with no values from the data: counts and statistics only.

History

See how each column moves from one month to the next, across every approved version.

Big files

Before a large scan it estimates the memory it needs. 30 million rows a side took about 21 minutes on a laptop.

How it works

A loop, not a list of checks.

It learns your data from the version you approve. Every decision feeds the next one.

Five steps in a loop: profile every column, approve a version you trust, check every new delivery, decide what each finding means, and give your pipeline a verdict. Each decision feeds the next baseline. 01Profilelearns every column 02Approvea version you trust 03Checkevery new delivery real problem, expected, or noiseDecide04 a verdict for your pipelineGate05 each decision feeds the next baseline
  1. Profilelearns every column
  2. Approvea version you trust
  3. Checkevery new delivery
  4. Decidereal problem, expected, or noise
  5. Gatea verdict for your pipeline

A growing set of checks, chosen per column

Structural, statistical, multivariate and row-level checks. Each column gets the ones that fit its role, with thresholds set from its own data. Some of them:

  • Columns that vanish, appear or get renamed
  • Types that change
  • Duplicate or missing keys
  • Rows that go missing
  • Values out of range, or the wrong sign
  • Distributions that shift
  • Categories that appear or vanish
  • Empty columns and placeholder codes like 9999.9
  • Formats and code widths that drift
  • References to ids that never existed
  • Database commands hidden in text
  • Your own rules, like quantity ≥ 1
  • + more with every release

See it on your own data.

One recurring dataset, on your machines, with success criteria agreed before it starts.