Excel PII Scrubbing: Sanitize .xlsx & CSV Spreadsheets Without Uploading Them
Zero-Trust Spreadsheet Sanitization: Secure Excel Workflows

AI Summary / Key Takeaways
"Scrub entire financial models, HR rosters, and sales pipelines natively. PrivacyScrubber parses and sanitizes .XLSX files entirely in memory, preserving row/column structures while neutralizing personal data."
Scrubbing massive datasets?
Process thousands of records locally with Batch Mode.
The Challenge with AI Data Workflows
Data analysts frequently need to upload massive datasets to tools like OpenAI's Code Interpreter or Advanced Data Analysis. Manually anonymizing a 50,000-row spreadsheet takes days and is prone to devastating human errors.
How It Works
Upload Your Spreadsheet
Click the upload button or drag an .xlsx / .xls / .csv file onto the PrivacyScrubber interface. SheetJS parses the file entirely in your browser's RAM — no bytes leave your machine.
PII Detection Across All Cells
The ZTDS engine scans every cell in every worksheet. Names, emails, phone numbers, IBANs, SSNs, and custom patterns are detected using the active industry profile (e.g., Finance, HR, Legal).
Download Sanitized .xlsx
Click Download. SheetJS reconstructs the spreadsheet with PII replaced by tokens (e.g., [NAME_1], [EMAIL_2]). Column structure, formulas, and formatting are preserved.
What Teams Achieve with Local PII Masking
Swipe to read more
Supported Formats & Limitations
Supported Formats
System Limitations
- Excel macros (VBA) and complex pivot tables may be stripped during parsing
- Maximum recommended sheet size: 50MB (hardware dependent)
- Formulas containing raw PII strings will be redacted, converting them to static text
How SheetJS Powers Zero-Upload Excel Processing
The Excel scrubbing pipeline uses SheetJS (xlsx.js) — a pure JavaScript spreadsheet parser that runs entirely inside the browser. When you drop an .xlsx file, SheetJS reads it as an ArrayBuffer via the Web File API, parses the OpenXML structure in memory, and returns a workbook object. No bytes are transmitted to any server at any stage.
Cell-Level Processing Pipeline
| Step | What happens |
|---|---|
| 1. Parse | SheetJS reads .xlsx binary → workbook object with sheets, cells, and metadata |
| 2. Scan | Each string cell value is passed to the ZTDS regex engine + NLP layer |
| 3. Tokenize | PII matches are replaced with [TYPE_N] tokens; originals stored in session RAM |
| 4. Reconstruct | SheetJS writes the modified workbook back to ArrayBuffer with original structure |
| 5. Export | Browser Blob API triggers a local file download — never touches a server |
For bulk processing of multiple spreadsheets in one session, use the Batch File Redaction feature to queue multiple files. For Finance teams requiring audit evidence, combine with the ZTDS Audit Receipt to generate a compliance PDF after each session.
Feature Reliability & Audit
This enterprise feature is powered by our Local-First Sanitization Engine. Unlike legacy cloud DLP tools, PrivacyScrubber processes your Excel PII Scrubbing: Sanitize .xlsx & CSV Spreadsheets Without Uploading Them logic 100% within your browser's V8 sandbox. This architectural decision ensures that even the most complex detection patterns never expose raw data to an external API.
Airplane Mode
Verified feature operational integrity without network connectivity.
Step-by-Step Guide
How to use this feature
Open PrivacyScrubber PRO
Navigate to privacyscrubber.com. Ensure PRO is active (check the status bar — it shows your license tier).
Upload spreadsheet
Click the upload icon or drag your .xlsx/.csv file. The file is loaded into browser RAM via the File API. No network request occurs.
Select detection profile
Choose the appropriate profile: Finance (for IBANs, account numbers), HR (for SSNs, salary, DOB), Legal (for case numbers, attorney IDs), or General.
Click Scrub
The engine processes all cells. Token map is stored in volatile session memory.
Download sanitized file
Click 'Download Redacted Spreadsheet'. The output file preserves column headers, formatting, and non-PII content.
Frequently Asked Questions
Which spreadsheet formats are supported?
PrivacyScrubber supports .xlsx, .xls, and .csv in PRO batch mode. Free users can upload a single .xlsx file for text extraction. PRO unlocks unlimited file size and multi-file batch processing.
Are formulas and formatting preserved after scrubbing?
Cell values containing PII are replaced with tokens. Numeric cells, formulas, and non-PII text cells are untouched. Column headers are preserved. SheetJS re-exports the file with its original structure — formatting (cell colors, bold, borders) is maintained in .xlsx output.
Can I scrub multiple worksheets within one .xlsx file?
Yes. The engine processes all sheets in the workbook. Each sheet's cells are scanned independently, and the token counter continues across sheets so [NAME_1] on Sheet1 and [NAME_1] on Sheet2 refer to the same person.
What happens to the original values? Can I get them back?
The original values are stored in the session token map (volatile RAM). After scrubbing, you can paste any tokenized output — including from the downloaded .xlsx — back into the Reveal tab to restore originals. The session map is cleared on tab close.
Which detection profile should I use for payroll data?
Use the HR profile for payroll (catches SSNs, salary figures, DOB, bank account numbers, employee IDs). For client financial data (IBANs, account numbers, routing codes), use the Finance profile. For spreadsheets containing both, run two passes: first HR, then Finance. Custom Rules (PRO) let you add company-specific patterns like internal employee codes.
Protect Your Team's AI Prompts in Under 30 Seconds
Protect My TeamNo server uploads. Works 100% offline in browser RAM.
