Skip to content

Settings

All user-level configuration lives in the Profile Settings modal — implemented in frontend/src/components/ProfileSettingsModal.jsx and reachable from the user-menu avatar in the header. Four tabs.

Profile

profile.* keys in frontend/src/i18n/en.json.

  • Operator name — your display name in the workspace.
  • Avatar — uploadable image, with a default initials avatar.
  • Nickname — used for AI chat addressing and shared permalinks.
  • Email — login identity. Changing it triggers a verification mail; the new address only becomes the login after confirmation.

Appearance

appearance.* and a few localization.* keys.

SettingValues
Color themeDark, Light
DensityCompact, Comfortable
LanguageEN, DE, ES, FR, RU, ZH (in-app UI; docs are English-only)
TimezoneIANA tz database

The timezone setting affects every panel that renders timestamps — quotes, news, alerts, timeline. Stored server-side so it follows you across devices.

Security

security.* keys. Covers password and 2FA management.

Change password

Standard flow: current → new → confirm. The form rejects mismatch before submit and surfaces server-side strength validation. Success returns to the form with passwordUpdated confirmation.

Two-factor authentication

2FA uses a TOTP authenticator app (Google Authenticator, 1Password, Authy, etc.). Enabling 2FA:

  1. Click Enable 2FA.
  2. Scan the QR code or enter the secret manually.
  3. Confirm with a 6-digit code from your authenticator.
  4. Save the recovery codes shown — they're shown once and never again.

Disabling 2FA requires the current password plus a fresh TOTP code. The status badge (security.twoFaEnabled / security.twoFaDisabled) reflects the current state.

For the OSINT-focused threat model around account isolation and session hygiene, see the OSINT operational security guide.

Subscription

subscription.* keys. Powered by Stripe via backend/routes/subscriptions.py and backend/routes/stripe_webhook.py.

  • Current plan — name, status, renewal date.
  • Usage — feature flags lit for your tier (realtime, OSINT, alerts, export).
  • Manage — opens the Stripe customer portal for invoices, payment methods, plan changes, cancellation.
  • See all plans — links to the pricing page.

Account deletion

Reachable via Delete account in the user menu. Two-step confirm. Deletion is hard — portfolios, watchlists, alerts, and saved screens are all removed. There's no soft-delete grace period at present.

Released under the project license. Public sources only — no proprietary or restricted data.