| CORS | CORSOptions (Enabled, AllowOrigins, AllowHeaders, AllowMethods) | Off by default. Preflight OPTIONS requests are answered automatically once enabled. |
| Stats companion | ServerStats: TsgcHTTPServerStats | Attach a stats component and every request is counted and timed without touching route handlers. |
| Tenancy companion | Tenancy: TsgcHTTPServer_Tenancy, Tenant | Attach a tenancy component to resolve the caller's tenant; Tenant reads the result for the current request. |
| Request counters | TotalRequests, Status1xx to Status5xx | On TsgcHTTPServerStats. Counted per status class as responses are sent. |
| Latency | LatencyMinMs, LatencyAvgMs, LatencyMaxMs | Tracked per request on TsgcHTTPServerStats, reset with Reset. |
| Metrics endpoint | GetMetricsText, IsMetricsRequest | Prometheus text exposition format 0.0.4, served at /metrics. |
| Health endpoint | GetHealthJSON, IsHealthRequest | JSON health payload served at /health, includes UptimeSeconds and ActiveConnections. |
| Per-endpoint stats | GetEndpointStats, Endpoints | One path/count pair per endpoint, for a report or an admin console. |
| Tenant resolution | Resolution, ResolveTenant | On TsgcHTTPServer_Tenancy. Resolves by host suffix, path segment, header or JWT claim. |
| Tenant sources | HostSuffix, PathSegmentIndex, HeaderName, ClaimName, DefaultTenant | The source read for the configured Resolution mode, and the fallback when it yields nothing. |
| Custom resolution | OnResolveTenant | Override or extend the built-in resolution logic. |
| User accounts | AddUser, DeleteUser, FindUser, ValidateCredentials, SetPassword, EnableUser, UserExists | On TsgcHTTPServer_Users. Salted, hashed credentials, never returned in plain form. |
| Roles | AddRole, RemoveRole, UserHasRole, GetUserRoles | Free-form role tags per account, checked from a route handler. |
| Enumeration | Count, GetUserCount, GetUserByIndex, GetUsernames | Read-only views for a report or an admin console; password hash and salt are never included. |
| Persistence | LoadUsers, SaveUsers, SaveToFile, LoadFromFile, ExportUsers, ImportUsers | Storage.EncryptAtRest encrypts the store; OnLoadUsers/OnSaveUsers swap in a custom backend. |
| Events | OnStats, OnResolveTenant, OnValidateCredentials, OnFindUser, OnException | One event per companion for the cases the built-in logic does not cover. |