NCATComp410 / comp410_summer_2023

Repository for COMP-410 summer 2023
GNU General Public License v3.0
0 stars 3 forks source link

Implement Date Of Birth Detection #9

Closed daseanneclos closed 1 year ago

daseanneclos commented 1 year ago

escription: It is critical to identify and manage various forms of personally identifiable information (PII) as part of our data protection initiatives. In this particular case, we must concentrate on identifying and safeguarding the type of PII known as Date of Birth (DOB). The date of birth is a delicate piece of information that, if handled improperly, may be exploited for identity theft and other criminal acts. As a result, it's crucial to include safeguards in our application to recognize and protect this kind of PII.

For example : XX-XX-XXXX

Detection steps: The user can use a code that checks if a given string adheres to the pattern of two digits for the day, two digits for the month, and four digits for the year separated by hyphens can be used to identify and validate the format of a Date of Birth (DOB). The input is regarded as a legitimate Date of Birth if it fits the predefined pattern.

claesmk commented 1 year ago

Looks like a good idea to experiment with. My concern would be a generic date would not be PII but, as you say, a DOB would be. It will be interesting to see if the false positives (not a DOB) can be reduced.

brmtalla commented 1 year ago

I feel like this is valid, but there has to be strict optimization for corner cases like leap years.

claesmk commented 1 year ago

@brmtalla I think your point is valid. Corner cases like leap years, daylight savings time, etc are things which have resulted in numerous software defects because requirement writers missed them. You should always think about them when working with dates and times.

However, I do think we need to differentiate between pattern detection (which is the requirement) and validation (which would happen after detection) Let's focus this issue on the detection, and not the validation.

I think a date such as xx/xx/xxxx should also be detected since a / is a common punctuation for dates.