CerbiStream 2.0.113
dotnet add package CerbiStream --version 2.0.113
NuGet\Install-Package CerbiStream -Version 2.0.113
<PackageReference Include="CerbiStream" Version="2.0.113" />
<PackageVersion Include="CerbiStream" Version="2.0.113" />
<PackageReference Include="CerbiStream" />
paket add CerbiStream --version 2.0.113
#r "nuget: CerbiStream, 2.0.113"
#:package CerbiStream@2.0.113
#addin nuget:?package=CerbiStream&version=2.0.113
#tool nuget:?package=CerbiStream&version=2.0.113
CerbiStream v2.0 — Developer-First Logging Governance for .NET
CerbiStream v2.0
Logs are leaking sensitive data in production.
Passwords, tokens, PII — it happens more than teams realize. Most teams rely on masking in Splunk, Datadog, or downstream pipelines.
That’s already too late.
CerbiStream stops it at the source.
❌ Before (real-world logging) { "message": "User signup", "email": "a@b.com", "ssn": "111-11-1111" } ✅ After (CerbiStream enforced) { "message": "User signup", "email": "a@b.com", "ssn": "REDACTED", "GovernanceViolations": [ { "Code": "ForbiddenField", "Field": "ssn" } ], "GovernanceProfileVersion": "1.0.0" }
One line to secure your logs:
builder.Logging.AddCerbiStream();
CerbiStream is a developer-first governance layer for .NET logging.
It validates, redacts, and tags logs before they leave your application — so sensitive data never reaches your logging pipeline in the first place.
👉 Try it in 2 minutes https://github.com/Zeroshi/Cerbistream.Governance.Demo.API
Most teams only discover logging issues during:
security reviews compliance audits or incidents
CerbiStream lets you catch and prevent them during development and at runtime.
🚀 Quickstart dotnet add package CerbiStream builder.Logging.AddCerbiStream();
Done.
You now have:
✅ Automatic PII redaction ✅ Governance validation with violation tagging ✅ Safe defaults with zero configuration ✅ Runtime enforcement before logs leave the process 🧠 What CerbiStream Actually Does
CerbiStream sits in front of your existing logger and enforces governance rules:
Validates structured log payloads against a policy Redacts sensitive fields in-place Tags violations for downstream analysis Works with Serilog, NLog, MEL, and OpenTelemetry
It doesn’t replace your logging stack.
It makes it safe and enforceable.
⚡ Example logger.LogInformation("User signup {email} {ssn}", "a@b.com", "111-11-1111");
Output:
{ "message": "User signup", "email": "a@b.com", "ssn": "REDACTED", "GovernanceViolations": [ { "Code": "ForbiddenField", "Field": "ssn" } ] } 🔥 When You Should Use CerbiStream
Use CerbiStream if:
You want to guarantee PII never enters logs You need audit-ready logging behavior You don’t trust downstream masking You want runtime + analyzer enforcement You want safe defaults without slowing developers down 🧩 How It Fits
CerbiStream works alongside your existing tools:
Serilog / NLog → logging + sinks OpenTelemetry → pipelines + exporters CerbiStream → governance + enforcement (before all of it) 🔑 Key Features Governance Rules Validate logs against cerbi_governance.json Tag events with violations and metadata Case-insensitive matching Redaction Automatic in-place redaction of sensitive fields Prevents leakage to downstream sinks Runtime Validation Hot-reload governance profiles Consistent behavior across Cerbi ecosystem Analyzer Integration Catch issues at compile-time Enforce schemas in CI and IDE Performance Allocation-aware design Minimal overhead vs standard loggers Encryption AES/Base64 support for file fallback logs Rotation based on size/age ML-Ready Metadata Structured, consistent fields for downstream analysis 🤔 Why CerbiStream vs Serilog / NLog / OpenTelemetry?
CerbiStream is not a replacement.
Serilog / NLog → logging & sinks OpenTelemetry → pipelines & exporters CerbiStream → policy enforcement before all of them
Use it when you need:
Guaranteed PII-safe logging Runtime governance Enforcement before data leaves the process 🧪 Demo API
Try a real working example:
https://github.com/Zeroshi/Cerbistream.Governance.Demo.API
🎯 Configuration Presets builder.Logging.AddCerbiStream(); // Dev builder.Logging.AddCerbiStream(o ⇒ o.ForProduction()); builder.Logging.AddCerbiStream(o ⇒ o.ForTesting()); builder.Logging.AddCerbiStream(o ⇒ o.ForPerformance()); 🌍 Environment Variables export CERBISTREAM_MODE=production
Supports:
Governance toggle Queue config Encryption mode Telemetry File fallback 🔧 Advanced Configuration builder.Logging.AddCerbiStream(options ⇒ options .ForProduction() .WithGovernanceProfile("myservice") .WithAesEncryption()); 🔍 Governance Example
Before:
{ "email": "a@b.com", "ssn": "111-11-1111" }
After:
{ "email": "a@b.com", "ssn": "REDACTED", "GovernanceViolations": [ { "Code": "ForbiddenField", "Field": "ssn" } ] } 📈 Performance Comparable to Serilog/NLog baseline Minimal overhead in production scenarios Benchmarks included in repo 🔗 Integration
Works with:
MEL Serilog NLog OpenTelemetry Loki, ELK, Seq, etc. ❓ FAQ
Does this replace Serilog or NLog? No — it enforces governance before them.
Performance impact? Minimal and benchmarked.
Can governance be disabled? Yes — behaves like pass-through.
🏆 Trusted By Microsoft Partner (ISV) Harvard Innovation Lab 49K+ NuGet downloads 📚 Documentation Quickstart Installation Production Checklist Technical Walkthrough 📞 Support GitHub Issues https://cerbi.io 📄 License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | 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. |
-
net10.0
- AWSSDK.CloudWatchLogs (>= 4.0.14.5)
- AWSSDK.Kinesis (>= 4.0.8)
- AWSSDK.S3 (>= 4.0.6.14)
- AWSSDK.SQS (>= 4.0.2.14)
- Azure.Core (>= 1.47.3)
- Azure.Messaging.ServiceBus (>= 7.20.1)
- Azure.Storage.Blobs (>= 12.25.0)
- Azure.Storage.Common (>= 12.24.0)
- Azure.Storage.Queues (>= 12.23.0)
- cerberus-logger-interface (>= 1.0.26)
- Cerbi.Governance.Core (>= 2.2.29)
- Cerbi.Governance.Runtime (>= 1.1.7)
- Datadog.Trace (>= 3.25.0)
- Google.Cloud.Logging.V2 (>= 4.4.0)
- Google.Cloud.PubSub.V1 (>= 3.27.0)
- Google.Cloud.Storage.V1 (>= 4.13.0)
- Google.Protobuf (>= 3.32.0)
- Microsoft.ApplicationInsights (>= 2.23.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration (>= 9.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8)
- OpenTelemetry (>= 1.12.0)
- OpenTelemetry.Exporter.Console (>= 1.12.0)
- Polly (>= 8.6.3)
- RabbitMQ.Client (>= 7.1.2)
- System.Configuration.ConfigurationManager (>= 9.0.8)
- System.Data.SqlClient (>= 4.9.0)
- System.Diagnostics.EventLog (>= 9.0.8)
- System.Security.Cryptography.ProtectedData (>= 9.0.8)
-
net8.0
- AWSSDK.CloudWatchLogs (>= 4.0.14.5)
- AWSSDK.Kinesis (>= 4.0.8)
- AWSSDK.S3 (>= 4.0.6.14)
- AWSSDK.SQS (>= 4.0.2.14)
- Azure.Core (>= 1.47.3)
- Azure.Messaging.ServiceBus (>= 7.20.1)
- Azure.Storage.Blobs (>= 12.25.0)
- Azure.Storage.Common (>= 12.24.0)
- Azure.Storage.Queues (>= 12.23.0)
- cerberus-logger-interface (>= 1.0.26)
- Cerbi.Governance.Core (>= 2.2.29)
- Cerbi.Governance.Runtime (>= 1.1.7)
- Datadog.Trace (>= 3.25.0)
- Google.Cloud.Logging.V2 (>= 4.4.0)
- Google.Cloud.PubSub.V1 (>= 3.27.0)
- Google.Cloud.Storage.V1 (>= 4.13.0)
- Google.Protobuf (>= 3.32.0)
- Microsoft.ApplicationInsights (>= 2.23.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration (>= 9.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8)
- OpenTelemetry (>= 1.12.0)
- OpenTelemetry.Exporter.Console (>= 1.12.0)
- Polly (>= 8.6.3)
- RabbitMQ.Client (>= 7.1.2)
- System.Configuration.ConfigurationManager (>= 9.0.8)
- System.Data.SqlClient (>= 4.9.0)
- System.Diagnostics.EventLog (>= 9.0.8)
- System.Security.Cryptography.ProtectedData (>= 9.0.8)
-
net9.0
- AWSSDK.CloudWatchLogs (>= 4.0.14.5)
- AWSSDK.Kinesis (>= 4.0.8)
- AWSSDK.S3 (>= 4.0.6.14)
- AWSSDK.SQS (>= 4.0.2.14)
- Azure.Core (>= 1.47.3)
- Azure.Messaging.ServiceBus (>= 7.20.1)
- Azure.Storage.Blobs (>= 12.25.0)
- Azure.Storage.Common (>= 12.24.0)
- Azure.Storage.Queues (>= 12.23.0)
- cerberus-logger-interface (>= 1.0.26)
- Cerbi.Governance.Core (>= 2.2.29)
- Cerbi.Governance.Runtime (>= 1.1.7)
- Datadog.Trace (>= 3.25.0)
- Google.Cloud.Logging.V2 (>= 4.4.0)
- Google.Cloud.PubSub.V1 (>= 3.27.0)
- Google.Cloud.Storage.V1 (>= 4.13.0)
- Google.Protobuf (>= 3.32.0)
- Microsoft.ApplicationInsights (>= 2.23.0)
- Microsoft.AspNetCore.Http.Abstractions (>= 2.2.0)
- Microsoft.Extensions.Configuration (>= 9.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 9.0.8)
- Microsoft.Extensions.Diagnostics.HealthChecks (>= 8.0.0)
- Microsoft.Extensions.Hosting.Abstractions (>= 9.0.8)
- OpenTelemetry (>= 1.12.0)
- OpenTelemetry.Exporter.Console (>= 1.12.0)
- Polly (>= 8.6.3)
- RabbitMQ.Client (>= 7.1.2)
- System.Configuration.ConfigurationManager (>= 9.0.8)
- System.Data.SqlClient (>= 4.9.0)
- System.Diagnostics.EventLog (>= 9.0.8)
- System.Security.Cryptography.ProtectedData (>= 9.0.8)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 2.0.113 | 0 | 4/25/2026 |
| 2.0.112 | 89 | 4/15/2026 |
| 2.0.111 | 85 | 4/15/2026 |
| 1.1.110 | 89 | 4/15/2026 |
| 1.1.108 | 85 | 4/12/2026 |
| 1.1.107 | 81 | 4/12/2026 |
| 1.1.103 | 106 | 3/20/2026 |
| 1.1.102 | 103 | 2/27/2026 |
| 1.1.95 | 110 | 2/12/2026 |
| 1.1.94 | 111 | 2/10/2026 |
| 1.1.91 | 110 | 2/4/2026 |
| 1.1.88 | 118 | 1/31/2026 |
| 1.1.87 | 118 | 1/31/2026 |
| 1.1.86 | 173 | 1/1/2026 |
| 1.1.85 | 118 | 12/29/2025 |
| 1.1.84 | 110 | 12/29/2025 |
| 1.1.83 | 143 | 12/21/2025 |
| 1.1.82 | 1,275 | 12/19/2025 |
| 1.1.80 | 859 | 12/3/2025 |
| 1.1.79 | 683 | 12/3/2025 |
See docs/RELEASE-NOTES.md