Clean data should be reproducible, not magical.
Rightrow applies explicit cleaning rules to spreadsheets and shows you what changed. Every run returns a diff, a data-lost report, and a profile of the output.
The problem is boring on purpose
CSVs arrive with dates in four formats, currency symbols mixed into numeric columns, shifted rows, duplicate headers, and values like “N/A” that are neither text nor numbers. Most teams fix this by hand in Excel or by writing a one-off script that nobody reviews.
Rightrow exists to make that work explicit. The default path uses deterministic columnar transformations for type coercion, whitespace trimming, deduplication, and structural repair. A model-assisted fallback is used only when a schema or entity mapping is genuinely ambiguous, and its output is validated before it runs.
What a run actually gives you
- A cleaned CSV, with formula-injection characters escaped for safe spreadsheet import.
- A cell-level diff: rows in, rows out, cells modified, and missing cells before and after.
- A data-lost report. When a stable identifier exists, dropped rows are reconstructed exactly; when it does not, the report is labelled approximate instead of presenting an approximation as fact.
- A dataset profile computed on the full file, including null counts, numeric ranges, top frequencies, and correlations that account for missing values.
How we handle uploaded files
Uploads are processed on Rightrow infrastructure and are temporary. They are deleted within 60 minutes by default. We do not train models on customer data, and we do not sell it.
Do not upload data you are not authorized to process. If you need a signed DPA, a different retention window, or a self-hosted deployment, contact us before uploading production data.
Operating principles
- Deterministic by default.
- Routine cleaning is explicit transformations, not a prompt. The same input and settings produce the same output.
- Say when a number is approximate.
- Sampled previews, capped correlation matrices, and unreconstructable row drops are labelled as such in the interface.
- Keep the failure visible.
- Pipeline errors surface the failing column and row context rather than a generic “something went wrong”.

