namespace ZB.MOM.WW.Secrets.Abstractions; /// /// Supplies the AES-256 master key (KEK) used to wrap and unwrap per-secret data-encryption /// keys. Implementations resolve the key material from a configured source (environment, /// file, external KMS) and expose a stable, non-secret identifier for the active key so /// rotation can be recorded per row and reasoned about later. /// public interface IMasterKeyProvider { /// /// Returns the 32-byte AES-256 master key material. /// /// The 32-byte master key. /// The master key cannot be resolved. ReadOnlyMemory GetMasterKey(); /// /// The stable, non-secret identifier of the active key-encryption key (KEK). This value /// is recorded on each stored row so that key rotation is legible and rows can be matched /// to the KEK that wrapped their DEK. /// string KekId { get; } }