Settings Screen UI/UX Design
The Settings screen in FEN is the central hub for managing the user's cryptographic identity, storage backends, and local data footprint. Because FEN is local-first and heavily relies on cryptography, the settings must be intuitive while exposing powerful underlying controls.
1. Identity & Security (Top Section)
This section manages the Ed25519 keypair that defines the user.
- Current Identity Card:
- Displays a visual avatar (e.g., identicon generated from pubkey) and the user's display name.
- Shows a shortened version of the Public Key.
- Backup & Recovery:
- iCloud / Local Storage Backup (v1 Default): Toggle to automatically back up the encrypted identity. Restoring from iCloud is the primary method for transferring identities between devices.
- Recovery Phrase: Button to reveal the 12-word BIP-39 mnemonic (requires biometric authentication).
- Transfer via QR Code (v2): Generates a QR code of the encrypted keypair so another device can scan and import it. (Deferred to v2).
- App Security:
- Biometric Unlock: Toggle to require FaceID / Fingerprint to open the app.
2. Storage Configuration
This section controls where the app reads and writes its S3 data.
- Provisioner URL:
- A text input field. Defaults to the user's previously saved URL. This allows users to point the app to their own self-hosted FEN Provisioner on their NAS.
- Bring Your Own S3 (v2):
- Completely hidden in v1. In v2, this will expose raw S3 credentials and auto-purge options.
3. Notifications
Manages how the app alerts the user to new expenses and group events.
- Global Notifications Toggle: Enable or disable push notifications entirely.
- Notification Types: Toggles for "New Expenses", "Settlements", and "Group Invites".
4. Data & Storage Management
This section gives the user visibility into their local storage footprint and Cold Archives.
- Local Storage Usage:
- Visual breakdown: Active Groups Cache vs. Cold Archives vs. Media/Receipts.
- Cold Archives Management:
- A list of all locally archived groups.
- Tapping a group allows the user to export the archive (zip) or permanently delete it from the device.
- Clear Cache: Button to wipe the local cache of active groups (forces a re-download from S3 on next open).
5. General Preferences
- Theme: System / Light / Dark.
- Default Currency: Sets the default currency when creating a new group.
- Developer / Debug Mode (Visible by default in v1):
- Shows detailed sync logs, raw S3 connection status, backend latency, and manual force-sync buttons.