Settings
Settings
User preferences, account management, data management, and app configuration
Overview
The Settings panel is the central hub for configuring Cine Power Planner. Manage your account, tune the interface, back up your data, configure cloud sync, and set up automation rules.
Requirements
Functional Requirements
| ID | Requirement | Acceptance Criteria | Priority | Source |
|---|---|---|---|---|
| REQ-SET-001 | The system shall provide a tabbed settings panel with tabs: General, Workflow, Account, Security & Privacy, Accounting, Backup & Data, Support | Open Settings → the tab bar shows all 7 tabs (Accounting only for entitled accounts); click each → the panel swaps to that tab; active tab highlighted | Must | SettingsTabs.jsx |
| REQ-SET-002 | The system shall support theme selection (Light, Dark, Pink, System) with immediate preview | Click Dark → UI switches immediately; click Pink → the accent palette swaps; click System → follows OS preference; theme persists on reload | Must | AppearanceSection |
| REQ-SET-003 | The system shall support language selection with i18n translations (English, German) | Select German → all UI text switches to German; select English → reverts; persists on reload; all strings translated | Must | AppearanceSection |
| REQ-SET-004 | The system shall support unit preference (Metric / Imperial) affecting weight and distance display | Toggle Metric → weights show kg; toggle Imperial → weights show lbs; change persists on reload; all weight fields update | Must | settings |
| REQ-SET-005 | The system shall support full data export (JSON backup) and import/restore | Go to Backup → click Export → valid JSON downloads with all DB tables; click Import → upload JSON → DB state fully restored | Must | settings |
| REQ-SET-006 | The system shall support currency format selection for cost displays | Select EUR → costs show € symbol; select USD → costs show $; format persists on reload; all cost fields update | Should | settings |
| REQ-SET-007 | The system shall display current app version, storage usage, and sync status in Settings | Open Settings → version shown matching package.json; storage bar shows used/total; sync status badge reflects state | Must | settings |
| REQ-SET-008 | The system shall provide a "Reset to Defaults" option for each settings category | Click "Reset to Defaults" → confirmation dialog; confirm → settings revert to factory defaults for that category | Should | no per-category source — see note below |
| REQ-SET-009 | The system shall allow clearing local storage and cache from the Data Management section | Clear cache → storage freed; confirmation dialog shown; app remains functional post-clear | Must | settings |
| REQ-SET-010 | The system shall display a storage health panel: IndexedDB availability, OPFS availability, quota usage %, and a healthy/needs-attention badge | Navigate to Backup & Data → Storage → panel renders; bar tints amber at 70 %+, red at 90 %+; healthy badge flips at 80 % | Should | StorageHealthPanel |
| REQ-SET-011 | The system shall run a 5-category data integrity check (structure, IDs, references, content, maintenance) and offer in-place repair without dropping entities | Click Verify → 5-category report rendered; click Repair → fixes applied (clears bad FKs, generates missing IDs, resets invalid enum values); export diagnostic data button downloads a JSON bundle for support | Should | dataIntegrityService |
| REQ-SET-012 | The system shall detect private/incognito browsing mode and warn about limited storage persistence | Private mode detected → warning banner shown; features still work; banner dismissible | Should | privacyModeDetector |
| REQ-SET-013 | The system shall provide an onboarding tour for first-time users via the TourContext | First login → tour starts; steps highlight key UI areas; skip → tour ends; progress saved | Should | TourContext |
| REQ-SET-014 | (Planned) A Plan Health and Telemetry dashboard for monitoring AI plan quality | Not yet shipped. Plan-page health metrics live inside the Plan feature itself (regen workflow + quality panel inline); no dedicated route or settings tab exists at v0.209.0. | Could (planned) | no concrete source yet |
Note (2026-09-08): REQ-SET-008 ("Reset to Defaults" for each settings category) is not shipped as stated. Three isolated resets exist — Auto Gear rules, banking match weights, and dashboard widgets — and no other category has one. The only app-wide revert is Factory Reset (
useFactoryReset, two-stage confirmation), which clears data rather than restoring defaults for a category. The row is retained as planned scope.
Non-Functional Requirements
| ID | Requirement | Metric | Priority |
|---|---|---|---|
| NFR-SET-001 | Settings page shall load within 200ms | Load time | Should |
| NFR-SET-002 | Theme toggle shall apply instantly without page reload | UX | Must |
Data Requirements
- Settings store: Persisted in localStorage (obfuscated) + cloud sync
- Theme:
data-themeattribute on root element; CSS custom properties (--v2-*) - Language: Stored as locale code (e.g.,
en,de); drivest()function - Backup files: Exported as JSON containing all IndexedDB stores
Constraints & Limits
- Available to all tiers (Free and Pro)
- Backup export includes all local data (projects, contacts, templates, owned gear, settings)
- Import merges the backup into your existing data without overwriting it (a pre-import safety snapshot is written to OPFS)
Offline Behavior
- All settings changes work offline
- Theme, language, and unit changes apply immediately without network
- Cloud sync settings require connectivity to verify account status
Dependencies
- Requires: Authentication — account settings require auth
Accessing Settings
Click Settings in the sidebar or press Cmd/Ctrl + K and type "Settings".
Settings Tabs
These are the tabs. There is no Appearance, Cloud Sync, Notifications, Auto Gear or Providers tab — this guide listed all five as top-level tabs until 2026-09-08. Four of them are sections inside another tab; Providers does not exist at all. Sections are reachable by scrolling the tab, by the scroll-spy nav on the right, or straight from ⌘K, which indexes every one of them as "Settings → Tab → Section".
| Tab | Sections |
|---|---|
| General | Appearance · Notifications · Calendar · Advanced |
| Workflow | Editor · Auto Gear · Export Defaults · Camera Colors · Sub-Rentals |
| Account | Profile · Signature & Branding · Billing & Issuer Details · Subscription · AI Integration · Collaboration |
| Security & Privacy | Email & Password · Two-Factor Authentication · Sessions & Devices · Agent access · Privacy & Legal · Danger Zone |
| Accounting | Its own 15-page sub-nav — see below |
| Backup & Data | Storage · Backup · Auto Backups · Cleanup · Data Integrity · Sync · Preferences Export · Factory Reset |
| Support | Bug Report · System Info |
General
- Appearance — Theme (Light / Dark / Pink, or System) and Language (English or German).
Both are also reachable without opening Settings: at the bottom of the sidebar, and from the
command palette (
Cmd/Ctrl + K→ "theme"). On the collapsed sidebar rail the three theme buttons become a single small dropdown showing the theme you are on, sitting beside the language selector just above the Privacy / Terms icons. - Notifications — Undo/Redo toast + duration, browser-notification preferences, and the Email Notifications toggles. See Notifications
- Calendar — Import Calendar / Export Calendar (ICS). Live subscription feeds live on the calendar page itself, under ICS Feeds
- Advanced — Hard refresh: clear offline caches and reload the app from scratch
Workflow
- Editor, Export Defaults, Camera Colors, Sub-Rentals — gear-list and export defaults
- Auto Gear — global auto gear rules. See Auto Gear Rules
Account
- Profile — sign in / sign up, profile picture, and profile details (Display Name, Role, Company, Phone Number, Address, Bio, Certifications, Licences)
- Signature & Branding — saved signature and the brand logo / accent colour used on PDF exports
- Billing & Issuer Details — currency preference and issuer details for accounting documents
- Subscription — plan status, Upgrade to Pro, Manage Subscription. See Billing
- AI Integration — bring-your-own-key AI providers. See AI Integration
- Collaboration — enable collaboration and handle pending invites
Security & Privacy
- Email & Password, Two-Factor Authentication — see Authentication.
An Encryption section sits between them only where the build sets
VITE_ENABLE_PASSWORD_ENCRYPTION; it is off by default and most installs never show it - Sessions & Devices — active sessions, this device's id, and a read-only Sync status row. Sync itself has no on/off switch; it runs whenever you are signed in and online
- Agent access — MCP connection keys. See MCP Server
- Privacy & Legal — cloud-sync consent state and withdrawal, DSGVO data export, Anonymize contact (DSGVO § 17), GoBD Z3 export, open-source licences
- Danger Zone — Delete Account
Support
- Bug Report — subject, description, steps to reproduce, screenshots
- System Info — app version, build and diagnostics
Backup & Data
This tab is split into eight sub-sections (scroll-spy navigation on the right):
1. Storage
- Project / template / device counts and a summary storage-used bar.
- Storage Health panel: IndexedDB availability, OPFS availability, exact
MB used / MB quotaplus percentage, and an overall "healthy / needs attention" badge. Click Refresh to re-poll. Auto-refreshes every 30 seconds while the panel is open.
2. Backup
- Download full backup — JSON of everything, written to your downloads folder.
- Import full backup — merges a JSON file into your local data without overwriting.
- Restore from device backup — applies the latest OPFS auto-backup.
- Cloud backups — shows safety backups uploaded during sync conflict resolution. Each can be downloaded or restored. Online-only.
- Browse device backups — per-project auto-backup history; any snapshot can be restored.
3. Auto Backups
- Show auto backups toggle for the dashboard surface.
- Auto backup retention (hours) — the field accepts 1–168 and starts at 24 (one day); 168 is
its maximum, not its default. Daily snapshots are kept for 90 days regardless (
DAILY_RETENTION_DAYS).
4. Cleanup
- Clear orphaned items — removes contacts not used by any project / company / owned gear (profile and production-company contacts always preserved) and custom devices not used or favorited.
- Clear old auto-backups — drops auto-backups older than the retention window.
- Clear browser cache — clears the browser cache and resets the app shell.
5. Data Integrity
- Verify — runs all five integrity checks (state structure, entity IDs, references, content, maintenance schedules) and shows a summary plus per-category issue list.
- Repair — applies in-place fixes. Clears bad foreign keys, generates missing IDs, resets invalid enum values, fills missing entity names. Never drops entities — the only deletion path is Cleanup above.
- Export Diagnostic Data — downloads the full state plus the verification result as JSON for support requests.
6. Sync
- Live sync status badge (Idle / Syncing / Offline / Error).
- Reset Sync (destructive) — clears local sync metadata and baselines. Use only to recover from persistent sync errors; can cause temporary data duplication if conflicts exist at the moment of the reset.
7. Preferences Export
- Export your settings (theme, units, currency, custom rules, etc.) separately from your project data.
8. Factory Reset
- Run factory reset → confirm twice (Continue, then type
RESET). Downloads a full backup, wipes all user data (every IndexedDB, OPFS, localStorage, cookies, caches, service workers), then reloads with a cache-buster. Confirm reads Resetting… and the dialog is inert while it runs; cancelling the backup download cancels the reset. - Two things are preserved on purpose: free-tier counters (
_gl_sys) and the encryption salt (gle_entity_encryption_salt_v1), so paywall progress and old cloud-encrypted backups survive.
Accounting
Currently gated to owner accounts in production (per v0.223.8) — dev / staging shows the tab to all users. Lifts when the Accounting surface goes GA. See Accounting (Expense Tracking) for the full feature documentation.
The Accounting tab is a sub-router with its own 15-page nav — Companies, Products, Templates, Numbering, Email defaults, Invoice settings, Categories, Banking, Cash registers, E-invoice inbox, Recurring invoices, sevDesk-Import, Dunning, Quote settings, Quote templates. Its Categories page manages your expense-tracking categories. On first sign-in the app seeds 28 German SKR04 categories tailored for film production. Each row carries:
- DE / EN labels — bilingual, both editable
- SKR04 code — optional, DATEV-compatible numeric identifier (e.g.
6663Reisek. Verpflegung,6822Bewirtungskosten geschäftlich) - Default tax rate —
0 % / 7 % / 19 %(UStG-Sätze) - Anlage EÜR line badge (
EÜR Z<n>) — where the category lands on the EÜR form for tax filing - UStVA Kennziffer badge (
UStVA KZ <key>) — Vorsteuer-Kennziffer for the monthly / quarterly UStVA filing (66standard,84+67§ 13b reverse-charge,nullfor VAT-exempt) - Deductibility % badge (only shown when
< 100 %) — Betriebsausgabe-Abzug;70 %on Bewirtungskosten per § 4 Abs. 5 EStG Nr. 2
Available actions:
- Edit any built-in row — change label, tax rate, EÜR line, UStVA Kennziffer, deductibility %. The migration backfill preserves your customizations the next time the app pulls in new built-ins.
- Hide built-ins you don't use — they stay in storage but stop appearing in pickers. Toggle Show hidden to bring them back.
- Add custom category — create your own row with arbitrary code / labels / metadata. Customs are hard-deletable.
- Restore default categories — non-destructive merge. Re-applies the SKR04 defaults; existing categories are not modified, only missing built-ins are appended. Use after a major release that adds new built-ins, or to restore a row you hid.
Tips
- Export regularly: Create JSON backups before major changes
- Match OS theme: Use "System" theme to follow your device's dark/light mode
- Set language early: Changing language reloads the UI
- Check storage: Monitor IndexedDB usage if you have many projects with large gear lists
Related Documentation
- Authentication
- Notifications
- Auto Gear Rules
- Provider System
- Accounting (Expense Tracking) — full feature documentation for the Accounting tab
- User Guide
Last Updated: 2026-09-08 Version: 0.790.2
