---
title: SAIF.Framework.Security.EnvironmentApi API reference
summary: Index of all public types in this library.
status: draft
owner: <owner>
last_reviewed: 2026-07-23
library: SAIF.Framework.Security.EnvironmentApi
reference_type: package
---

# SAIF.Framework.Security.EnvironmentApi API reference

This page lists all public types exposed by `SAIF.Framework.Security.EnvironmentApi`. Each type links to its full API reference page.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [IEnvironmentService](SAIF.Framework.Security/IEnvironmentService.md) | Interface | `SAIF.Framework.Security` | Primary contract for environment/config/user-context access |
| [IEnvironmentServiceExtensions](SAIF.Framework.Security/IEnvironmentService.md#public-members) | Class (static, extension methods) | `SAIF.Framework.Security` | Extension methods for `EnvironmentServiceBase` (`UserId()`); documented within `IEnvironmentService.md` |
| [EnvironmentServiceBase](SAIF.Framework.Security/EnvironmentServiceBase.md) | Class | `SAIF.Framework.Security` | Abstract base implementation of `IEnvironmentService`; performs HTTP calls to the Environment API, holds the in-memory settings cache, refresh logic, and developer-machine authorization logic |
| [WebEnvironmentService](SAIF.Framework.Security/WebEnvironmentService.md) | Class | `SAIF.Framework.Security` | ASP.NET web-app environment service using `HttpContext.Current` |
| [WindowsEnvironmentService](SAIF.Framework.Security/WindowsEnvironmentService.md) | Class | `SAIF.Framework.Security` | Console/Windows-service environment service; resolves host/track from the entry assembly |
| [WcfEnvironmentService](SAIF.Framework.Security/WcfEnvironmentService.md) | Class | `SAIF.Framework.Security` | WCF service-host environment service; resolves app id/host from `RequestContext` |
| [CustomEnvironmentService](SAIF.Framework.Security/CustomEnvironmentService.md) | Class | `SAIF.Framework.Security` | Environment service for hosting contexts where the host is explicitly supplied by the caller |
| [OfficeAddinEnvironmentService](SAIF.Framework.Security/OfficeAddinEnvironmentService.md) | Class | `SAIF.Framework.Security` | Environment service for Office add-in hosting contexts; host resolved from a fixed `OfficeEnvironment` enum |
| [IWebEnvironmentService](SAIF.Framework.Security/IWebEnvironmentService.md) | Interface | `SAIF.Framework.Security` | Narrower host/client-context contract implemented by `WebEnvironmentService` |
| [EnvironmentConfigKeys](SAIF.Framework.Security/EnvironmentConfigKeys.md) | Class (static) | `SAIF.Framework.Security` | Well-known configuration key name constants (databases, web services, APIs) |
| [EnvironmentHost](SAIF.Framework.Security/EnvironmentHost.md) | Class | `SAIF.Framework.Security` | Resolves a `Uri`'s host into the naming convention expected by the Environment API |
| [ApplicationEnvironment](SAIF.Framework.Security/ApplicationEnvironment.md) | Enum | `SAIF.Framework.Security` | Deployment tier returned by `IEnvironmentService.GetApplicationEnvironment()` |
| [Constants](SAIF.Framework.Security/Constants.md) | Class | `SAIF.Framework.Security` | Holds the `GlobalSection` constant identifying the global (non-custom) configuration section |
| [MissingEnvironmentUrlVariableException](SAIF.Framework.Security.EnvironmentApi.Exceptions/MissingEnvironmentUrlVariableException.md) | Class (exception) | `SAIF.Framework.Security.EnvironmentApi.Exceptions` | Thrown when the required `EnvironmentApiUrl` OS environment variable is missing |
| [MachineSecurityService](SAIF.Framework.Security.Utilities/MachineSecurityService.md) | Class | `SAIF.Framework.Security.Utilities` | Reusable AD group-membership authorization primitive for machine/service accounts |
| [ADService](SAIF.Framework.Security.Utilities/ADService.md) | Class (internal) | `SAIF.Framework.Security.Utilities` | Internal recursive AD group-membership lookup via `System.DirectoryServices`/`AccountManagement`; not part of this library's public API surface |
| [SecurityServiceClient](ClientProxies/SecurityServiceClient.md) | Class | `ClientProxies` | Thin WCF client wrapper calling the generated `SecurityService.SecurityClient` proxy's `GetUsersByGroup` |
| [SystemHashUtil](SAIF.Services.Common/SystemHashUtil.md) | Class | `SAIF.Services.Common` | Static class generating/validating salted system hashes for secure config retrieval |
| [SystemType](SAIF.Services.Common/SystemType.md) | Enum | `SAIF.Services.Common` | System-type classification used to add uniqueness to generated system hashes |
| [ConfigurationSettings](SAIF.Core.Contracts.Core/ConfigurationSettings.md) | Class | `SAIF.Core.Contracts.Core` | In-memory container for a loaded/cached set of configuration settings and cache-freshness metadata |
| [ConfigKey](SAIF.Core.Contracts.Core/ConfigKey.md) | Class | `SAIF.Core.Contracts.Core` | Identifies a configuration setting by track, section, and key, with formatting/parsing helpers |
| [ConfigValue](SAIF.Core.Contracts.Core/ConfigValue.md) | Class | `SAIF.Core.Contracts.Core` | A single time-bounded value for a configuration setting |
| [ConfigSetting](SAIF.Core.Contracts.Core/ConfigSetting.md) | Class | `SAIF.Core.Contracts.Core` | Pairs a `ConfigKey` with its current `ConfigValue` |
| [ConfigSettingHistory](SAIF.Core.Contracts.Core/ConfigSettingHistory.md) | Class | `SAIF.Core.Contracts.Core` | Full ordered value history for a single configuration key |
| [ConfigSettingRequest](SAIF.Core.Contracts.Core/ConfigSettingRequest.md) | Class | `SAIF.Core.Contracts.Core` | DTO representing a request to persist one or more configuration settings |
| [Track](SAIF.Core.Contracts.EnvironmentApi/Track.md) | Class | `SAIF.Core.Contracts.EnvironmentApi` | DTO describing a named deployment track and its associated hosts |

<!-- Every public type (class, interface, enum, delegate) must appear in this table. -->
<!-- Every type name must be a markdown link to its documentation page. -->
<!-- Do not leave any type unlinked. -->

## Sources
- SAIF.Framework.Security.EnvironmentApi\Core\Services\IEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentServiceBase.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\WebEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\WindowsEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\WcfEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Core\Services\MachineSecurityService.cs
- SAIF.Framework.Security.EnvironmentApi\Core\Services\ADService.cs
- SAIF.Framework.Security.EnvironmentApi\Core\Services\SecurityServiceClient.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\SystemHashUtil.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\CustomEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\OfficeAddinEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\IWebEnvironmentService.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentConfigKeys.cs
- SAIF.Framework.Security.EnvironmentApi\Services.Common\EnvironmentHost.cs
- SAIF.Framework.Security.EnvironmentApi\Core\ApplicationEnvironment.cs
- SAIF.Framework.Security.EnvironmentApi\Exceptions\MissingEnvironmentUrlVariableException.cs
- SAIF.Framework.Security.EnvironmentApi\Core\Contracts\Core\Configurations\ConfigurationSettings.cs
- SAIF.Framework.Security.EnvironmentApi\Core\Contracts\Core\Configurations\ConfigSettingRequest.cs
- SAIF.Framework.Security.EnvironmentApi\Core\Contracts\EnvironmentApi\Track.cs
