--- epic: 8 story: 8.9 title: "Portable Mode" status: draft --- ## Epic 8 — Windows App (Rust + iced) **Goal:** Fast, lightweight native Windows app -- single .exe, no runtime dependencies. ### Story 8.9: Portable Mode As a **Windows user** who uses a USB drive, I want CalcPad to run in portable mode when a marker file is present, So that I can carry my calculator and all its data on a USB stick without installing anything on the host machine. **Acceptance Criteria:** **Given** a file named `portable.marker` exists in the same directory as `calcpad.exe` **When** the app launches **Then** all data (sheets, settings, configuration) is stored in a `data/` subdirectory alongside the `.exe` instead of in `%APPDATA%` **Given** `portable.marker` does NOT exist alongside the `.exe` **When** the app launches **Then** the app uses the standard `%APPDATA%\CalcPad\` directory for storage (normal installed mode) **Given** the app is in portable mode **When** the user creates sheets and changes settings **Then** all changes are written to the local `data/` directory **And** no files are written to the system `%APPDATA%` or registry **Given** the user copies the CalcPad folder (exe + portable.marker + data/) to a USB drive **When** the user runs calcpad.exe from the USB on a different Windows machine **Then** all sheets and settings from the original machine are available **Given** the app is in portable mode **When** the auto-update feature checks for updates **Then** auto-update is disabled (or updates are downloaded to the portable directory) to avoid modifying the host system