Repository navigation
release: v1.0.0-preview.3 - #2
Merged
Merged
Conversation
- Introduced `SensitiveFlowValidationOptions` to manage validation expectations. - Implemented `AuditStoreHealthCheck` and `TokenStoreHealthCheck` for health monitoring. - Added extension methods for registering health checks in `SensitiveFlowHealthCheckBuilderExtensions`. - Created a new project for health checks with necessary dependencies. - Updated retention services to utilize a customizable `TimeProvider`. - Added contract tests for anonymizers, maskers, pseudonymizers, and retention expiration handlers. - Implemented a command-line tool for generating sensitive data reports. - Enhanced test assertions for sensitive data handling. - Added validation tests for sensitive flow configurations.
- Updated logging documentation to clarify sensitive value redaction. - Introduced `SensitiveLoggingOptions` for customizable logging behavior. - Enhanced `RedactingLogger` to support contextual redaction based on attributes. - Implemented masking for structured object properties based on defined policies. - Added support for contextual export redaction in `DataSubjectExporter`. - Improved validation diagnostics for sensitive flow configurations. - Added tests for structured logging redaction and policy enforcement. - Updated default redaction markers to use `SensitiveFlowDefaults`.
- Added support for audit redaction context in `SensitiveDataAuditInterceptor` to handle sensitive fields with contextual redaction attributes. - Implemented `OutboxAuditStore` to append audit records to a primary store and enqueue them for asynchronous processing. - Created `InMemoryAuditOutbox` for testing and local development, along with a JSON serializer for outbox payloads. - Enhanced `SensitiveFlow.Tool` to build projects before scanning and updated usage instructions. - Added diagnostics for ASP.NET Core middleware registration and audit configuration validation. - Introduced tests for audit outbox functionality and contextual redaction behavior.
- Added `SensitiveFlow.Audit.EFCore.Outbox` project with necessary dependencies. - Created `EfCoreAuditOutbox` class for managing durable audit outbox entries. - Updated `AuditDbContext` to conditionally apply outbox entity configurations. - Enhanced `EfCoreAuditStore` to support transaction execution for batch operations. - Introduced `OutboxAuditStore` decorator to integrate outbox functionality into existing audit stores. - Added hosted service `AuditOutboxDispatcher` for processing outbox entries. - Implemented `AuditOutboxDispatcherOptions` and `BackoffStrategy` for configurable dispatch behavior. - Created health checks for audit outbox configuration. - Added metrics for monitoring audit outbox operations. - Developed unit tests for `EfCoreAuditOutbox` functionality. - Updated existing tests to accommodate new outbox features.
…ng sanitization for log entries
- Added `sensitiveflow-audit-outbox` health check to documentation. - Updated CLI scan input options to include project/solution files. - Implemented warning for `AddInMemoryAuditOutbox()` usage outside of debug mode. - Improved `EfCoreAuditOutbox` to correctly apply pagination in `GetDeadLetteredAsync`. - Enhanced `SensitiveFlowExceptionSanitizer` to include regex for long digit masking. - Added validation warnings for in-memory audit outbox and durable outbox configurations. - Introduced new tests for data subject export masking and exception sanitization. - Updated `SensitiveFlowToolRunner` to emit warnings for in-memory outbox usage. - Added structured logging tests to ensure sensitive data is handled correctly.
…for improved testability and abstraction
…EF Core integration - Added SensitiveFlowWebOptions for configuring SensitiveFlow features. - Implemented SensitiveFlowWebServiceCollectionExtensions for DI registration. - Created SensitiveFlowDatabaseInitializer for automatic database initialization. - Introduced Outbox pattern for audit store with EF Core. - Updated solution and project files to include new components. - Added tests for new features and configurations.
…samples
- Created README.md files for both MinimalApi.Sample and WebApi.Sample to document SQLite schema and manual database initialization.
- Added SQL scripts for creating necessary tables and indexes in both samples:
- MinimalApi.Sample:
- Customers table with relevant fields and indexes.
- Audit records and outbox entries for audit functionality.
- Token mappings for sensitive data handling.
- WebApi.Sample:
- Similar structure as MinimalApi with Customers, AuditRecords, and TokenMappings tables.
- Updated QuickStart.Sample to include a new HTML interface for customer management and ensure database initialization on startup.
- Refactored QuickStart.Sample's Program.cs to remove OpenApi references and streamline the application setup.
- Enhanced CustomersController in WebApi.Sample to support listing customers and improved error handling.
- Modified SensitiveFlowAuditMiddleware to accept IPseudonymizer as a parameter for better dependency management.
- Improved AuditOutboxDispatcher to handle infrastructure failures gracefully and added options for retry delays and suspension behavior.
- Updated tests to reflect changes in middleware and dispatcher behavior, ensuring robust coverage for new functionalities.
- Added SchemaErrorTranslator to translate provider-specific exceptions into a user-friendly SensitiveFlowSchemaNotInitializedException. - Updated EfCoreAuditStore and EfCoreTokenStore to utilize SchemaErrorTranslator for better exception handling during SaveChangesAsync and data retrieval. - Improved AuditSnapshotEntityTypeConfiguration and TokenMappingEntityTypeConfiguration to support optional schema specification. - Enhanced SensitiveFlowValidationServiceCollectionExtensions to throw exceptions on validation errors when FailOnError is enabled. - Updated validation logic in SensitiveFlowConfigurationValidator to report errors instead of warnings for missing required services. - Added comprehensive SQL migration scripts for PostgreSQL, SQL Server, and SQLite to create necessary tables for audit records, outbox entries, token mappings, and snapshots. - Created README documentation for migration scripts to guide users on applying schemas across different database providers. - Updated unit tests to reflect changes in validation behavior and ensure proper error reporting.
…on-durable options
- Lead with 'Why SensitiveFlow?' using real pain points (data exposed everywhere with no visibility) - Show concrete benefits: audit trail, log redaction, JSON masking, pseudonymization, retention, export, erasure - Simplify Quick Start: 1. Install & annotate, 2. Register, 3. See the magic, 4. Verify - Add 'What You Get' feature table showing examples and actual value - Add 'Going Deeper' for advanced features with doc links - Add 'Samples' section showing how to run examples with simple 'dotnet run' - Remove dated setup details (now in docs/getting-started.md) - Focus on communicating what makes this library valuable vs. doing it manually Co-Authored-By: Claude Opus 4.7 <[email protected]>
…nsitive data categories, and enhance documentation
…mples to reflect best practices
…s up-to-date by deleting and recreating databases
…consistency in tests
…solation and cross-platform compatibility
MateusjsSilva
had a problem deploying
to
production
May 12, 2026 17:42 — with
GitHub Actions
Failure
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This pull request introduces the
1.0.0-preview.3release of SensitiveFlow, focused on production-grade durability for audit records, improved operational diagnostics, and developer experience hardening.The main motivation is to make SensitiveFlow safer to adopt in real applications by improving durable audit delivery, adding health checks, clarifying production guidance, and reducing the risk of silent misconfiguration.
Highlights
Durable Audit Outbox and Reliability
IDurableAuditOutboxAuditOutboxEntryIAuditOutboxPublisherAuditOutboxDispatcherSensitiveFlow.Audit.EFCore.Outboxfor EF Core-backed durable outbox storage.Health Checks and Diagnostics
SF-CONFIG-013SF-CONFIG-014SensitiveFlowAuditDiagnosticsfor audit record lifecycle metrics.AuditOutboxHealthCheckto detect unsafe in-memory outbox usage in production and validate audit outbox health.Documentation and Developer Experience
RELEASE.mdwith clearer versioning, changelog, and release steps.Security and Messaging
Versioning and Dependencies
1.0.0-preview.3.Type of change
Related regulatory/privacy requirement (if applicable)
Not applicable.
This release is focused on technical privacy engineering and operational safety. It is not tied to a specific regulation.
Checklist
CHANGELOG.mdupdated