How to remove author and company metadata from excel before delivering to clients
- Step 1Lock the deliverable — Finish QA and save the workbook. Because saving re-writes
cp:lastModifiedByto your name, wipe metadata only after the truly final save — make it the last item on the delivery checklist. - Step 2Open the wiper — The Excel Core Metadata Wiper opens the Office Doc Property Wiper (Pro tier). Drop the whole deliverable set —
.xlsxmodels, the.pptxdeck, the.docxmemo — all are OOXML and clean identically. - Step 3Wipe the firm fingerprint — JSZip unpacks each file and deletes
docProps/core.xml,docProps/app.xml, anddocProps/custom.xml, plus any comment/person XML, then repacks. TheremovedEntriescount confirms how many property files came out per file. - Step 4Spot-check the highest-risk file — Open the cleaned master model in Excel → File → Info. Author, Last Modified By, Company, and Manager should read blank. If a previous reviewer's name still shows, you wiped a copy that was re-saved afterward — re-wipe the final version.
- Step 5Scan content for stray names — Properties are clean, but a consultant's initials can hide in a cell, a hidden assumptions tab, or a chart title. Skim the workbook (and unhide all sheets) for analyst names in content — the wiper does not touch cell text.
- Step 6Package and deliver — Send the cleaned set. The client's File → Info shows no firm or analyst attribution; unzipping the container finds no
docProps/core.xmlto read. Keep your internal master (with metadata) in your own DMS.
Firm-identifying fields and where they hide
Each field a client could use to map your delivery chain, the OOXML file it lives in, and whether the wiper removes it. Field names are the literal OOXML element names.
| What it reveals | Field / element | OOXML path | Wiped? |
|---|---|---|---|
| Originating analyst | dc:creator | docProps/core.xml | Yes — file deleted |
| Every reviewer who saved it | cp:lastModifiedBy | docProps/core.xml | Yes |
| Draft count / iteration depth | cp:revision | docProps/core.xml | Yes |
| True engagement start date | dcterms:created | docProps/core.xml | Yes |
| Firm name | Company | docProps/app.xml | Yes |
| Engagement partner | Manager | docProps/app.xml | Yes |
| Matter number / classification | custom property nodes | docProps/custom.xml | Yes |
| Comment author names | thread author refs | xl/threadedComments/, xl/persons/ | Yes |
| Analyst initials in a cell or tab name | cell text / sheet name | xl/worksheets/ | No — content, not property |
Wiper vs. Excel's own tools, for a consultant
Why the browser wiper fits a pre-delivery checklist better than Excel's Document Inspector for the property-removal step.
| Aspect | This wiper | Excel Inspect Document |
|---|---|---|
| Needs Excel installed | No — runs in any browser | Yes — Excel for Desktop only |
| Removes core/app/custom properties | Yes — deletes the XML entries | Yes — clears the fields |
| Batch multiple files | Yes (Pro: 5, Dev: unlimited) | One file at a time |
| Removes hidden rows/columns, hidden sheets | No — use Hidden Sheet Destroyer | Yes |
| Removes comments | Yes | Yes |
| Repeatable in a pipeline | Yes — via the @jadapps runner | No — manual dialog |
Cookbook
Real File → Info and raw-XML states from consulting workbooks before and after wiping. Names and matter numbers anonymised.
The reviewer chain a client can read
Before delivery, core.xml names every person who saved the model — analyst, manager, partner. A client who opens File → Info, or unzips the file, sees the whole hierarchy.
docProps/core.xml (before): <dc:creator>analyst.first.year@firm.com</dc:creator> <cp:lastModifiedBy>Engagement Partner</cp:lastModifiedBy> <cp:revision>63</cp:revision> <dcterms:created>2026-02-03T08:11:00Z</dcterms:created> After wiping: docProps/core.xml → removed removedEntries: 3
Firm name in the Company field
The Author often gets cleaned manually; app.xml's Company field is the one that ships your firm name even after that. The wiper deletes app.xml too.
docProps/app.xml (before): <Company>Meridian Strategy Group</Company> <Manager>D. Okafor (Partner)</Manager> <Application>Microsoft Excel</Application> After wiping: docProps/app.xml → removed
Matter number from the DMS
Document-management systems stamp the matter/engagement number into custom.xml. Clients with technical staff can read it and infer your billing structure. The wiper removes custom.xml.
docProps/custom.xml (before): <property name="MatterNumber">2026-CLIENTX-0098</property> <property name="Classification">Privileged & Confidential</property> After wiping: docProps/custom.xml → removed
One drop, whole deliverable set
An engagement ships a model, a deck, and a memo. All three are OOXML, so one batch wipes them together. Pro tier handles 5 files per batch.
Batch (Pro): growth-model.xlsx → removedEntries: 4 diligence-deck.pptx → removedEntries: 3 (incl. ppt/commentAuthors.xml) cover-memo.docx → removedEntries: 3 (incl. word/people.xml) All download cleaned. Internal masters stay in your DMS.
The re-save trap on a deadline
Late-night delivery, the partner spots one number, you fix it in the cleaned file and save. Excel re-stamps your name. Always re-wipe after any edit.
Wrong:
wipe → open → fix cell → Ctrl+S
Excel writes core.xml with cp:lastModifiedBy = your.name
send → client sees your.name
Right:
open → fix cell → Ctrl+S → wipe → sendEdge cases and what actually happens
Encrypted / password-protected model
Cannot processA workbook protected with Encrypt with Password is wrapped in an OLE encryption envelope; the inner OOXML ZIP is unreadable to JSZip, so the wipe fails on load. Clear the open-password in Excel (File → Info → Protect Workbook → Encrypt with Password, delete it, save), wipe, then re-apply protection before delivery if required.
Analyst name inside a hidden 'assumptions' tab
Out of scopeIf a junior consultant left their initials in a hidden working-notes sheet, that text lives in xl/worksheets/ and survives the wipe. Unhide all sheets and review content before delivery; the wiper removes properties, not cell text. The Hidden Sheet Destroyer can remove the hidden sheet entirely.
Threaded comment review chain
RemovedExcel 365 threaded comments store author identities in xl/threadedComments/ and xl/persons/. The wiper's patterns include both, so the review conversation and the names attached to it are removed alongside docProps — useful when the comment thread itself reveals internal debate.
External links to the firm's data warehouse
Not removedLinked-cell references to internal network paths or SharePoint URLs live in xl/externalLinks/, not docProps, so the wiper leaves them. They can leak internal server names. Audit and break them with the External Link Auditor before delivery.
Re-save re-stamps the partner's name
ExpectedExcel regenerates core.xml with cp:lastModifiedBy on every save. Wiping then re-saving puts a name straight back. The fix is procedural: wipe is always the last action before the file leaves your hands.
.xls legacy model from an old engagement
Unsupported formatPre-2007 .xls models use the binary BIFF8 format with no docProps/ folder, so there is nothing for the ZIP-based wiper to remove. Save As .xlsx in Excel first, then wipe the converted file.
Workbook exceeds the Pro 50 MB cap
413-style rejectA model heavy with embedded images or dozens of sheets can exceed Pro's 50 MB per-file limit and is rejected before processing. Pro-media raises it to 200 MB and Developer to 500 MB. Most financial models sit well under 50 MB.
Signed deliverable required by the client
Signature invalidatedIf the client requires a digitally signed workbook, sign it after wiping — removing docProps entries changes the package and invalidates any prior signature. Order: finalise → wipe → sign → deliver.
Frequently asked questions
What exactly can a client see in an unwiped model?
In File → Info → Properties they see Author, Last Modified By (every reviewer), Company (your firm), Manager (the partner), creation/modification dates, and revision count. Anyone who renames the .xlsx to .zip and opens it sees the raw docProps/core.xml, app.xml, and custom.xml — including any matter number your DMS stamped. The wiper deletes all of these files.
Does it remove the firm name, not just the analyst?
Yes. The firm name lives in the Company field inside docProps/app.xml, and the engagement partner in Manager. The wiper deletes app.xml along with core.xml, so both go in one pass — a common gap when people clean only the Author manually.
Will the numbers or formulas change?
No. Only files under docProps/ and the comment/person XML are removed. Worksheet cells, formulas, charts, and formatting are byte-for-byte preserved. The model behaves identically; only its provenance metadata is gone.
Can I clean the whole deliverable set at once?
Yes. The wiper accepts .xlsx, .pptx, and .docx together and processes multiple files per batch — Pro allows 5, Pro-media 20, Developer unlimited. Drop the model, the deck, and the memo and each is unpacked, stripped, and repacked independently.
Is this the same as Excel's Inspect Document?
For the property-removal step, yes — both remove core/app/custom properties and comments. The differences: this wiper needs no Excel install, batches multiple files, and is scriptable; Excel's Inspect Document also removes hidden rows/columns and hidden sheets, which this tool does not (use the Hidden Sheet Destroyer for those).
Does it remove tracked changes?
No. Change-tracking data is not in docProps and is not stripped. In Excel, turn off Track Changes and accept all changes (Review menu) before wiping if the revision history must not reach the client.
Is the client's confidential data uploaded to wipe it?
No. JSZip unpacks, edits, and repacks the file entirely in your browser. The client's financials and your firm's IP never leave your machine, which keeps you inside typical engagement confidentiality terms. A local audit-log entry (no content) is recorded for your compliance dashboard.
What tier does a consultant need?
Pro. The Core Metadata Wiper runs through the Office Doc Property Wiper, which is Pro-tier. Pro covers files up to 50 MB and 5 per batch — enough for most engagements. Larger or higher-volume firms may prefer Pro-media (200 MB / 20) or Developer (500 MB / unlimited).
Can a client recover the original Author forensically?
Not from the cleaned file. The XML entries are deleted from the archive, not blanked, so there is no residual property data to recover. The original only resurfaces if the client already has an earlier copy or if you re-saved in Excel after wiping.
Does it clean comment author names?
Yes. Threaded-comment authors live in xl/threadedComments/ and xl/persons/, both of which the wiper removes. If you want to keep document properties but only purge comments, use the dedicated Comment & Note Purger.
What about links to our internal data warehouse?
Those external links are in xl/externalLinks/, not docProps, so the wiper leaves them. Internal server names can leak through them. Run the External Link Auditor to find and break them before delivery.
Can we make this a standard step in our delivery pipeline?
Yes. Pair the @jadapps local runner and dispatch the office-doc-property-wiper job per file from a pre-send script — the workbook is processed locally, so no client data leaves your network. Many firms wire it into an outbound-folder hook so nothing reaches a client without a metadata wipe.
Privacy first
Every JAD Excel tool runs entirely in your browser using SheetJS and ExcelJS. Your spreadsheets, formulas, and data never leave your device — verified by zero outbound network requests during processing.