---
title: SAIF.NetCore.EnvironmentClient API reference
summary: Public types exposed by this library.
status: draft
owner: Framework.NCore maintainers
last_reviewed: 2026-10-02
library: SAIF.NetCore.EnvironmentClient
reference_type: package
---

# SAIF.NetCore.EnvironmentClient API reference

This library exposes 16 public types. Two internal configuration-reader types (`ClientConfigBase`, `GetHostsByTrackConfig`) are not part of the public API and are not documented here.

## Types

| Type | Kind | Namespace | Purpose |
| --- | --- | --- | --- |
| [`BaseEnvironmentClient`](saif-netcore-services-environmentclient/baseenvironmentclient.md) | class | `SAIF.NetCore.Services.EnvironmentClient` | Default `IEnvironmentClient` implementation: resolves host/track, loads non-secure settings, always denies secure-setting retrieval |
| [`SecureEnvironmentClient`](saif-netcore-services-environmentclient/secureenvironmentclient.md) | class | `SAIF.NetCore.Services.EnvironmentClient` | `BaseEnvironmentClient` subclass that is actually able to retrieve secure (crypto) settings, subject to an authorization gate |
| [`SecureSettingCache`](saif-netcore-environmentclient/securesettingcache.md) | class | `SAIF.NetCore.EnvironmentClient` | Time-based cache of secure-setting values, keyed by section+key |
| [`SecureSettingCacheItem`](saif-netcore-environmentclient/securesettingcacheitem.md) | class | `SAIF.NetCore.EnvironmentClient` | A single cached secure-setting entry |
| [`IHostResolver`](saif-netcore-services-environmentclient/ihostresolver.md) | interface | `SAIF.NetCore.Services.EnvironmentClient` | Contract for resolving the running host and whether it is a developer-machine override |
| [`HostResolver`](saif-netcore-services-environmentclient/hostresolver.md) | class | `SAIF.NetCore.Services.EnvironmentClient` | Default `IHostResolver` implementation; performs the AD `Developer_Machine_Users` check |
| [`ISystemWrapper`](saif-netcore-services-environmentclient/isystemwrapper.md) | interface | `SAIF.NetCore.Services.EnvironmentClient` | Testability seam over `Environment.MachineName` |
| [`SystemWrapper`](saif-netcore-services-environmentclient/systemwrapper.md) | class | `SAIF.NetCore.Services.EnvironmentClient` | Default `ISystemWrapper` implementation |
| [`ConfigKey`](saif-netcore-services-environmentclient-data/configkey.md) | DTO | `SAIF.NetCore.Services.EnvironmentClient.Data` | Identifies a configuration setting by track/section/key |
| [`ConfigValue`](saif-netcore-services-environmentclient-data/configvalue.md) | DTO | `SAIF.NetCore.Services.EnvironmentClient.Data` | Wraps a setting's raw string value |
| [`ConfigSetting`](saif-netcore-services-environmentclient-data/configsetting.md) | DTO | `SAIF.NetCore.Services.EnvironmentClient.Data` | Pairs a `ConfigKey` with a `ConfigValue` |
| [`ConfigurationSettings`](saif-netcore-services-environmentclient-data/configurationsettings.md) | DTO | `SAIF.NetCore.Services.EnvironmentClient.Data` | A track's full collection of `ConfigSetting` values |
| [`Track`](saif-netcore-services-environmentclient-data/track.md) | DTO | `SAIF.NetCore.Services.EnvironmentClient.Data` | An environment track and its member hosts |
| [`EnvironmentClientException`](saif-netcore-services-environmentclient-exceptions/environmentclientexception.md) | exception | `SAIF.NetCore.Services.EnvironmentClient.Exceptions` | General-purpose exception raised for client/API failures |
| [`MissingEnvironmentUrlVariableException`](saif-netcore-exceptions/missingenvironmenturlvariableexception.md) | exception | `SAIF.NetCore.Exceptions` | Raised when the `EnvironmentApiUrl` environment variable is missing at construction |
| [`ConfigSettingExtensions`](saif-netcore-services-environmentclient-extensions/configsettingextensions.md) | static class | `SAIF.NetCore.Services.EnvironmentClient.Extensions` | Typed-value conversion helpers for `ConfigSetting` |

## Related documentation
- [Index](../index.md)
- [Overview](../overview.md)
- [Architecture](../architecture.md)
- [Dependencies](../dependencies.md)
- [Configuration](../configuration.md)
- [Operations and processes](../operations-processes.md)
- [Business rules](../business-rules.md)
- [Security and authorization](../security-authorization.md)

## Sources
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/BaseEnvironmentClient.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SecureEnvironmentClient.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SecureSettingCache.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/HostResolver.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/IHostResolver.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/ISystemWrapper.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SystemWrapper.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Data/ConfigKey.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Data/ConfigValue.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Data/ConfigSetting.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Data/ConfigurationSettings.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Data/Track.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Exceptions/EnvironmentClientException.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Exceptions/MissingEnvironmentUrlVariableException.cs`
- `src/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/SAIF.NetCore.EnvironmentClient/Extensions/ConfigSettingExtensions.cs`
