Microsoft.Extensions.Compliance.Redaction
9.0.0-preview.9.24507.7
Prefix Reserved
See the version list below for details.
dotnet add package Microsoft.Extensions.Compliance.Redaction --version 9.0.0-preview.9.24507.7
NuGet\Install-Package Microsoft.Extensions.Compliance.Redaction -Version 9.0.0-preview.9.24507.7
<PackageReference Include="Microsoft.Extensions.Compliance.Redaction" Version="9.0.0-preview.9.24507.7" />
paket add Microsoft.Extensions.Compliance.Redaction --version 9.0.0-preview.9.24507.7
#r "nuget: Microsoft.Extensions.Compliance.Redaction, 9.0.0-preview.9.24507.7"
// Install Microsoft.Extensions.Compliance.Redaction as a Cake Addin #addin nuget:?package=Microsoft.Extensions.Compliance.Redaction&version=9.0.0-preview.9.24507.7&prerelease // Install Microsoft.Extensions.Compliance.Redaction as a Cake Tool #tool nuget:?package=Microsoft.Extensions.Compliance.Redaction&version=9.0.0-preview.9.24507.7&prerelease
Microsoft.Extensions.Compliance.Redaction
A redaction engine and canonical redactors.
Install the package
From the command-line:
dotnet add package Microsoft.Extensions.Compliance.Redaction
Or directly in the C# project file:
<ItemGroup>
<PackageReference Include="Microsoft.Extensions.Compliance.Redaction" Version="[CURRENTVERSION]" />
</ItemGroup>
Usage Example
Registering the services
The services can be registered using one of the AddRedaction
overloads:
public static IServiceCollection AddRedaction(this IServiceCollection services)
public static IServiceCollection AddRedaction(this IServiceCollection services, Action<IRedactionBuilder> configure)
Configuring a redactor
Redactors are fetched at runtime using an IRedactorProvider
. You can choose to implement your own provider and register it inside the AddRedaction
call, or alternatively you can just use the default provider. Redactors can be configured using one of these IRedactionBuilder
extension methods:
// Using the default redactor provider:
builder.Services.AddRedaction(redactionBuilder =>
{
// Assigns a redactor to use for a set of data classifications.
redactionBuilder.SetRedactor<MyRedactor>(MySensitiveDataClassification);
// Assigns a fallback redactor to use when processing classified data for which no specific redactor has been registered.
// The `ErasingRedactor` is the default fallback redactor. If no redactor is configured for a data classification then the data will be erased.
redactionBuilder.SetFallbackRedactor<MyFallbackRedactor>();
});
// Using a custom redactor provider:
builder.Services.AddSingleton<IRedactorProvider, MyRedactorProvider>();
builder.Services.AddRedaction(redactionBuilder => { });
Configuring the HMAC redactor
The HMAC redactor can be configured using one these IRedactionBuilder
extension methods:
public static IRedactionBuilder SetHmacRedactor(this IRedactionBuilder builder, Action<HmacRedactorOptions> configure, params DataClassificationSet[] classifications)
public static IRedactionBuilder SetHmacRedactor(this IRedactionBuilder builder, IConfigurationSection section, params DataClassificationSet[] classifications)
The HmacRedactorOptions
requires its KeyId
and Key
properties to be set. The HmacRedactor
is still in the experimental phase, which means that the above two methods will show warning EXTEXP0002
notifying you that the HmacRedactor
is not yet stable. In order to use it, you will need to either add <NoWarn>$(NoWarn);EXTEXP0002</NoWarn>
to your project file or add #pragma warning disable EXTEXP0002
around the calls to SetHmacRedactor
.
Feedback & Contributing
We welcome feedback and contributions in our GitHub repo.
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 is compatible. |
.NET Framework | net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
-
.NETFramework 4.6.2
- Microsoft.Extensions.Compliance.Abstractions (>= 9.0.0-preview.9.24507.7)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0-rc.2.24473.5)
- System.Collections.Immutable (>= 9.0.0-rc.2.24473.5)
-
net8.0
- Microsoft.Extensions.Compliance.Abstractions (>= 9.0.0-preview.9.24507.7)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0-rc.2.24473.5)
-
net9.0
- Microsoft.Extensions.Compliance.Abstractions (>= 9.0.0-preview.9.24507.7)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 9.0.0-rc.2.24473.5)
NuGet packages (2)
Showing the top 2 NuGet packages that depend on Microsoft.Extensions.Compliance.Redaction:
Package | Downloads |
---|---|
Reliance.Titan.Core
Package designed by Reliance Consultoria that provides support for handling cross-cutting concerns in our Microservices. |
|
Core.Runtime.DataProtection
Package Description |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Microsoft.Extensions.Compliance.Redaction:
Repository | Stars |
---|---|
dotnet/ai-samples
|
|
erwinkramer/bank-api
The Bank API is a design reference project suitable to bootstrap development for a compliant and modern API.
|
Version | Downloads | Last updated |
---|---|---|
9.0.0 | 2,645 | 11/12/2024 |
9.0.0-preview.9.24507.7 | 424 | 10/8/2024 |
9.0.0-preview.8.24460.1 | 94 | 9/10/2024 |
9.0.0-preview.7.24412.10 | 146 | 8/14/2024 |
9.0.0-preview.6.24353.1 | 145 | 7/10/2024 |
9.0.0-preview.5.24311.7 | 89 | 6/11/2024 |
9.0.0-preview.4.24271.2 | 324 | 5/21/2024 |
9.0.0-preview.3.24209.3 | 340 | 4/11/2024 |
9.0.0-preview.2.24157.4 | 261 | 3/12/2024 |
9.0.0-preview.1.24108.1 | 125 | 2/13/2024 |
8.10.0 | 16,412 | 10/8/2024 |
8.9.1 | 19,009 | 9/6/2024 |
8.9.0 | 391 | 9/5/2024 |
8.8.0 | 15,083 | 8/13/2024 |
8.7.0 | 9,201 | 7/10/2024 |
8.6.0 | 27,620 | 6/11/2024 |
8.5.0 | 27,939 | 5/14/2024 |
8.4.0 | 13,596 | 4/9/2024 |
8.3.0 | 6,704 | 3/12/2024 |
8.2.0 | 9,209 | 2/13/2024 |
8.1.0 | 7,379 | 1/9/2024 |
8.0.0 | 25,423 | 11/14/2023 |
8.0.0-rc.2.23510.2 | 119 | 10/10/2023 |
8.0.0-rc.1.23453.1 | 138 | 9/12/2023 |
8.0.0-preview.7.23407.5 | 113 | 8/8/2023 |
8.0.0-preview.6.23360.2 | 103 | 7/12/2023 |
8.0.0-preview.5.23308.3 | 96 | 6/14/2023 |
8.0.0-preview.4.23273.7 | 102 | 5/23/2023 |