Closed nelsonic closed 4 years ago
@SimonLab please estimate how long you think this will take to complete (apply a label) and then get on the case as we need this for Auth. https://github.com/dwyl/auth/pull/77/files#r429267428
Note: I'm not going to "block" the PR that is
in-review
but it would be really good to get this into Auth ASAP so we are not storing IP addresses as plaintext and we have some validation on the IPs. 👍
https://hex.pm/packages/fields/2.6.0 contains the new fields. 🚀 Thanks again @SimonLab ☀️
According to EU GDPR, an Internet Protocol (IP) address is an example of "personal data": https://ec.europa.eu/info/law/law-topic/data-protection/reform/what-personal-data_en
In some cases people have _fixed_IPV4 address (or long leases) which means they are uniquely identified by their IP for a long time.
From an individual "user" (person using our App/API) perspective, we need to make effort to encrypt or hash their IP address when storing it for session purposes.
Equally, if we are building an API-based app where other servers will connect to our service, their IP address will be static in many cases and often "whitelisted" for higher request volume.
We envisage the following 3 scenarios/requirements:
plaintext
for speed (no hashing/encryption step) on a load balancer where we will store no other personally identifiable information. This is purely for checking the volume of requests from IP addresses to confirm that we are not being "attacked". A normal application should not use this field unless they are taking other measures to protect data.All three of these share a common validation function:
Fields.validate_ip_address/1
function that validates both IP v4 and IP v6 addresses using a standards-complaint RegEx: