Most bad numbers don't come from bad SQL — they come from bad data you never inspected. Anomaly detection scans a table the moment you open it and flags the problems that quietly corrupt results.
The expensive version of this is discovering the problem after a wrong number ships. Running the checks automatically when a table is opened — before you've written a single query — moves the catch to the cheapest possible moment. A quick health score tells you whether to trust the data at a glance.
Real data rarely declares every constraint — CSV files never do, and plenty of databases are modelled loosely. So a good detector can't rely on declared foreign keys; it infers them. The trick is containment: if nearly all of a column's values appear in another table's key, that column is almost certainly a foreign key — and the few values that don't match are the orphans worth flagging.
Varan runs this inference deterministically on an isolated engine connection, so the scan finds real orphaned references without slowing your actual queries.
Anomaly detection is the first line of defence; column-level lineage lets you trace a suspicious number to its source, and version history lets you revert a bad change. Together they cover trust, tracing and undo — across every source you query.
Automatic anomaly detection on every table you open. Free during the beta.
Request beta access →Duplicate keys, missing values, outliers and orphaned foreign keys — the problems that quietly break joins and aggregates.
Yes — Varan treats files as tables and scans them the same way, which is where undeclared foreign keys and orphans are most common.