Privacy, Limitations, and Troubleshooting
ETWriter is designed around browser-based file editing and processing. This page explains how the supplied implementation handles local files, how the Purge Data feature works, and how to troubleshoot common issues.
Local File Processing
ETWriter uses browser APIs to read selected files and manipulate their contents.
Its primary editing operations run through client-side JavaScript.
| Operation | Processing Method |
|---|---|
| Text Editing | Browser text editor |
| Syntax Highlighting | CodeMirror |
| Hex Editing | Browser byte arrays |
| Bulk Text Processing | JavaScript text transformations |
| ZIP Generation | JSZip |
| File Saving | Browser file picker or download |
Some functionality depends on external libraries being available.
Privacy Considerations
The ETWriter interface includes the statement:
This site never saves or sells your data.
The supplied application logic supports local file reading and processing, but the complete deployed website, hosting infrastructure, and external resources would need to be reviewed to verify broader privacy claims.
ETWriter does not need a remote editing service for the text and byte transformations shown in its supplied source.
File Access
Browser file pickers require user interaction.
ETWriter does not automatically receive unrestricted access to all files on your computer.
In browsers supporting the File System Access API, access is governed by the browser's permissions.
Sensitive Files
For confidential or sensitive material, verify the deployed application's security and privacy behavior before processing it.
Purge Data
ETWriter includes a Purge Data button for attempting to clear locally accessible application data.
How to Use
- Click Purge Data.
- Review the confirmation prompt.
- Confirm the operation.
- Allow the application to clear available data and reload.
The operation is intended to reset the local browser session.
Data Targeted by Purge
| Data | Attempted Action |
|---|---|
| Form inputs | Clear values |
| Text areas | Clear values |
| Select controls | Reset selections |
| Displayed code and output | Clear text |
| Clipboard | Attempt to write an empty string |
| localStorage | Clear accessible entries |
| sessionStorage | Clear accessible entries |
| IndexedDB | Attempt to delete databases |
| Cache Storage | Delete accessible caches |
| Service workers | Attempt to unregister |
| Cookies | Expire accessible cookies |
| Tracked object URLs | Revoke URLs |
Limitations
The purge operation is best-effort.
It cannot guarantee the deletion of every form of local or remote data.
For example:
- HTTP-only cookies cannot be deleted directly by JavaScript.
- Browser history is not cleared.
- Previously downloaded files are not deleted.
- Saved files on disk are not deleted.
- Clipboard clearing may be blocked.
- IndexedDB databases may remain if deletion is blocked.
- Server-side logs and other remote data are not cleared.
Editor State After Purging
The purge implementation resets form controls and attempts to clear standard text areas and displayed content.
However, it does not explicitly call CodeMirror's setValue("") method for every editor instance.
Therefore, Purge Data should not be treated as a verified secure erasure of all in-memory editor content before the page reloads.
Troubleshooting
The Editor Appears Blank
If you have just opened the application, an empty editor is expected.
If previously entered content disappears after reloading, verify whether it was saved to a file.
The supplied application does not implement automatic recovery of unsaved editor sessions.
Syntax Highlighting Does Not Work
Possible causes:
- CodeMirror is unavailable.
- The selected language mode is not loaded.
- The file extension is not recognized.
- The selected mode has fallen back to plain text.
Suggested actions:
- Check the language selector.
- Choose the language manually.
- Reload the page.
- Ensure the browser can access the required scripts.
A File Looks Corrupted in the Text Editor
The file may contain binary data or use a text encoding other than UTF-8.
Use Hex Editor mode to inspect the original byte values.
Do not save binary content through the text editor unless you intend to replace it with UTF-8 text.
Opening a File Fails
Check that you selected a readable file and did not cancel the browser dialog.
Browser restrictions or permission errors may prevent access.
Saving a File Fails
Verify that:
- An output filename has been entered.
- The browser allows downloads or saving.
- You have permission to write to the selected destination.
- The save dialog was not canceled.
The Hex Editor Shows Periods
The ASCII preview displays periods for bytes outside the printable ASCII range.
This is expected.
It does not necessarily indicate that the file is damaged.
Hex Output Has the Wrong Size
Check that each intended byte is represented by two hexadecimal digits.
The parser extracts matching pairs and ignores other content.
Malformed or ambiguous input may produce fewer or different bytes than expected.
Bulk Mode Does Not Process Some Files
Bulk mode only handles supported text file extensions.
It also checks the beginning of each eligible file for NUL bytes.
Files failing these checks are skipped.
Bulk Mode Reports an Unknown Command
Verify the command name and spelling.
Supported commands are:
FIND_APPEND
FIND_BREAK
FIND_INSERT
FIND_REPLACE
FIND_DELETE
LINE_APPEND
LINE_BREAK
LINE_REPLACE
LINE_DELETEUse LINE_APPEND, not APPEND_LINE.
Bulk Output Contains Unexpected Changes
Review the command order.
Each command operates on the results of previous commands.
Line numbers can therefore change as lines are inserted or deleted.
Bulk Output Changes Line Endings
The bulk processor joins transformed lines using LF (\n).
Original CRLF line endings may be normalized.
Bulk Processing Takes Too Long
Processing performance depends on:
- Number of files
- File sizes
- Number of commands
- Available memory
- Browser performance
- Directory access method
- ZIP generation overhead
Try processing a smaller directory or reducing the number of commands.
Direct Directory Saving Is Unavailable
Your browser may not support the required File System Access APIs.
ETWriter provides a ZIP-download fallback for bulk processing where supported.
ZIP Generation Fails
The fallback depends on JSZip.
Check whether the library was successfully loaded and whether sufficient memory is available.
The Output Folder Already Exists
ETWriter creates or accesses the specified output folder.
Existing files with matching paths may be overwritten during direct-write processing.
Choose a different output folder or preserve backups.
Known Implementation Limitations
The supplied implementation has several behaviors worth understanding.
| Area | Limitation |
|---|---|
| Text encoding | UTF-8-oriented |
| Bulk matching | Literal, case-sensitive matching |
| Bulk regex | Not supported |
| Bulk line endings | May normalize to LF |
| Hex parsing | Permissive extraction of hexadecimal pairs |
| Syntax highlighting | Depends on loaded CodeMirror modes |
| Automatic saving | Not implemented |
| Bulk undo | Not implemented |
| Bulk output | Only eligible text files included |
| Purge Data | Best-effort cleanup, not guaranteed secure erasure |
Recommended Practices
Preserve Originals
Keep copies of important files before editing, especially binary files.
Test Bulk Commands
Run commands against a small example directory before processing an entire project.
Verify Output
Inspect saved files to ensure that the changes were applied correctly.
Use Appropriate Tools
ETWriter provides text editing, hexadecimal editing, and bulk transformation functionality. It is not a substitute for specialized file-format validators, compilers, or secure data-erasure software.
Respect Browser Permissions
Grant only the file and directory access necessary for your current operation.
Reporting Issues
When reporting a problem, include:
- The selected ETWriter mode
- Your browser and operating system
- The affected file type
- The operation attempted
- Any error message
- A minimal reproducible example
Avoid including confidential file contents, credentials, or personal information in reports.
Updated 9 days ago
