SaasSuite.Secrets
26.3.3.2
dotnet add package SaasSuite.Secrets --version 26.3.3.2
NuGet\Install-Package SaasSuite.Secrets -Version 26.3.3.2
<PackageReference Include="SaasSuite.Secrets" Version="26.3.3.2" />
<PackageVersion Include="SaasSuite.Secrets" Version="26.3.3.2" />
<PackageReference Include="SaasSuite.Secrets" />
paket add SaasSuite.Secrets --version 26.3.3.2
#r "nuget: SaasSuite.Secrets, 26.3.3.2"
#:package SaasSuite.Secrets@26.3.3.2
#addin nuget:?package=SaasSuite.Secrets&version=26.3.3.2
#tool nuget:?package=SaasSuite.Secrets&version=26.3.3.2
SaasSuite.Secrets
Abstractions and contracts for tenant-aware secret management in multi-tenant SaaS applications.
Overview
SaasSuite.Secrets provides the foundational interfaces and models for implementing secure, tenant-scoped secret management. This package contains no provider-specific dependencies, making it ideal as a shared contract between your application and various secret store implementations.
Features
- ISecretStore: Core interface for retrieving, setting, and managing secrets
- Tenant Scoping: Built-in support for tenant-specific secret namespaces
- Secret Rotation: Interfaces and events for handling secret rotation workflows
- Provider Agnostic: No dependencies on specific cloud providers
Installation
dotnet add package SaasSuite.Secrets
Usage
Define Secret Operations
using SaasSuite.Secrets.Interfaces;
public class MyService
{
private readonly ISecretStore _secretStore;
public MyService(ISecretStore secretStore)
{
_secretStore = secretStore;
}
public async Task<string?> GetApiKeyAsync()
{
// Automatically scoped to current tenant
return await _secretStore.GetSecretAsync("api-key");
}
}
Tenant-Scoped Secret Names
The package includes SecretNameHelper for generating tenant-scoped names:
using SaasSuite.Secrets.Helpers;
var tenantId = new TenantId("tenant-123");
var secretName = SecretNameHelper.GetTenantScopedName(
tenantId,
"api-key",
"tenants/{tenantId}/"
);
// Result: "tenants/tenant-123/api-key"
Implementing a Secret Store
To implement a custom secret store, implement the ISecretStore interface:
public class MySecretStore : ISecretStore
{
public async Task<string?> GetSecretAsync(string secretName, CancellationToken cancellationToken)
{
// Your implementation
}
// Implement other methods...
}
Related Packages
- SaasSuite.Secrets.AzureKeyVault: Azure Key Vault implementation
- SaasSuite.Secrets.AWS: AWS Secrets Manager implementation
License
Apache-2.0
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 is compatible. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. 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 is compatible. 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
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- SaasSuite.Core (>= 26.3.3.2)
-
net6.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- SaasSuite.Core (>= 26.3.3.2)
-
net7.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- SaasSuite.Core (>= 26.3.3.2)
-
net8.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- SaasSuite.Core (>= 26.3.3.2)
-
net9.0
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 8.0.2)
- SaasSuite.Core (>= 26.3.3.2)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 26.3.3.2 | 93 | 3/3/2026 |