FluxFlow.Components.Secrets 1.0.0

There is a newer version of this package available.
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
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FluxFlow.Components.Secrets" Version="1.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FluxFlow.Components.Secrets" Version="1.0.0" />
                    
Directory.Packages.props
<PackageReference Include="FluxFlow.Components.Secrets" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FluxFlow.Components.Secrets --version 1.0.0
                    
#r "nuget: FluxFlow.Components.Secrets, 1.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FluxFlow.Components.Secrets@1.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FluxFlow.Components.Secrets&version=1.0.0
                    
Install as a Cake Addin
#tool nuget:?package=FluxFlow.Components.Secrets&version=1.0.0
                    
Install as a Cake Tool

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 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • 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.