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