While working on a couple transformation projects these past weeks, I was reminded of a fairly urgent need in the spec: the ability to denote when an address is confidential, or should otherwise be hidden from public view.
For example, I may want to store the address for a domestic violence shelter on the backend for call-centers to reference, but in many cases I will not want to display that address publicly. I need a way to communicate that detail to consuming applications.
I can think of two methods for solving this off the type of my head:
-
Add a fourth enum to
address.type
with value of āconfidentialā or āhiddenā. This takes advantage of an existing convention, which is good, but may be too ambiguous in defining what type of address is hidden. Is it a physical, mailing, or virtual address that is being hidden? In practice, I have only encountered a use case of physical addresses being hidden, but Iām not sure if that can be generalized as an implicit rule or not. -
Add a boolean āconfidentialā or āhiddenā field to the
address
table. I donāt love adding another field unless we have to, but it does disambiguate what type of field is being hidden, if that matters.