55 detectors out of the box
Prompt injection, jailbreaks, PII / credential leakage, hallucinated citations, repetition loops — security, hallucination, and operational coverage from day one.
Drop-in IChatClient middleware
Wraps any Microsoft.Extensions.AI client. Two pipeline passes per call (prompt + response). No provider-specific code.
Custom detector SDK
Write your own detector by implementing IDetector. Test it with DetectorTestBuilder + FakeEmbeddingGenerator — no API keys, deterministic results.
Embedded dashboard
Live audit feed, threat scores, severity timeline. HTMX + Server-Sent Events — no JS framework.
Per-pipeline configuration
Multiple isolated pipelines under string names — multi-endpoint, dev/staging/prod tiers. Per-detector tuning via opts.Configure<T>.
Audit forwarders
NDJSON file, SQLite, Azure Sentinel, OpenTelemetry — pick one or several. Hash-chained audit ensures tampering is detectable.
One line wires the middleware
Configure
builder.Services.AddAISentinel(opts =>
{
opts.OnCritical = SentinelAction.Quarantine;
opts.OnHigh = SentinelAction.Alert;
opts.OnMedium = SentinelAction.Log;
});Wire into your chat client
builder.Services.AddChatClient(pipeline =>
pipeline.UseAISentinel()
.Use(new OpenAIChatClient(...)));
// optional embedded dashboard
app.MapAISentinel("/ai-sentinel");The dashboard your security team will actually open
Live threat-risk score, severity counters, and a real-time event feed — every detection is hash-chained, filterable, and one click away from the audit forwarder of your choice. No JS framework, no separate service.

13 packages, one ecosystem
AI.Sentinel
Core — pipeline, 55 detectors, intervention engine, audit store.
AI.Sentinel.Detectors.Sdk
SDK for writing + unit-testing custom detectors.
AI.Sentinel.AspNetCore
Embedded real-time dashboard. HTMX + SSE.
AI.Sentinel.Sqlite
Persistent SqliteAuditStore with hash-chain integrity.
AI.Sentinel.Mcp
Stdio MCP proxy — scans tools/call + prompts/get for any MCP host.
AI.Sentinel.ClaudeCode
Native hook adapter for Claude Code's settings.json.