Technical Documentation
Version 1.0.0 • Last updated: 2026-01-31
Contents
Installation & First Run (Windows)
SterileCSV is a portable, offline Windows package. No administrator rights are required.
System requirements
- Windows 10 or Windows 11 (64-bit)
- Standard user rights (no admin required)
- Enough disk space for input CSVs and generated
.xlsxfiles
Unzip and keep files together
Unzip the SterileCSV archive into a folder you can write to (for example C:\\Tools\\SterileCSV).
Important: keep Start-SterileCSV.bat in the same folder as the other SterileCSV folders
(such as dist\\ and python311\\). If you want quick access, create a Desktop shortcut
instead of moving the .bat file.
To run: Click More info → Run anyway.
What happens on first run
- A private Python runtime is bundled inside
python311\\; you do not need to install Python. - SterileCSV creates a local virtual environment (
venv\\) inside the unzipped folder. - It installs the required packages from the offline wheel repository (
dist\\), then launches the GUI.
License activation (offline)
After purchase, you receive a personalized, signed license.json by email (automatic delivery after payment).
- Place
license.jsonnext toStart-SterileCSV.bat(default). - Alternatively set
STERILECSV_LICENSEto point to the file path.
setx STERILECSV_LICENSE "%PROGRAMDATA%\\SterileCSV\\license.json"
Activation is fully offline: SterileCSV validates an Ed25519-signed license.json locally.
Usage & manifests
- Launch via
Start-SterileCSV.bat. - Select the CSV file(s) you want to process.
- Choose an output folder, then start the conversion.
SterileCSV generates a separate .xlsx workbook (your input CSV is never modified). For auditability, it can also write a per-file .manifest.json next to the output containing hashes and conversion metadata.
Security Model
SterileCSV prevents CSV Injection (Formula Injection) attacks by sanitizing every cell before it touches the Excel workbook.
Neutralization Rules
If a cell starts with any of the following characters, it is treated as a string and the prefix is preserved but neutralized:
=(Equals)+(Plus)-(Minus)@(At symbol)
This ensures that malicious payloads like =cmd|' /C calc'!A0 are rendered as harmless text.
Type Inference Rules
The engine uses a deterministic multi-pass approach to infer data types while preserving crucial text data.
Numeric ID Preservation
Unlike standard Excel import, SterileCSV detects "Numeric IDs" (e.g., Zip Codes, SKUs) and forces them to be stored as Text to preserve leading zeros.
Input: "0123456"
Excel: 123456 (Number)
Sterile: "0123456" (Text - Preserved)
Date Detection
Supported formats are strictly parsed as Excel Date objects:
- ISO 8601:
YYYY-MM-DD - Common notations:
DD/MM/YYYY,MM/DD/YYYY(Locale dependent)
Excel Formatting
The output .xlsx file is generated with professional defaults:
- Frozen Header: Row 1 is frozen (Split at A2).
- Auto-Width: Column widths are calculated based on the 95th percentile of content length.
- Summary Sheet: A separate tab containing file statistics and a SHA-256 hash for auditability.
Uninstall
SterileCSV is portable. To uninstall, close the app and delete the unzipped SterileCSV folder. If you stored license.json elsewhere (or set STERILECSV_LICENSE), remove those as well.