Security & Privacy: What You Can Verify Yourself
Most "your file is never uploaded" claims ask you to take a company's word for it. This page explains exactly what runs where in this tool, so you don't have to.
What this page is not
This is a plain-English technical explanation, not a security certification. This tool has not undergone a SOC 2 audit, ISO 27001 certification, or HIPAA compliance assessment, and none of those are claimed anywhere on this site. If your organization has a formal vendor-security review process, treat this page as background reading, not as a substitute for that process.
1. How file processing actually works, step by step
When you drag a file onto the dropzone or click "Upload My EDI File," here is precisely what happens, in order:
- Your browser's built-in
Fileobject receives a reference to the file from your operating system's file picker or drag event. No network request has occurred yet. - JavaScript calls the browser's native
FileReader.readAsText()API, which reads the file's bytes into a JavaScript string variable, entirely inside the browser process running on your own device. - The parser (
js/parser.js) inspects that in-memory string for theISAheader (X12) orUNA/UNBheader (EDIFACT), determines the delimiters, and splits the text into segments, elements, and values — all with plain JavaScript string operations, no network calls involved. - The resulting structured rows are stored in a JavaScript variable (
state.parsedinjs/main.js) and rendered into the on-page HTML table you see. - When you click Export CSV/Excel/JSON, the same in-memory data is formatted and handed to the browser's native "download a Blob" mechanism (
URL.createObjectURL), which saves the file straight from browser memory to your device's downloads folder — again, no server round-trip.
At no point in this sequence does the file content pass through a fetch(), XMLHttpRequest, form submission, or any other network-sending API. That's not a policy promise — it's a statement about which lines of code exist in the shipped JavaScript, and you're welcome to verify it in the next section.
2. How to verify this yourself in under two minutes
You don't need to trust this page. Here are two independent ways to confirm the "no upload" claim on your own machine:
Method A — Watch the Network tab
- Open this site, then open your browser's Developer Tools (F12 or right-click → Inspect) and switch to the Network tab.
- Clear the network log, then drag in an EDI file (or click one of the free sample files).
- Watch the Network tab as the table populates. You will see no new outgoing request containing your file's bytes — the only requests that were made had already fired before you touched the file (loading the page's own scripts, fonts, and the analytics/checkout scripts).
Method B — Go offline
- Load the page fully first (so the scripts have downloaded).
- Turn off your Wi-Fi or unplug your network connection.
- Upload a file and click Export CSV. It will still work — because nothing about parsing or exporting requires a live network connection. A tool that actually uploaded your file to a server for processing could not do this.
3. What is not stored, and for how long
- No server-side storage of file content, ever — there is no backend endpoint that accepts file uploads on this site at all.
- No browser-persistent storage of file content — parsed data lives only in an in-memory JavaScript variable for the life of the tab. It is not written to
localStorage,sessionStorage,IndexedDB, or cookies. Closing or refreshing the tab discards it completely. - What is stored locally: an unlock flag (
localStorage['edi_parser_unlocked']) and, if you unlocked with a purchase, your Gumroad licence key and order id. These record only your purchase status — they contain no file data whatsoever. - The one outbound request that isn't analytics: unlocking with a purchase sends your licence key to Gumroad's licence API to verify it (and re-verifies a cached key at most once a day). That request carries your key and the product identifier — not a device label, and never file content. If you never enter a licence key, this request never fires.
- Analytics events (Google Analytics 4, via
js/analytics.js) record only metadata: file extension of rejected uploads, the detected EDI standard (X12 or EDIFACT), segment count, and record-group count. Never the file name, and never any parsed field value or business data from inside the file.
4. Third-party scripts this page loads, and why
For full transparency, here is every third-party script this site loads and what each one does — none of them receive your EDI file content:
| Service | Purpose | Receives file content? |
|---|---|---|
| Google Analytics 4 | Aggregate usage analytics (page views, button clicks, funnel events) | No |
| Gumroad | Payment checkout for the one-time unlock purchase — completed on Gumroad's own checkout page, opened in a new tab. No Gumroad script is embedded on our pages. | No |
| Google Fonts | Loads the Inter typeface | No |
| Tailwind CSS (CDN) | Page styling | No |
| Lucide Icons | Icon rendering | No |
| SheetJS (xlsx) | Builds the .xlsx file client-side for Excel export | No — runs locally, only reads your already-in-memory parsed data to build the download |
5. Who this local-processing model is especially useful for
Because no file content ever reaches a server, this tool is a reasonable fit for a quick, one-off look at files that a team may not want to paste into a generic online converter, including:
- Healthcare billing teams inspecting an 837 claim or 835 remittance file without routing protected health information through a third-party server.
- Finance and procurement teams spot-checking an 850 purchase order or EDIFACT INVOIC invoice that references real supplier pricing or account details.
- Consultants and support staff troubleshooting a client's EDI file on a shared or unmanaged machine, where uploading the file anywhere would violate a client confidentiality agreement.
None of this is a guarantee that local-only processing is sufficient for your specific regulatory obligations (HIPAA, GDPR, or otherwise) — it only guarantees that this particular step of your workflow doesn't add a new third party into your data's path. See our Privacy Policy for the full legal treatment of data handling.
Frequently Asked Questions
Can I verify the file isn't uploaded, without trusting your word?
Yes — see Section 2 above. Watch your browser's Network tab while uploading, or disconnect from the internet entirely and confirm the tool still parses and exports correctly.
What actually happens to my file after I close the tab?
It's discarded. Parsed data lives only in that tab's JavaScript memory for the session — nothing is written to disk, browser storage, or any server.
Is any part of the file sent to Google Analytics?
No. Analytics events include only metadata (file extension, detected standard, segment/group counts) — never file names or parsed field values.
Does this replace a real security audit or compliance certification?
No. This page explains the architecture so you can verify it yourself; it is not a SOC 2, HIPAA, or ISO 27001 certification.
Related reading
- Privacy Policy — what data is and isn't collected, in full legal detail.
- Terms of Service — acceptable use and license terms.
- What Is an EDI File? — a plain-English primer if you're new to EDI.
- Try the converter with a free sample file, no account required.