GDPR – A Practical Guide for Developers (2017)
I just want to point out that a lot of the article is the authors own opinion on how the regulation should be implemented into software and a lot of things are probably not needed normally and would be a burden for businesses.<p>My own take (and the take of most European data protection lawyers I meet) is that consent is not needed, and also possibly is inappropriate in 90% of the cases - instead the “legal basis” called “legitimate interest” should be used instead. This is where you do your own judgement if your data processing is reasonable. Imagine if you yourself always had to consent to all common sense use of your personal data, what a hassle!<p>If you use legitimate interest, also skip the “under 16” part, consent checkboxes and re-request consent part of the article (Of course there is more to it, but I would not get in to that unless you are doing data processing you do not think the data subjects in general would approve of).<p>Functions that allow the users to delete and automatically download&#x2F;access their own data is good practice for legitimate interest but not needed. You are anyway in  general allowed to deal with these types of request on a case by case basis if you provide your data subjects with an email address.<p>What you should do though is automatically delete data that you do not need anymore, such as old logs, customers contact details of customers long gone, old backups etc.<p>The parts of encyption, you should create an api etc are not required but may be good practice. Just make sure you have normal OK data and data access security.<p>As discussed above, you SHOULD use data for purposes that the customer has not agreed&#x2F;consented to. However, never use personal data for purposes that are not compatible with the purposes you informed your customers of when collecting the data (normally stated in your privacy notice on your web site). If you did not have a privacy notice at the time of collection pre-GDPR, what is an compatible purpose will be a judgement call from the context of collection.