Package br.com.seedgrid.privacy.masking
Class PersonalDataSanitizer
java.lang.Object
br.com.seedgrid.privacy.masking.PersonalDataSanitizer
Serializa um objeto para JSON aplicando mascaramento de dados pessoais.
Antigo AuditSanitizerService do audit. Precedência das regras (mais forte primeiro):
MaskRulepassadas pelo chamador (ex.: endpoint) — vencem tudoPersonalDatado próprio payload (DTO/entity serializado)PersonalDatado modelo fonte (opcional) — fallback
-
Constructor Summary
ConstructorsConstructorDescriptionPersonalDataSanitizer(com.fasterxml.jackson.databind.ObjectMapper mapper, PersonalDataResolver resolver) -
Method Summary
Modifier and TypeMethodDescription<T> TSobrecarga sem regras de override.<T> TRedige o objeto e devolve uma nova instância do mesmo tipo com os campos de dados pessoais mascarados.sanitizeToJson(Object value, MaskRule[] overrideRules) Sobrecarga sem modelo fonte.sanitizeToJson(Object value, Class<?> sourceModelType, MaskRule[] overrideRules)
-
Constructor Details
-
PersonalDataSanitizer
public PersonalDataSanitizer(com.fasterxml.jackson.databind.ObjectMapper mapper, PersonalDataResolver resolver)
-
-
Method Details
-
sanitizeToJson
-
sanitizeToJson
Sobrecarga sem modelo fonte. -
sanitize
Redige o objeto e devolve uma nova instância do mesmo tipo com os campos de dados pessoais mascarados. Conveniente para services que retornam DTO/entidade (o framework serializa a resposta). O objeto original NÃO é alterado.Atenção: o mascaramento transforma valores em texto (mascara/hash), então esta forma só faz o round-trip limpo quando os campos mascarados são
String— o caso típico de PII (cpf, nome, e-mail, cep). Mascarar um campo não-String (ex.:BigDecimal,LocalDate) faz a reconversão falhar e o método lança (fail-closed: nunca devolve o objeto cru). Nesses casos usesanitizeToJson(java.lang.Object, java.lang.Class<?>, br.com.seedgrid.privacy.masking.MaskRule[]). -
sanitize
Sobrecarga sem regras de override.
-