-
Notifications
You must be signed in to change notification settings - Fork 2
Branding and Customization
TMI supports several branding and customization options that allow operators to tailor the application's appearance to their organization. Some options are configured on the TMI server and delivered at runtime via the GET /config endpoint. Others are set in the web application's environment files at build time (or overridden at container startup via TMI_* environment variables). A few are per-user preferences.
| Capability | Where Configured | When Applied | Config Key |
|---|---|---|---|
| Navbar, home page, and PDF report logo | TMI server | Runtime | ui.logo_url |
| Organization name in footer | TMI server | Runtime | ui.organization_name |
| Organization URL in footer | TMI server | Runtime | ui.organization_url |
| Support link in footer | TMI server | Runtime | ui.support_url |
| Data classification label (footer and PDF) | TMI server | Runtime | ui.data_classification |
| Confidentiality warning (PDF reports only) | TMI server | Runtime | ui.confidentiality_warning |
| User directory hyperlinks | TMI server | Runtime | ui.user_hyperlink_template |
| User hyperlink provider filter | TMI server | Runtime | ui.user_hyperlink_provider |
| Default theme for new users | TMI server | Runtime | ui.default_theme |
| Suppress About link in footer | TMI-UX environment | Build time / container |
suppressAboutLink / TMI_SUPPRESS_ABOUT_LINK
|
| Suppress Privacy and ToS links in footer | TMI-UX environment | Build time / container |
suppressPrivacyTosLinks / TMI_SUPPRESS_PRIVACY_TOS_LINKS
|
| Operator name on About page | TMI-UX environment | Build time / container |
operatorName / TMI_OPERATOR_NAME
|
| Operator contact on About page | TMI-UX environment | Build time / container |
operatorContact / TMI_OPERATOR_CONTACT
|
| Operator jurisdiction on About page | TMI-UX environment | Build time / container |
operatorJurisdiction / TMI_OPERATOR_JURISDICTION
|
| Light/dark/colorblind theme | Per-user preference | Runtime | User preferences (synced to server) |
Note: The TMI server's
GET /configendpoint currently returnsui.default_themefrom the settings service. The otherui.*fields listed above (logo, organization, support, data classification, confidentiality, user hyperlinks) are consumed by the TMI-UX client when present in the response but are not yet populated by the server's settings service. Until the server is updated to populate these fields, they will have no effect.
These options are configured on the TMI server and delivered to the web application via the GET /config endpoint. Changes take effect without rebuilding the web application.
The ui.logo_url field specifies a URL to a custom logo image that replaces the default TMI logo in the navigation bar, the home page, and in generated PDF reports.
Requirements:
- Must serve
image/pngcontent type - Maximum file size: 2 MB
- The URL must be accessible from the user's browser
- The logo is pre-fetched and validated at application startup; if validation fails, the default logo is used
If no custom logo is configured, the default TMI logo is used.
The footer can display your organization's name and link:
-
ui.organization_name- Displayed as text in the page footer -
ui.organization_url- If set, the organization name becomes a hyperlink to this URL
-
ui.support_url- Adds a support link to the page footer that opens in a new tab
-
ui.data_classification- Displayed as a label in the page footer and included on the title page of generated PDF reports. Use this for classification markings such as "CONFIDENTIAL" or "INTERNAL USE ONLY". -
ui.confidentiality_warning- Included on the title page of generated PDF reports. Use this for detailed confidentiality notices or handling instructions. This field does not appear in the web application UI.
-
ui.user_hyperlink_template- A URL template for linking user display names to an external directory. The placeholder{{user.email}}is replaced with the user's email address. Example:https://directory.example.com/?email={{user.email}}. Onlyhttps://andhttp://URLs are accepted; other schemes are rejected for security. -
ui.user_hyperlink_provider- If set, user hyperlinks are only shown when the user authenticated with this specific provider ID (e.g.,azure-ad). If not set, hyperlinks apply to all users.
-
ui.default_theme- Sets the default theme for users who have not saved a personal theme preference. Accepted values areauto(follows the user's operating system light/dark setting),light, ordark. If not set, the default isauto.
These options are set in the TMI-UX environment files (e.g., src/environments/environment.prod.ts) and normally require rebuilding the web application to take effect. However, when running in a container deployment (using environment.container.ts), these values can be overridden at container startup via TMI_* environment variables. The server.js runtime serves a GET /config.json endpoint that maps TMI_* environment variables to their corresponding environment properties; the Angular app fetches this before bootstrap and patches the compiled-in defaults.
See Configuration-Reference for the full list of environment settings.
-
suppressAboutLink(env var:TMI_SUPPRESS_ABOUT_LINK) - Set totrueto hide the About link in the footer. Default:false. -
suppressPrivacyTosLinks(env var:TMI_SUPPRESS_PRIVACY_TOS_LINKS) - Set totrueto hide both the Privacy Policy and Terms of Service links in the footer. Default:false. These two links share a single toggle and cannot be hidden independently.
The About page displays operator information configured in the environment. These values are read from the build-time environment by OperatorService and are not overridden by the TMI server's GET /config response (the server's operator.name and operator.contact fields are separate and are not currently used by the About page).
-
operatorName(env var:TMI_OPERATOR_NAME) - Name of the organization operating this TMI instance. Default:'TMI Operator'. -
operatorContact(env var:TMI_OPERATOR_CONTACT) - Contact information (email, URL, or other). Default:'contact@example.com'. -
operatorJurisdiction(env var:TMI_OPERATOR_JURISDICTION) - Legal jurisdiction of the operator. Default:''(empty).
Users can choose a theme mode and a palette, which combine to produce the active theme. The available modes are:
- Automatic - follows the operating system's light/dark preference
- Light - always light
- Dark - always dark
Each mode can be combined with either palette:
- Standard palette - default color scheme
- Colorblind-accessible palette - optimized for color vision deficiency
This produces six effective combinations (e.g., Automatic + Standard, Dark + Colorblind, etc.).
Theme preferences are stored per-user, synced to the server, and cached in localStorage. When a user has no saved preference, the server-configured ui.default_theme is used (see above); if that is also unset, the default is Automatic mode with the standard palette.
- Configuration-Reference - Full configuration reference for server and web application
- Deploying-TMI-Web-Application - Web application deployment and environment setup
- Deploying-TMI-Server - Server deployment and configuration
- Using TMI for Threat Modeling
- Accessing TMI
- Authentication
- Creating Your First Threat Model
- Understanding the User Interface
- Working with Data Flow Diagrams
- Managing Threats
- Collaborative Threat Modeling
- Using Notes and Documentation
- Timmy AI Assistant
- Metadata and Extensions
- Planning Your Deployment
- Terraform Deployment (AWS, OCI, GCP, Azure)
- Deploying TMI Server
- OCI Container Deployment
- Certificate Automation
- Deploying TMI Web Application
- Setting Up Authentication
- Database Setup
- Component Integration
- Post-Deployment
- Branding and Customization
- Monitoring and Health
- Cloud Logging
- Configuration Management
- Config Migration Guide
- Database Operations
- Database Security Strategies
- Security Operations
- Performance and Scaling
- Maintenance Tasks
- Getting Started with Development
- Architecture and Design
- API Integration
- Testing
- Contributing
- Extending TMI
- Dependency Upgrade Plans
- DFD Graphing Library Reference
- Migration Instructions