Ecosystem
No rip-and-replace.
Works with the stack you already use.
Cerbi sits between your logging framework and your existing observability destinations. MEL, Serilog, NLog - all supported today.
Works with your stack
No rip-and-replace.
Cerbi plugs into what you already use.
Microsoft.Extensions.Logging
Built-in logging abstraction layer
Serilog
Structured logging framework
NLog
Flexible, high-performance logging platform
OpenTelemetry
Vendor-neutral observability standard
What Cerbi is not
A control layer.
Not another tool.
Cerbi makes your existing tools actually work.
Not a logging platform
Cerbi does not store, index, or visualize logs.
Not a SIEM
Cerbi does not analyze threats or correlate security events.
Not another observability tool
Cerbi does not replace your existing stack.
Cerbi governs what enters your existing tools, so those tools can do their job with clean, consistent data.
Works with the logging stack
you already use.
Cerbi sits between your logging framework and your existing observability destinations. No pipeline replacement. No call-site rewrites. Works with MEL, Serilog, and NLog today.
Governance between your framework and your destinations.
Log Framework
Your Destinations
+ Seq, OpenSearch, and more
Cerbi governance sits before ingestion. Your routing stays unchanged.
Native adapters for all major logging frameworks.
Each adapter applies governance rules using the framework's existing extension points. No forked logging libraries. No rewrites.
Built-in logging abstraction layer. Add Cerbi.MEL.Governance as a provider.
NuGet packageStructured logging framework. Add Cerbi.Serilog.Governance as a sink/enricher.
NuGet packageFlexible logging platform. Governance target integrates without replacing existing targets.
NuGet package// Microsoft.Extensions.Logging - 1 line builder.Logging.AddCerbiStream();
// Serilog - governance enricher/sink
Log.Logger = new LoggerConfiguration()
.Enrich.WithCerbiGovernance()
.WriteTo.Console()
.CreateLogger();<!-- NLog - governance target in nlog.config --> <targets> <target name="cerbi" type="CerbiGovernance" /> </targets> <rules> <logger writeTo="cerbi,logfile" /> </rules>
Keeps working with your existing observability stack.
Cerbi doesn't replace your logging infrastructure. It governs what's emitted before it reaches your sinks.
All open source. MIT licensed.
| Package | Type | Status | |
|---|---|---|---|
CerbiStream | Runtime library | GA | NuGet |
CerbiStream.GovernanceAnalyzer | Roslyn analyzer | GA | NuGet |
Cerbi.MEL.Governance | MEL adapter | GA | NuGet |
Cerbi.Serilog.Governance | Serilog adapter | GA | NuGet |
Cerbi.Serilog.GovernanceAnalyzer | Serilog build-time | GA | NuGet |
Cerbi.Governance.Runtime | Shared engine | GA | NuGet |
Cerbi.Governance.Core | Shared contracts | GA | NuGet |
Java / Maven Central - Alpha
AlphaSource-side logging governance for Logback and Log4j2. Published to Maven Central as v0.1.0. Apply governance profiles before log events leave the application - redact sensitive fields, tag violations, enforce required metadata, and generate governance evidence. Not production-ready. Feature parity with .NET is not claimed.
Node.js / npm
AlphaWinston and Pino transports that evaluate each log event against a JSON ruleset and annotate it with governance status - mode, violations, score impact - without blocking log flow.
Winston example
import winston from "winston";
import { CerbiGovernanceTransport } from "@cerbi/winston-governance";
const logger = winston.createLogger({
transports: [
new CerbiGovernanceTransport({
rulesetPath: "./ruleset.json",
pollIntervalMs: 2000,
}),
new winston.transports.Console(),
],
});
logger.info("user signup", { userId: "123", password: "plaintext" });
// → password field tagged as violation, score impact emittedGovernance extensions coming to more runtimes.
Planned integrations with native logging frameworks across runtimes. Subject to change.
Java
GANode.js
GAGo
GAYou're ready
You know the problem. You know the fix. You know it works with your stack.
Talk to an architect or start with a NuGet package and a JSON profile. No pipeline migration required.
