Scrubkit.Extensions.MicrosoftExtensionsAI
2.1.0
Prefix Reserved
dotnet add package Scrubkit.Extensions.MicrosoftExtensionsAI --version 2.1.0
NuGet\Install-Package Scrubkit.Extensions.MicrosoftExtensionsAI -Version 2.1.0
<PackageReference Include="Scrubkit.Extensions.MicrosoftExtensionsAI" Version="2.1.0" />
<PackageVersion Include="Scrubkit.Extensions.MicrosoftExtensionsAI" Version="2.1.0" />
<PackageReference Include="Scrubkit.Extensions.MicrosoftExtensionsAI" />
paket add Scrubkit.Extensions.MicrosoftExtensionsAI --version 2.1.0
#r "nuget: Scrubkit.Extensions.MicrosoftExtensionsAI, 2.1.0"
#:package Scrubkit.Extensions.MicrosoftExtensionsAI@2.1.0
#addin nuget:?package=Scrubkit.Extensions.MicrosoftExtensionsAI&version=2.1.0
#tool nuget:?package=Scrubkit.Extensions.MicrosoftExtensionsAI&version=2.1.0
Scrubkit.Extensions.MicrosoftExtensionsAI
Microsoft.Extensions.AI integration for Scrubkit — local, offline PII and secret redaction middleware for IChatClient and IEmbeddingGenerator.
It runs fully offline inside your process to scan and mask sensitive data before it is sent to external/cloud AI models.
Install
dotnet add package Scrubkit.Extensions.MicrosoftExtensionsAI
Chat Client Redaction
Wrap your IChatClient or construct it with a ChatClientBuilder pipeline to redact PII and secrets (like API keys, JWTs, connection strings) from user prompts automatically.
Option A: Using the Fluent Builder
using Microsoft.Extensions.AI;
using Scrubkit;
IChatClient chatClient = new ChatClientBuilder()
.UseRedaction(new StandardRedactor()) // Intercepts and redacts prompts locally
.UseChatClient(new OllamaChatClient(new Uri("http://localhost:11434"), "llama3"));
Option B: Wrapping an Existing Client
using Microsoft.Extensions.AI;
using Scrubkit;
IChatClient rawClient = new OpenAIInternalClient(...);
IChatClient secureClient = rawClient.UseRedaction(new StandardRedactor());
Configuration: Redacting All Messages vs. User Messages Only
By default, only messages with the ChatRole.User role are redacted, leaving system instruction prompts intact. You can configure the client to redact all messages:
chatClient.UseRedaction(new StandardRedactor(), redactUserMessagesOnly: false);
Embedding Generator Redaction
Wrap an IEmbeddingGenerator<string, TEmbedding> to scrub inputs before they are sent to the embedding engine, ensuring sensitive text isn't embedded or transmitted.
Option A: Using the Fluent Builder
using Microsoft.Extensions.AI;
using Scrubkit;
IEmbeddingGenerator<string, Embedding<float>> secureGenerator =
new EmbeddingGeneratorBuilder<string, Embedding<float>>(baseGenerator)
.UseRedaction(new StandardRedactor())
.Build();
Option B: Wrapping an Existing Generator
using Microsoft.Extensions.AI;
using Scrubkit;
IEmbeddingGenerator<string, Embedding<float>> secureGenerator =
baseGenerator.UseRedaction(new StandardRedactor());
License
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.12)
- Microsoft.Extensions.AI (>= 9.5.0)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Scrubkit (>= 2.1.0)
-
net10.0
- Microsoft.Extensions.AI (>= 9.5.0)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Scrubkit (>= 2.1.0)
-
net8.0
- Microsoft.Extensions.AI (>= 9.5.0)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Scrubkit (>= 2.1.0)
-
net9.0
- Microsoft.Extensions.AI (>= 9.5.0)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Scrubkit (>= 2.1.0)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Scrubkit.Extensions.MicrosoftExtensionsAI:
| Package | Downloads |
|---|---|
|
Scrubkit.All
Convenience meta-package that references the entire Scrubkit family: core engine, PDF extractor, Image EXIF extractor, email (.eml/.msg), OpenDocument, .epub, legacy binary Office (.doc/.xls/.ppt), Parquet, DI integration, Microsoft.Extensions.AI, and Semantic Kernel. Ships .AddAllExtractors() auto-registration. |
GitHub repositories
This package is not used by any popular GitHub repositories.
2.1.0 — Multi-Targeting Expansion & Tool Enhancements. Added explicit .NET 9.0 (STS) alongside .NET 8.0 (LTS), .NET 10.0, and .NET Standard 2.0 across all 14 packages; enabled Scrubkit.Pdf and Scrubkit.Images out of the box in Scrubkit.Tool CLI; updated test suites and docs. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md