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.

OperationProcessing Method
Text EditingBrowser text editor
Syntax HighlightingCodeMirror
Hex EditingBrowser byte arrays
Bulk Text ProcessingJavaScript text transformations
ZIP GenerationJSZip
File SavingBrowser 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

  1. Click Purge Data.
  2. Review the confirmation prompt.
  3. Confirm the operation.
  4. Allow the application to clear available data and reload.

The operation is intended to reset the local browser session.

Data Targeted by Purge

DataAttempted Action
Form inputsClear values
Text areasClear values
Select controlsReset selections
Displayed code and outputClear text
ClipboardAttempt to write an empty string
localStorageClear accessible entries
sessionStorageClear accessible entries
IndexedDBAttempt to delete databases
Cache StorageDelete accessible caches
Service workersAttempt to unregister
CookiesExpire accessible cookies
Tracked object URLsRevoke 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:

  1. Check the language selector.
  2. Choose the language manually.
  3. Reload the page.
  4. 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:

  1. An output filename has been entered.
  2. The browser allows downloads or saving.
  3. You have permission to write to the selected destination.
  4. 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_DELETE

Use 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.

AreaLimitation
Text encodingUTF-8-oriented
Bulk matchingLiteral, case-sensitive matching
Bulk regexNot supported
Bulk line endingsMay normalize to LF
Hex parsingPermissive extraction of hexadecimal pairs
Syntax highlightingDepends on loaded CodeMirror modes
Automatic savingNot implemented
Bulk undoNot implemented
Bulk outputOnly eligible text files included
Purge DataBest-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.


Did this page help you?