---
id: UJ-005
title: Manage profile, preferences, notifications, and sessions
actors: [any tenant staff user]
surface: app.zync.is/profile and app.zync.is/settings
goal: Keep personal identity, security, notification, and display preferences current.
trigger: Authenticated user opens profile or settings.
preconditions:
  - Active tenant session.
success_state: Updated preferences/security state is persisted and reflected in the current session/UI.
source_specs:
  - docs/specs/2026-05-30-settings-module.md
  - docs/specs/2026-05-31-staff-portal-detail.md
  - docs/specs/2026-05-31-notification-preferences.md
  - docs/specs/2026-05-31-session-security.md
  - docs/specs/2026-06-01-settings-time-tracking.md
  - docs/specs/2026-05-31-timezone-handling.md
---

## Happy path

1. User opens profile → views/edits name, avatar, locale, timezone, and personal defaults.
2. User changes password, email, trusted devices, or active sessions → Zync re-authenticates when required, persists the change, and invalidates affected sessions where appropriate.
3. User opens notification preferences → selects event types and channels such as email, push, or Telegram → preferences are saved per user and tenant.
4. User changes theme, language, time zone, sidebar, dashboard, or timer defaults → the app applies the preference to future views and displays dates/times in the selected zone.

## Alternate and failure paths

- Re-authentication failure, invalid password, duplicate email, unsupported file, or stale session → reject the change without partial persistence.
- User disables a channel → no future delivery is attempted for that channel/event combination.

## Permissions and boundaries

- Personal settings are available to all staff users; tenant settings require their permissions.
- Notification preferences do not override tenant-level disabled modules or delivery configuration.

## Source specs

- `docs/specs/2026-05-30-settings-module.md`
- `docs/specs/2026-05-31-staff-portal-detail.md`
- `docs/specs/2026-05-31-notification-preferences.md`
- `docs/specs/2026-05-31-session-security.md`
- `docs/specs/2026-06-01-settings-time-tracking.md`
- `docs/specs/2026-05-31-timezone-handling.md`
