public class PhiEncryptionOptions { public const string Section = "PhiEncryption"; /// /// Purpose string for IDataProtector. Rotate by changing purpose and re-encrypting. /// public string ProtectorPurpose { get; set; } = "VigilCare.PatientPhi.v1"; /// /// HMAC key for name search tokens (base64). Separate from encryption key. /// In production: store in Key Vault, not appsettings. /// public string SearchTokenKey { get; set; } = null!; /// When true, logs PHI access for list/search operations as aggregate events. public bool LogListAccess { get; set; } = true; }