-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Welcome to the DataVigil wiki. This is a .NET audit trail library that plugs into Entity Framework Core and tracks who changed what, when, and why - with built-in GDPR support.
If you're just getting started, the Getting Started page is the fastest path to a working setup. For everyone else, here's what this wiki covers.
DataVigil is a set of NuGet packages that automatically capture create, update, and delete operations from EF Core's change tracker. You can also opt in to read (SELECT) auditing if your compliance requirements call for it. Every audit record gets enriched with user identity, IP address, correlation/trace IDs, and a timestamp - then persisted to whichever storage backend you pick.
On the GDPR side, you can define field-level rules that mask, hash, anonymize, or exclude sensitive properties before they're ever written. There's a separate retrieval layer too, so different users see different levels of detail based on their roles and claims. And when somebody invokes their right-to-erasure, one call scrubs their personal data from the entire audit trail while keeping the structural records intact.
| Page | What's in it |
|---|---|
| Getting Started | Install the packages, wire up DI, see audit records flowing in under 5 minutes |
| Architecture | How the pieces fit together - package dependency graph, data flow, interceptor pipeline |
| Configuration Reference | Every option on AuditTrailOptions, EfCoreAuditOptions, StorageOptions, GdprOptions
|
| EF Core Integration | Interceptors, change tracker, read auditing, entity marking with IAuditable / IAuditableEntity
|
| ASP.NET Core Integration | User resolution from HttpContext, correlation headers, read-flush middleware |
| Storage Providers | SQL Server, PostgreSQL, MongoDB, File - setup, migrations, differences |
| GDPR Compliance | Storage policies, retrieval policies, right-to-erasure, GdprStorageState lifecycle |
| Advanced Topics | Worker services, manual audit entries, custom resolvers, data retention, entity exclusions |
| Data Model |
AuditTransaction, AuditEntry, AuditEntryProperty - schema, relationships, indexes |
| API Reference | Public interfaces, enums, models, extension methods - the full surface area |
| Samples | Walk-through of the included sample projects |
| FAQ & Troubleshooting | Common issues and how to fix them |
| Package | Purpose | Required? |
|---|---|---|
RzR.DataVigil.Abstractions |
Interfaces, enums, models | Pulled in by Core |
RzR.DataVigil.Core |
Pipeline, GDPR processor, options, resolvers | Always |
RzR.DataVigil.EFCore |
SaveChanges + command interceptors | If using EF Core |
RzR.DataVigil.AspNetCore |
HttpContext-based user/correlation resolvers | If hosting in ASP.NET Core |
RzR.DataVigil.Storage.EfSqlServer |
SQL Server audit store | Pick one storage |
RzR.DataVigil.Storage.EfPostgreSql |
PostgreSQL audit store | Pick one storage |
RzR.DataVigil.Storage.EfMongoDb |
MongoDB audit store | Pick one storage |
RzR.DataVigil.Storage.File |
JSON file audit store | Pick one storage |
All library packages target .NET Standard 2.1 (except MongoDB which targets net8.0). EF Core 5.0+ is the minimum for the interceptor layer.
- NuGet Packages - published packages
- Source Code - GitHub repository
- Changelog - release history
RzR.DataVigil · Source Code · NuGet Packages · Built with .NET Standard 2.1
Getting started
Core features
Reference
Resources