namespace KArtSell.Modules.ModelOperations.Compliance; /// /// GDPR retention tracker for personal data (right-to-be-forgotten support). /// Tracks which audit events contain personal data and when to purge/redact. /// public class GdprRetention { public Guid Id { get; set; } public Guid EventId { get; set; } public Guid? CustomerId { get; set; } public string[]? DataCategories { get; set; } // PII, EMAIL, TRADING_HISTORY, PORTFOLIO_DATA, etc. public DateOnly RetentionEndsAt { get; set; } public required string PurgeStatus { get; set; } // PENDING, PURGED, EXCEPTION public DateTime? PurgedAt { get; set; } public string? ExceptionReason { get; set; } public DateTime PublishedAt { get; set; } public int Revision { get; set; } } /// /// GDPR purge status enum. /// public static class GdprPurgeStatus { public const string Pending = "PENDING"; public const string Purged = "PURGED"; public const string Exception = "EXCEPTION"; } /// /// Data categories for GDPR tracking. /// public static class GdprDataCategories { public const string PersonallyIdentifiableInformation = "PII"; public const string EmailAddress = "EMAIL"; public const string TradingHistory = "TRADING_HISTORY"; public const string PortfolioData = "PORTFOLIO_DATA"; public const string PaymentInformation = "PAYMENT_INFO"; }