---
title: "User settings pages"
description: "A user settings page is an app-owned tab inside Account Settings. It is modal-local and appears only when Core has an explicit active workspace where the app is installed, enabl…"
url: "https://sotaagents.ai/manual/developer-guide/user-settings-pages"
generated_by: "sotaagents-ldp"
docs_index: "https://sotaagents.ai/manual/llms.txt"
locale: "en"
---

# User settings pages

A user settings page is an app-owned tab inside Account Settings. It is modal-local and appears only when Core has an explicit active workspace where the app is installed, enabled, and admitted.

YAML

```
contributes:
  ui:
    - id: user-settings
      kind: nativeModule
      surface: page
      slot: user.settings.tab
      label: Reports preferences
      icon: settings
      route: /reports/user-settings
      module:
        entry: dist/ui/app.js
        export: UserSettings
        styles: dist/ui/app.css
```

Core reads the projected page placement and mounts its exact contribution; the semantic route is not written to the browser URL. Only the selected tab is mounted, so switching tabs or closing Settings aborts scoped requests and runs disposers. Keep drafts in app-owned storage when they must survive unmounting. Every backend mutation must authorize the signed invocation identity; tab visibility is not a security boundary.
