FluxFlow.Components.Secrets
1.0.0
See the version list below for details.
dotnet add package FluxFlow.Components.Secrets --version 1.0.0
NuGet\Install-Package FluxFlow.Components.Secrets -Version 1.0.0
<PackageReference Include="FluxFlow.Components.Secrets" Version="1.0.0" />
<PackageVersion Include="FluxFlow.Components.Secrets" Version="1.0.0" />
<PackageReference Include="FluxFlow.Components.Secrets" />
paket add FluxFlow.Components.Secrets --version 1.0.0
#r "nuget: FluxFlow.Components.Secrets, 1.0.0"
#:package FluxFlow.Components.Secrets@1.0.0
#addin nuget:?package=FluxFlow.Components.Secrets&version=1.0.0
#tool nuget:?package=FluxFlow.Components.Secrets&version=1.0.0
FluxFlow.Components.Secrets
Reusable secret reference and resolution contracts for FluxFlow.
Purpose
This package lets component packages refer to secret values by name without coupling to a concrete secret store. Hosts decide where values live, how access is controlled, how values are refreshed, and how ownership is handled.
Contracts
SecretReference: a name plus optional version, kind, and attributes.SecretDescriptor: non-sensitive metadata for a declared secret.SecretValue: resolved value wrapper with redacted string formatting.ISecretResolver: runtime abstraction for resolving a reference.SecretResolveResult: resolved value or structured diagnostic.SecretOptionReference: an option path plus optional secret reference.SecretOptionResolver: helper for resolving required or optional secret option references through a host-provided resolver.SecretOptionResolution: option-level resolved value, missing state, or structured diagnostic.SecretDiagnostic: stable diagnostics for missing, duplicate, ambiguous, kind mismatch, denied, failed, and invalid secret references.SecretRedactor: helper for redacting text and sensitive attribute values.
Example
using FluxFlow.Components.Secrets;
using FluxFlow.Components.Secrets.Contracts;
var resolver = new InMemorySecretResolver(
[
new SecretRecord
{
Descriptor = new SecretDescriptor
{
Name = new SecretName("primary-token"),
Kind = "profile"
},
Value = new SecretValue("value-from-host")
}
]);
var result = await resolver.ResolveAsync(new SecretReference
{
Name = new SecretName("primary-token"),
Kind = "profile"
});
Console.WriteLine(result.Resolved);
Console.WriteLine(result.Value);
Component Options
Component option models should store references, not resolved values:
using FluxFlow.Components.Secrets;
using FluxFlow.Components.Secrets.Contracts;
public sealed record SenderOptions
{
public SecretReference? Credential { get; init; }
}
var optionResult = await SecretOptionResolver.ResolveRequiredAsync(
hostResolver,
options.Credential,
"credential",
cancellationToken);
if (!optionResult.Resolved)
{
Console.WriteLine(optionResult.Diagnostic);
return;
}
var credential = optionResult.Value.Reveal();
The component owns its option shape and error handling. The host owns the resolver implementation and decides where the value comes from.
Diagnostics
Use SecretDiagnostics to:
- validate secret records and references
- validate option references
- find duplicate declarations
- find references that cannot be resolved
Secret declarations are unique by name plus optional version. When multiple
versions exist, callers should provide Version or another narrowing field
such as Kind.
Boundaries
This package does not own concrete secret storage. It only defines neutral contracts and helper logic. Hosts own persistence, access control, refresh, rotation, auditing, and disposal.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
-
net8.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on FluxFlow.Components.Secrets:
| Package | Downloads |
|---|---|
|
FluxFlow.Components.Configuration
Reusable configuration validation report helpers for FluxFlow. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.6.1 | 166 | 7/3/2026 |
| 1.6.0 | 160 | 7/2/2026 |
| 1.1.0 | 428 | 6/12/2026 |
| 1.0.0 | 155 | 6/4/2026 |
| 0.2.0-alpha.1 | 248 | 6/3/2026 |
| 0.1.0-alpha.1 | 82 | 6/3/2026 |
Stable 1.0.0 component package boundary for FluxFlow.Engine 1.0.0 with package-owned contracts, neutral diagnostics, and release readiness documentation.