Repo
https://github.com/sparkflash-dev/spark
Context
Spark is a fork of balenaEtcher with all telemetry removed. Goal: the best OS image flasher for sysadmins who flash drives every day. Better than Rufus and Etcher combined.
Problems with Etcher (from 600+ open issues, forums, HN)
Spyware/telemetry — sends image filenames, hardware IDs to Google Analytics, Mixpanel, Sentry without consent (#2057, #2902). Tails project stopped recommending it.
Bloated — 450 MB install for a USB writer. USBImager is 300 KB.
Slow — 3 MB/s on macOS vs 20-30 MB/s with dd (#2740)
Broken on Apple Silicon — corrupts SD cards on M4 Macs (#4457)
macOS code signing issues — "will harm your computer" (#4361)
No advanced options — no MBR/GPT, no partition scheme, no persistence
No Windows ISO support — #210, 7+ years open
No backup/clone — #266
No CLI — GUI-only
Abandoned — slow response to critical bugs
Problems with Rufus
Roadmap
Phase 1: Core (v2.x) — DONE
Remove ALL telemetry (Sentry, Mixpanel, GA, auto-updater)
Remove marketing webviews (64% of window was ads)
Modern dark UI (Inter font, deep navy theme, glow effects)
Keyboard shortcuts (Ctrl+O, Ctrl+D, Ctrl+Enter, Esc, F5)
Drag & drop with visual feedback
Remove rendition dependency (lighter bundle)
zstd / .zst image support
Cancel confirmation dialog
Complete rebrand (logo, colors, bundle ID, app protocol)
Phase 2: Reliability (v3.0) — DONE
Phase 3: Power Features (v3.1-3.2) — DONE
CLI mode — spark flash, spark list, spark verify for scripting/CI
15 languages — EN, ZH-CN, ZH-TW, RU, JA, KO, DE, FR, ES, IT, PT, AR, TR, PL, HI, VI
Windows ISO detection — detect version/edition, recommend MBR/GPT and UEFI/Legacy
Persistent storage — casper-rw for Ubuntu, overlay for Fedora, persistence for Debian/Kali
Bad sector scan — optional pre-write surface scan with Quick/Standard/Thorough modes
Flash queue — sequential multi-image operations with auto-detect
Flash history — track past operations with stats
Drive health — fake capacity detection, bus type analysis, mountpoint warnings
Auto-eject — optionally eject drive after successful flash
Secure IPC — channel allowlist, sender validation, prototype pollution protection
Content Security Policy — strict CSP headers
Electron sandbox — context isolation, navigation locks
140+ unit tests — comprehensive coverage
Phase 4: Pro Features (v3.3-3.4) — DONE
Multi-boot (Ventoy-style) — multiple ISOs on one USB with GRUB boot menu
Drive backup/clone — raw image backups with gzip/zstd compression
Queue mode — flash same image to multiple drives sequentially (insert next, auto-flash)
Image library — bookmark ISOs with tags, search, usage stats
Post-flash scripts — run custom scripts after flashing (SSH key injection, hostname, WiFi config)
Plugin system — community extension framework with manifest validation and permissions
Network flash — flash from HTTP/HTTPS URL with resume support
Portable mode — run from USB with config stored alongside executable
Accessibility — ARIA labels, screen reader, high contrast themes, reduced motion, focus trap
Theme manager — dark/light theme with CSS custom properties
Shortcut manager — 12 configurable keyboard shortcuts
Notification manager — native OS notifications with action buttons
Direct I/O — bypass OS buffer cache for faster writes
Parallel verification — concurrent segment verification
Write resume — checkpoint recovery for interrupted writes
Buffer pool — prevent memory leaks during writes
Lazy loading — faster startup via deferred module loading
GitHub Actions CI — lint, test, build + automated telemetry audit
CLI backup & queue — spark backup and spark queue commands
Phase 5: Polish (v4.0) — NEXT
Phase 6: Enterprise (v5.0) — Future
Priority matrix
Impact
Effort
Feature
Status
Done
Done
Remove all telemetry
v2.1.4
Done
Done
Modern dark UI
v3.0.0
Done
Done
Checksum verification
v3.0.0
Done
Done
CLI mode
v3.1.0
Done
Done
15 languages
v3.4.0
Done
Done
Windows ISO support
v3.4.0
Done
Done
Multi-boot
v3.4.0
Done
Done
Drive backup/clone
v3.4.0
Done
Done
Queue mode
v3.4.0
Done
Done
Plugin system
v3.4.0
Done
Done
Persistent storage
v3.4.0
Done
Done
Post-flash scripts
v3.4.0
Done
Done
zstd support
v2.1.4
High
Med
Bundle size reduction
v4.0
High
Med
Native Windows ISO write
v4.0
High
High
macOS notarization
v4.0
Med
Low
Auto-updates
v4.0
Med
Med
Snap/Flatpak/AppImage
v4.0
Med
High
Fleet provisioning
v5.0
Why Spark wins
Privacy-first — zero telemetry, zero tracking, period
Cross-platform — Linux + Windows + macOS (Rufus is Windows-only)
Modern UX — clean dark UI, 12 keyboard shortcuts, drag & drop
Power features — CLI, Windows ISO, multi-boot, persistence, backup, queue, plugins, post-flash scripts
Lightweight — removed rendition and marketing, targeting < 100 MB
Open & honest — no fake password dialogs, no bundled ads, no upsells
Accessible — ARIA labels, high contrast, screen reader, reduced motion
Secure — CSP, sandbox, IPC validation, input sanitization, telemetry audit in CI
Repo
https://github.com/sparkflash-dev/spark
Context
Spark is a fork of balenaEtcher with all telemetry removed. Goal: the best OS image flasher for sysadmins who flash drives every day. Better than Rufus and Etcher combined.
Problems with Etcher (from 600+ open issues, forums, HN)
Problems with Rufus
Roadmap
Phase 1: Core (v2.x) — DONE
Phase 2: Reliability (v3.0) — DONE
Phase 3: Power Features (v3.1-3.2) — DONE
spark flash,spark list,spark verifyfor scripting/CIPhase 4: Pro Features (v3.3-3.4) — DONE
spark backupandspark queuecommandsPhase 5: Polish (v4.0) — NEXT
Phase 6: Enterprise (v5.0) — Future
Priority matrix
Why Spark wins