Microsoft.Extensions.Compliance.Redaction 9.0.0

Prefix Reserved
dotnet add package Microsoft.Extensions.Compliance.Redaction --version 9.0.0                
NuGet\Install-Package Microsoft.Extensions.Compliance.Redaction -Version 9.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="Microsoft.Extensions.Compliance.Redaction" Version="9.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Microsoft.Extensions.Compliance.Redaction --version 9.0.0                
#r "nuget: Microsoft.Extensions.Compliance.Redaction, 9.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.
// Install Microsoft.Extensions.Compliance.Redaction as a Cake Addin
#addin nuget:?package=Microsoft.Extensions.Compliance.Redaction&version=9.0.0

// Install Microsoft.Extensions.Compliance.Redaction as a Cake Tool
#tool nuget:?package=Microsoft.Extensions.Compliance.Redaction&version=9.0.0                

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

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 7,832 11/12/2024
9.0.0-preview.9.24507.7 438 10/8/2024
9.0.0-preview.8.24460.1 102 9/10/2024
9.0.0-preview.7.24412.10 158 8/14/2024
9.0.0-preview.6.24353.1 148 7/10/2024
9.0.0-preview.5.24311.7 96 6/11/2024
9.0.0-preview.4.24271.2 389 5/21/2024
9.0.0-preview.3.24209.3 343 4/11/2024
9.0.0-preview.2.24157.4 265 3/12/2024
9.0.0-preview.1.24108.1 132 2/13/2024
8.10.0 26,157 10/8/2024
8.9.1 22,898 9/6/2024
8.9.0 402 9/5/2024
8.8.0 16,430 8/13/2024
8.7.0 10,011 7/10/2024
8.6.0 30,421 6/11/2024
8.5.0 29,926 5/14/2024
8.4.0 14,090 4/9/2024
8.3.0 6,736 3/12/2024
8.2.0 9,272 2/13/2024
8.1.0 8,050 1/9/2024
8.0.0 27,958 11/14/2023
8.0.0-rc.2.23510.2 122 10/10/2023
8.0.0-rc.1.23453.1 142 9/12/2023
8.0.0-preview.7.23407.5 116 8/8/2023
8.0.0-preview.6.23360.2 106 7/12/2023
8.0.0-preview.5.23308.3 101 6/14/2023
8.0.0-preview.4.23273.7 106 5/23/2023