Skip to main content

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.