Scrubkit.Extensions.MicrosoftExtensionsAI
1.10.0
Prefix Reserved
See the version list below for details.
dotnet add package Scrubkit.Extensions.MicrosoftExtensionsAI --version 1.10.0
NuGet\Install-Package Scrubkit.Extensions.MicrosoftExtensionsAI -Version 1.10.0
<PackageReference Include="Scrubkit.Extensions.MicrosoftExtensionsAI" Version="1.10.0" />
<PackageVersion Include="Scrubkit.Extensions.MicrosoftExtensionsAI" Version="1.10.0" />
<PackageReference Include="Scrubkit.Extensions.MicrosoftExtensionsAI" />
paket add Scrubkit.Extensions.MicrosoftExtensionsAI --version 1.10.0
#r "nuget: Scrubkit.Extensions.MicrosoftExtensionsAI, 1.10.0"
#:package Scrubkit.Extensions.MicrosoftExtensionsAI@1.10.0
#addin nuget:?package=Scrubkit.Extensions.MicrosoftExtensionsAI&version=1.10.0
#tool nuget:?package=Scrubkit.Extensions.MicrosoftExtensionsAI&version=1.10.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 was computed. 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 was computed. 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
- MetadataExtractor (>= 2.9.3)
- Microsoft.Bcl.AsyncInterfaces (>= 10.0.10)
- Microsoft.Extensions.AI (>= 9.5.0)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.5)
- PdfPig (>= 0.1.15)
- Scrubkit (>= 1.10.0)
-
net8.0
- MetadataExtractor (>= 2.9.3)
- Microsoft.Extensions.AI (>= 9.5.0)
- Microsoft.Extensions.AI.Abstractions (>= 9.5.0)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 9.0.5)
- Microsoft.Extensions.Logging.Abstractions (>= 9.0.5)
- PdfPig (>= 0.1.15)
- Scrubkit (>= 1.10.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: the core (PDF/Office/text/image EXIF + CSV/JSON output), the extractor add-ons (.eml/.msg email, OpenDocument, .epub, legacy binary Office .doc/.xls/.ppt), the AddScrubkit dependency-injection integration, the Microsoft.Extensions.AI local redaction integration, the Semantic Kernel vector store integration, and — on net8.0/net10.0 — Parquet output. Install this to get everything out of the box; install the individual packages instead if you want a lean footprint. No code of its own. |
GitHub repositories
This package is not used by any popular GitHub repositories.
1.10.0 — Ecosystem Integrations. New Scrubkit.Extensions.MicrosoftExtensionsAI package brings local PII & secret redaction middleware for IChatClient and IEmbeddingGenerator. New Scrubkit.Extensions.SemanticKernel package provides extension methods to scan, redact, chunk, and ingest documents directly into ISemanticTextMemory and modern IVectorStoreRecordCollection stores. Full changelog: https://github.com/jjopensoftworks-blip/Scrubkit/blob/main/CHANGELOG.md