Does my CSV leave my computer?
No. Sieve reads and cleans the file in your browser tab. Nothing is uploaded, stored or sent anywhere, and closing the tab clears it. The only things that leave the page are the two files you choose to download, and a count of anonymous events such as a file opened or a fix applied, which never includes a file name, a column name or a value.
What does Sieve clean?
Three things, deliberately: spaces, tabs and no-break spaces at the start or end of a value; rows that are completely empty; and duplicate rows, matched on the columns you choose. Every change is shown before it happens, applied only when you approve it, and can be undone.
Will it fix dates or guess missing values?
No. Sieve never guesses dates, fills blanks, changes capitals, merges similar names or converts values to numbers. Those are judgements about what your data means, and a tool that makes them silently is worse than a messy file.
What happens when I open the cleaned file in Excel?
A CSV stores text, not formatting. Sieve keeps leading zeros in the file, but a spreadsheet may still decide a column is numbers and drop them when it opens it. Import columns such as account codes and postcodes as Text to keep them. Values that begin with =, +, -, @, a tab or a return are given a leading apostrophe by default, so a spreadsheet shows them as text instead of running them as formulas. The change report says how many.
Which files can I use?
UTF-8, comma-separated files with a header row, up to 2 MB, 10,000 rows and 100 columns. Quoted commas, quotes and values over several lines all work. A row with a different number of values from the header is refused rather than padded or cut, because guessing which value went missing would change your data without telling you.
How are duplicates decided?
By exact match on the columns you choose, which is every column to begin with. The first row stays and later matches are removed. Ben and ben, or Ben with a trailing space, are different, which is why outer spaces are offered first. A row whose chosen columns are all blank never counts as a duplicate.