> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encoreos.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Settings consistency tracker

> Purpose: Inventory of settings surfaces, route guards, hub discoverability, and migration status. Owning doc: settings-pattern-guide.md · Primitives: src/platf…

**Purpose:** Inventory of settings surfaces, route guards, hub discoverability, and migration status.\
**Owning doc:** [settings-pattern-guide.md](/development/settings-pattern-guide) · **Primitives:** `src/platform/settings/`

## Legend

| Status       | Meaning                                                                     |
| ------------ | --------------------------------------------------------------------------- |
| compliant    | Uses `SettingsPageLayout` + `SettingsPageHeader` + loading/error primitives |
| partial      | Mixed patterns; scheduled follow-up                                         |
| exception    | Not a module settings page (e.g. user self-service); different template OK  |
| needs-review | Verify permission + UX                                                      |

## Core module settings (`/{core}/settings`)

| Route          | Page           | Status    | Route `RequirePermission` |
| -------------- | -------------- | --------- | ------------------------- |
| `/cl/settings` | CLSettingsPage | compliant | `cl.admin`                |
| `/pm/settings` | PMSettingsPage | compliant | `pm.settings.view`        |
| `/ce/settings` | CESettingsPage | compliant | `ce.admin`                |
| `/hr/settings` | HRSettingsPage | compliant | `hr.settings.admin`       |
| `/fw/settings` | FWSettingsPage | compliant | `fw.settings.manage`      |
| `/fa/settings` | FASettingsPage | compliant | `fa.settings.admin`       |
| `/fm/settings` | FMSettingsPage | compliant | `fm.admin`                |
| `/gr/settings` | GRSettingsPage | compliant | `gr.admin`                |
| `/lo/settings` | LOSettingsPage | compliant | `lo.settings.admin`       |
| `/rh/settings` | RHSettingsPage | compliant | `rh.settings.admin`       |
| `/it/settings` | ITSettingsPage | compliant | `it.settings.admin`       |

## HR sub-settings (admin)

| Route                            | Page                 | Status    | Route guard           |
| -------------------------------- | -------------------- | --------- | --------------------- |
| `/hr/payroll/tax-forms/settings` | TaxFormsSettingsPage | compliant | `hr.payroll.admin`    |
| `/hr/everify/settings`           | EverifySettingsPage  | compliant | `hr.everify.config`   |
| `/hr/availability`               | —                    | compliant | `hr.scheduling.admin` |

## PM sub-settings

| Route                      | Page                   | Status    | Route guard               |
| -------------------------- | ---------------------- | --------- | ------------------------- |
| `/pm/settings/scrub-rules` | ScrubRulesSettingsPage | compliant | `pm.settings.scrub_rules` |
| `/pm/settings/room`        | PMRoomSettingsPage     | compliant | `pm.settings.view`        |

## CE sub-settings

| Route                              | Page                           | Status    | Route guard |
| ---------------------------------- | ------------------------------ | --------- | ----------- |
| `/ce/settings/calendar-connection` | CalendarConnectionSettingsPage | compliant | `ce.admin`  |
| `/ce/settings/pipeline-tracks`     | PipelineTracksSettingsPage     | compliant | `ce.admin`  |

## TR module settings

| Route                 | Page                            | Status    | Route guard         |
| --------------------- | ------------------------------- | --------- | ------------------- |
| `/tr/settings/vendor` | TranscriptionVendorSettingsPage | compliant | `it.settings.admin` |

## Platform `/settings/*`

### Hub + overview

| Route                       | Page                 | Status    | Hub card |
| --------------------------- | -------------------- | --------- | -------- |
| `/settings`                 | SettingsHub          | exception | —        |
| `/settings/overview`        | SettingsOverviewPage | compliant | ✅        |
| `/settings/modules`         | PlatformModulesPage  | compliant | ✅        |
| `/settings/getting-started` | GettingStartedPage   | compliant | ✅        |
| `/settings/about`           | AboutPage            | compliant | ✅        |

### Security & identity

| Route                    | Page                 | Status    | Hub card             |
| ------------------------ | -------------------- | --------- | -------------------- |
| `/settings/security`     | SecuritySettingsPage | compliant | ✅                    |
| `/settings/security/sso` | SsoSettingsPage      | compliant | ✅ (added 2026-06-02) |
| `/settings/entra-id`     | EntraIDSettingsPage  | compliant | ✅                    |

### Integrations

| Route                                     | Page                        | Status    | Hub card |
| ----------------------------------------- | --------------------------- | --------- | -------- |
| `/settings/integrations`                  | IntegrationsPage            | compliant | ✅        |
| `/settings/integrations/gmail`            | GmailSettingsPage           | compliant | ✅        |
| `/settings/integrations/google-workspace` | GoogleWorkspaceSettingsPage | compliant | ✅        |
| `/settings/integrations/ringcentral`      | RingCentralSettingsPage     | compliant | ✅        |

### Gestures & preferences

| Route                          | Page                   | Status    | Hub card             |
| ------------------------------ | ---------------------- | --------- | -------------------- |
| `/settings/gestures`           | GesturePreferencesPage | compliant | ✅                    |
| `/settings/gestures/analytics` | GestureAnalyticsPage   | compliant | ✅ (added 2026-06-02) |

### Data

| Route                      | Page              | Status    | Hub card |
| -------------------------- | ----------------- | --------- | -------- |
| `/settings/data-migration` | DataMigrationPage | compliant | ✅        |

## Automation

Run: `npm run audit:settings-consistency`\
Extended in 2026-06-02 pass to also scan `src/platform/settings/**` for shell/header/aria-label conformance.

## Changelog

* **2026-06-02:** Full remediation pass (P0–P2). All PF settings pages migrated to `SettingsPageLayout` + `SettingsPageHeader`. Sub-routes for PM, CE, HR, TR added to tracker. SSO hub card added. GestureAnalytics hub card added. Audit script extended to cover PF settings. Tab URL-sync (`useTabUrlState`) applied to HR, FA, EntraID, ScrubRules. Unsaved-changes guard (`isDirty`) wired on CE, GR, FM, LO, RH, FA settings pages.
* **2026-04-13:** Initial tracker + route guards + hub extensions + shared settings primitives.
