Skip to main content
net8.0net9.0.NETStandard2.0

Abstractions to help ensure compliant data management.

Published
Feb 11, 2025
1y ago
Total Downloads
198.4M
198,447,813

Install

dotnet add package Microsoft.Extensions.Compliance.Abstractions --version 9.2.0
ProductVersions
.NET
net8.0net9.0
.NET Standard
netstandard2.0

README

Microsoft.Extensions.Compliance.Abstractions

This package introduces data classification and data redaction features.

Install the package

From the command-line:

dotnet add package Microsoft.Extensions.Compliance.Abstractions

Or directly in the C# project file:

<ItemGroup>
  <PackageReference Include="Microsoft.Extensions.Compliance.Abstractions" Version="[CURRENTVERSION]" />
</ItemGroup>

Usage Example

Implementing Redactors

Redactors can be implemented by inheriting from Microsoft.Extensions.Compliance.Redaction.Redactor. For example:

using Microsoft.Extensions.Compliance.Redaction;

public class StarRedactor : Redactor
{
    private const string Stars = "****";

    public override int GetRedactedLength(ReadOnlySpan<char> input) => Stars.Length;

    public override int Redact(ReadOnlySpan<char> source, Span<char> destination)
    {
        Stars.CopyTo(destination);
        return Stars.Length;
    }
}

Implementing Redactor Providers

Redactor Providers implement Microsoft.Extensions.Compliance.Redaction.IRedactorProvider. For example:

using Microsoft.Extensions.Compliance.Classification;
using Microsoft.Extensions.Compliance.Redaction;

public sealed class StarRedactorProvider : IRedactorProvider
{
    private static readonly StarRedactor _starRedactor = new();

    public static StarRedactorProvider Instance { get; } = new();

    public Redactor GetRedactor(DataClassificationSet classifications) => _starRedactor;
}

Feedback & Contributing

We welcome feedback and contributions in our GitHub repo.

Changes from Previous Version

No structural changes between v9.1.0 and v9.2.0.

Adoption Assessment

A verified publisher signal is available. Assess fit from the package's supported frameworks, license and dependency graph rather than popularity alone.

Compatibility metadata lists 3 target frameworks; confirm the exact target used by your application.

Related Guides & Workflows

Learn how to evaluate, integrate, or audit this package in your .NET project.