SlideShare ist ein Scribd-Unternehmen logo
1 von 26
GDPR for developers
Bozhidar Bozhanov
About me
• Founder and CEO of LogSentinel
• Former IT advisor to the deputy prime minister of Bulgaria
• Software engineer
• Privacy advocate
• Top 50 stackoverflow contributor
• https://techblog.bozho.net
• @bozhobg
What is GDPR?
Regulation
Panic!
Opportunity
• a.k.a. direct common EU law
• overrides / supercedes national data protection laws
• extends the existing directive
• Huge fines for non-compliance (4% of turnover or 20 million euro)
• Insufficient understanding on what has to be done (consultants,
regulators, companies)
• To really protect your customers’ data
• To get your systems secure
Pros and cons of GDPR
• Cons:
• Bureaucratic
• Not always clear
• Requires most systems to be upgraded (burden)
• Doesn’t solve all data protection issues
• Leaves issues at the discretion of local regulators
• Pros:
• Unifies data protection in Europe
• Mandates best practices
• Requires consciousness about personal data processing
Why do YOU care?
• You may be:
• implementing GDPR-related upgrades
• be designated as a DPO (data protection officer)
• implementing anything that handles data
• conscious about personal data in your organization
Terminology
Data subject
Personal data
Data processing
• a.k.a. User (person whose personal data is processed)
• Any data about an identifiable or identified person
• Any operation (manual or automated) on personal data
Controller • The entity (company) that requests and uses the data
Processor
• Any entity that processes data on behalf of a controller (e.g. cloud
service providers)
GDPR principles
Lawfulness
Purpose limitation
Data minimisation
Accuracy
Storage limitation
Integrity and confidentiality
…magic
What about cookies?
• ePrivacy directive -> ePrivacy regulation
• Somehow different than GDPR
• Answers some questions unanswered by GDPR:
• Tracking cookies
• Traffic data
• Direct marketing
• Opinion – should have been a unified regulation
• With the upcoming ePrivacy regulation – no more useless cookie warnings
• Also: directive for processing personal data by law enforcement
When to process personal data
• User’s consent
• Performance of a contract
• If required by law
• Legitimate interest of the controller (including direct marketing)
• Combination of the above
GDPR functionalities
• Functionalities are only part of it – processes/procedures/rules must also exist
• “Forget me” (the right to erasure)
• Mark profile as restricted (right to restriction of processing)
• Export data (right to portability)
• Allow profile editing (right to rectification)
• “See all my data” (right to access)
• Consent checkboxes
• Age checks
• Data destruction (data minimization principle)
“Forget me”
• Delete all data relating to a user
• void forgetUser(UUID userId);
• Useful for integration tests
• What about foreign keys?
• Allow nullable foreign keys
• Anonymize user (leave only ID)
• Cascade delete
• Option: mark for deletion (+user cleanup job)
“Forget me”
• Event-sourcing?
• Crypto-shredding
• Blockchain?
• Notify 3rd parties / call 3rd parties APIs:
• CRMs, Payment gateways, etc.
• Return 404 for indexable pages
• Backups – store anonymized IDs separately
• “My data model doesn’t allow for it” is no excuse
Restrict processing
• Mark user as “restricted”
• Boolean database column
• Button on profile page “restrict processing of personal data”
• Button on admin page
• Don’t show in searches, don’t send emails, don’t include in automated processing
• Mark as restricted in 3rd party systems (e.g. with a custom field)
• Don’t show on public pages / 404
• Why?
• Edge cases: user objects to erasure;
Export data
• Right to data portability (no vendor lock-in; in theory)
• Formats: JSON, XML, CSV or other standards
• Schema: prefer schema.org
• Could be a background process that sends email when done
• Could be a manual process (easier to get compliant)
• All personal data + all data, associated with the user (orders, messages, etc.)
• Logs? No
• Data from 3rd party systems? Yes
• they should have that functionality as well
Editable user profile
• Right to rectification
• All personal data fields should be editable
• Could be a manual support process: “please fix my name”
• Data obtained from 3rd parties
• If email/phone is included, user should be able to identify with that email/phone
(“shadow accounts”)
• If not – manual process
Ask for consent
• No more “I accept the Terms and conditions and the privacy policy”
• Unchecked checkbox for each processing purpose on registration
• Data processing business processes to be listed in a register
• User should be able to withdraw consent from the user profile page
• If data is used for machine learning, get explicit consent for that
• Store consent in a secure way
• Boolean column may or may not be enough, depending on the regulator
• Consents table?
• Timestamping?
• Re-request consent for existing users via email
• Oral consent
• Workarounds: consent vs contract with electronic signature?
“See my data”
• Overlaps with “export data”
• Allow non-registered users to check if you have data about them
• Confirm email
• Show the processing records from the register
Age check
• On registration ask for age / date of birth / (checked) checkbox “I’m older than 16”
• Ask parent for consent
• How?
• Nobody has a clue 
• “The controller shall make reasonable efforts to verify in such cases that consent is
given or authorised by the holder of parental responsibility over the child, taking into
consideration available technology.”
• Proposal: ask for parent’s email, send a link and get the registration confirmed
• Proposal: upload “parent selfie”
• Proposal: eID
Limit data retention
• Don’t store data for longer than “necessary”
• Database column for “data retention deadline”
• Scheduled job to delete/anonymize/pseudonymize data that past its deadline
• Deadline vs confirmation event, e.g. “goods delivered”
• Applicable to “purchase without registration”
• Theoretically applicable to registered users
• In practice: “I agree to having my address stored for the purpose of not entering it
again on subsequent purchases”
Do’s (encryption)
• Encrypt data in transit
• between application and database
• between application and 3rd parties
• between application and database nodes (gossip)
• between multiple applications / microservices
• obviously: between user and application
• between load balancer and application?
• Encrypt data at rest
• LUKS or database-specific encryption
• Encryption key: ideally on HSM / AWS KMS / …
• Encrypt backups
Do’s
• Implement pseudonymization
• replace personal data with bcrypt/PBKDF?
• don’t use real production data for staging/test
• pseudonymize for machine learning purposes
• Protect data integrity
• Simple solution: do nothing  Procedures should indicate integrity is guaranteed by
the database via checksums
• Other options: checksum column per record, enforced in the application layer, audit
trail, 3rd party solutions like LogSentinel
Do’s
• Have your GDPR register of processing activities in something other than Excel
• Internal web app / microservice or a 3rd party service
• Integrate with consent checkboxes and “right to access”
• Correlate audit logs with processing activities
• Audit log for the register itself
• Backups, high availability
• Log access to personal data
• Implied from the accountability principles
• Correlate with processing activity
• Search results / lists? Log “User X did query Y”
• Register all API consumers (no anonymous access)
Data breaches
• Notify data protection regulator
• Notify controllers (if you are a processor)
• Notify users
• Option: Configure your security incident system to report to the data protection regulator
• Have proof of when the breach was discovered (timestamp emails/issues?)
• Will it help? Questionable
• (Dilbert)
Don’t’s
• Don’t use data for purposes other than what he user has agreed with
• Request consent via email for new purposes
• Legitimate interests can be dynamically added
• Don’t log personal data – just ID
• Cleanup old log files
• Don’t put unnecessary registration fields
• Don’t assume 3rd parties are compliant
• Don’t assume having ISO XXX makes you compliant
• Don’t dump personal data on public servers/buckets 
• …and other obvious stuff
Conclusion
• GDPR would require changes, mostly
• Best practices
• Useful to customers
• The majority of changes can be implemented within 2-3 sprints
• GDPR forces better understanding of data flows
• Compliance likely to be checklist-based
• Beware of consultants claiming GDPR will require rewriting everything and asking for a
lot of money
• Regulators will need some teaching
• The spirit of the regulation: be conscious about personal data
Thank you
Bozhidar Bozhanov: bozhidar.bozhanov@logsentinel.com

Weitere ähnliche Inhalte

Was ist angesagt?

Top 10 Best Practices for Implementing Data Classification
Top 10 Best Practices for Implementing Data ClassificationTop 10 Best Practices for Implementing Data Classification
Top 10 Best Practices for Implementing Data Classification
Watchful Software
 
Data protection act
Data protection act Data protection act
Data protection act
Iqbal Bocus
 

Was ist angesagt? (20)

Legal obligations and responsibilities of data processors and controllers und...
Legal obligations and responsibilities of data processors and controllers und...Legal obligations and responsibilities of data processors and controllers und...
Legal obligations and responsibilities of data processors and controllers und...
 
GDPR training
GDPR training GDPR training
GDPR training
 
Understanding the EU's new General Data Protection Regulation (GDPR)
Understanding the EU's new General Data Protection Regulation (GDPR)Understanding the EU's new General Data Protection Regulation (GDPR)
Understanding the EU's new General Data Protection Regulation (GDPR)
 
Introduction to GDPR
Introduction to GDPRIntroduction to GDPR
Introduction to GDPR
 
General Data Protection Regulations (GDPR): Do you understand it and are you ...
General Data Protection Regulations (GDPR): Do you understand it and are you ...General Data Protection Regulations (GDPR): Do you understand it and are you ...
General Data Protection Regulations (GDPR): Do you understand it and are you ...
 
General data protection
General data protectionGeneral data protection
General data protection
 
Rodo bezpieczenstwo _dla_pracownikow
Rodo bezpieczenstwo _dla_pracownikowRodo bezpieczenstwo _dla_pracownikow
Rodo bezpieczenstwo _dla_pracownikow
 
GDPR Basics - General Data Protection Regulation
GDPR Basics - General Data Protection RegulationGDPR Basics - General Data Protection Regulation
GDPR Basics - General Data Protection Regulation
 
Privacy-ready Data Protection Program Implementation
Privacy-ready Data Protection Program ImplementationPrivacy-ready Data Protection Program Implementation
Privacy-ready Data Protection Program Implementation
 
Rodo podstawy przetwarzania_danych_ dla pracownikow
Rodo  podstawy przetwarzania_danych_ dla pracownikowRodo  podstawy przetwarzania_danych_ dla pracownikow
Rodo podstawy przetwarzania_danych_ dla pracownikow
 
Top 10 Best Practices for Implementing Data Classification
Top 10 Best Practices for Implementing Data ClassificationTop 10 Best Practices for Implementing Data Classification
Top 10 Best Practices for Implementing Data Classification
 
Privacy & Data Protection in the Digital World
Privacy & Data Protection in the Digital WorldPrivacy & Data Protection in the Digital World
Privacy & Data Protection in the Digital World
 
Physical security
Physical securityPhysical security
Physical security
 
Customer information security awareness training
Customer information security awareness trainingCustomer information security awareness training
Customer information security awareness training
 
Data protection act
Data protection act Data protection act
Data protection act
 
Data protection and privacy
Data protection and privacyData protection and privacy
Data protection and privacy
 
Data Protection Presentation
Data Protection PresentationData Protection Presentation
Data Protection Presentation
 
Security Awareness Training - For Companies With Access to NYS "Sensitive" In...
Security Awareness Training - For Companies With Access to NYS "Sensitive" In...Security Awareness Training - For Companies With Access to NYS "Sensitive" In...
Security Awareness Training - For Companies With Access to NYS "Sensitive" In...
 
GDPR
GDPRGDPR
GDPR
 
Data Privacy
Data PrivacyData Privacy
Data Privacy
 

Ähnlich wie GDPR for developers

General Data Protection Regulation
General Data Protection RegulationGeneral Data Protection Regulation
General Data Protection Regulation
GrittyCC
 

Ähnlich wie GDPR for developers (20)

ABM Display Advertising Success in the World of GDPR [PPT]
ABM Display Advertising Success in the World of GDPR [PPT]ABM Display Advertising Success in the World of GDPR [PPT]
ABM Display Advertising Success in the World of GDPR [PPT]
 
Webinar - Compliance with the Microsoft Cloud- 2017-04-19
Webinar - Compliance with the Microsoft Cloud- 2017-04-19Webinar - Compliance with the Microsoft Cloud- 2017-04-19
Webinar - Compliance with the Microsoft Cloud- 2017-04-19
 
Ease out the GDPR adoption with ManageEngine
Ease out the GDPR adoption with ManageEngineEase out the GDPR adoption with ManageEngine
Ease out the GDPR adoption with ManageEngine
 
A Guide To Single Sign-On for IBM Collaboration Solutions
A Guide To Single Sign-On for IBM Collaboration SolutionsA Guide To Single Sign-On for IBM Collaboration Solutions
A Guide To Single Sign-On for IBM Collaboration Solutions
 
QA Fest 2017. Per Thorsheim.GDPR - An overview and its relevance for QA
QA Fest 2017. Per Thorsheim.GDPR - An overview and its relevance for QAQA Fest 2017. Per Thorsheim.GDPR - An overview and its relevance for QA
QA Fest 2017. Per Thorsheim.GDPR - An overview and its relevance for QA
 
#HR and #GDPR: Preparing for 2018 Compliance
#HR and #GDPR: Preparing for 2018 Compliance #HR and #GDPR: Preparing for 2018 Compliance
#HR and #GDPR: Preparing for 2018 Compliance
 
#1NWebinar: GDPR and Privacy Best Practices for Digital Marketers
#1NWebinar: GDPR and Privacy Best Practices for Digital Marketers#1NWebinar: GDPR and Privacy Best Practices for Digital Marketers
#1NWebinar: GDPR and Privacy Best Practices for Digital Marketers
 
Web analytics: Practical steps to GDPR compliance
Web analytics: Practical steps to GDPR complianceWeb analytics: Practical steps to GDPR compliance
Web analytics: Practical steps to GDPR compliance
 
GDPR- The Buck Stops Here
GDPR-  The Buck Stops HereGDPR-  The Buck Stops Here
GDPR- The Buck Stops Here
 
Jadu GDPR guide: A easy to follow guide for Digital Service Managers and Webs...
Jadu GDPR guide: A easy to follow guide for Digital Service Managers and Webs...Jadu GDPR guide: A easy to follow guide for Digital Service Managers and Webs...
Jadu GDPR guide: A easy to follow guide for Digital Service Managers and Webs...
 
Security 101: Protecting Data with Encryption, Tokenization & Anonymization
Security 101: Protecting Data with Encryption, Tokenization & AnonymizationSecurity 101: Protecting Data with Encryption, Tokenization & Anonymization
Security 101: Protecting Data with Encryption, Tokenization & Anonymization
 
Lecture 2 - Security Requirments.ppt
Lecture 2 - Security Requirments.pptLecture 2 - Security Requirments.ppt
Lecture 2 - Security Requirments.ppt
 
Law Practice Management - Organization, Cloud, Social Media and Ethics
Law Practice Management - Organization, Cloud, Social Media and EthicsLaw Practice Management - Organization, Cloud, Social Media and Ethics
Law Practice Management - Organization, Cloud, Social Media and Ethics
 
How to leverage Enterprise Architecture in a regulated environment
How to leverage Enterprise Architecture in a regulated environmentHow to leverage Enterprise Architecture in a regulated environment
How to leverage Enterprise Architecture in a regulated environment
 
Gdpr demystified - making sense of the regulation
Gdpr demystified  - making sense of the regulationGdpr demystified  - making sense of the regulation
Gdpr demystified - making sense of the regulation
 
GDPR and Cyber Security LW.pptx
GDPR and Cyber Security LW.pptxGDPR and Cyber Security LW.pptx
GDPR and Cyber Security LW.pptx
 
General Data Protection Regulation
General Data Protection RegulationGeneral Data Protection Regulation
General Data Protection Regulation
 
Privacy Secrets Your Systems May Be Telling
Privacy Secrets Your Systems May Be TellingPrivacy Secrets Your Systems May Be Telling
Privacy Secrets Your Systems May Be Telling
 
Privacy Secrets Your Systems May Be Telling
Privacy Secrets Your Systems May Be TellingPrivacy Secrets Your Systems May Be Telling
Privacy Secrets Your Systems May Be Telling
 
The Next Gen Auditor - Auditing through technological disruptions
The Next Gen Auditor - Auditing through technological disruptionsThe Next Gen Auditor - Auditing through technological disruptions
The Next Gen Auditor - Auditing through technological disruptions
 

Mehr von Bozhidar Bozhanov

Mehr von Bozhidar Bozhanov (20)

Антикорупционен софтуер
Антикорупционен софтуерАнтикорупционен софтуер
Антикорупционен софтуер
 
Nothing is secure.pdf
Nothing is secure.pdfNothing is secure.pdf
Nothing is secure.pdf
 
Elasticsearch - Scalability and Multitenancy
Elasticsearch - Scalability and MultitenancyElasticsearch - Scalability and Multitenancy
Elasticsearch - Scalability and Multitenancy
 
Encryption in the enterprise
Encryption in the enterpriseEncryption in the enterprise
Encryption in the enterprise
 
Blockchain overview - types, use-cases, security and usabilty
Blockchain overview - types, use-cases, security and usabiltyBlockchain overview - types, use-cases, security and usabilty
Blockchain overview - types, use-cases, security and usabilty
 
Електронна държава
Електронна държаваЕлектронна държава
Електронна държава
 
Blockchain - what is it good for?
Blockchain - what is it good for?Blockchain - what is it good for?
Blockchain - what is it good for?
 
Algorithmic and technological transparency
Algorithmic and technological transparencyAlgorithmic and technological transparency
Algorithmic and technological transparency
 
Scaling horizontally on AWS
Scaling horizontally on AWSScaling horizontally on AWS
Scaling horizontally on AWS
 
Alternatives for copyright protection online
Alternatives for copyright protection onlineAlternatives for copyright protection online
Alternatives for copyright protection online
 
Политики, основани на данни
Политики, основани на данниПолитики, основани на данни
Политики, основани на данни
 
Отворено законодателство
Отворено законодателствоОтворено законодателство
Отворено законодателство
 
Overview of Message Queues
Overview of Message QueuesOverview of Message Queues
Overview of Message Queues
 
Electronic governance steps in the right direction?
Electronic governance   steps in the right direction?Electronic governance   steps in the right direction?
Electronic governance steps in the right direction?
 
Сигурност на електронното управление
Сигурност на електронното управлениеСигурност на електронното управление
Сигурност на електронното управление
 
Opensource government
Opensource governmentOpensource government
Opensource government
 
Биометрична идентификация
Биометрична идентификацияБиометрична идентификация
Биометрична идентификация
 
Biometric identification
Biometric identificationBiometric identification
Biometric identification
 
Регулации и технологии
Регулации и технологииРегулации и технологии
Регулации и технологии
 
Regulations and technology
Regulations and technologyRegulations and technology
Regulations and technology
 

Kürzlich hochgeladen

%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Kürzlich hochgeladen (20)

Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
SHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions PresentationSHRMPro HRMS Software Solutions Presentation
SHRMPro HRMS Software Solutions Presentation
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...Chinsurah Escorts ☎️8617697112  Starting From 5K to 15K High Profile Escorts ...
Chinsurah Escorts ☎️8617697112 Starting From 5K to 15K High Profile Escorts ...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 

GDPR for developers

  • 2. About me • Founder and CEO of LogSentinel • Former IT advisor to the deputy prime minister of Bulgaria • Software engineer • Privacy advocate • Top 50 stackoverflow contributor • https://techblog.bozho.net • @bozhobg
  • 3. What is GDPR? Regulation Panic! Opportunity • a.k.a. direct common EU law • overrides / supercedes national data protection laws • extends the existing directive • Huge fines for non-compliance (4% of turnover or 20 million euro) • Insufficient understanding on what has to be done (consultants, regulators, companies) • To really protect your customers’ data • To get your systems secure
  • 4. Pros and cons of GDPR • Cons: • Bureaucratic • Not always clear • Requires most systems to be upgraded (burden) • Doesn’t solve all data protection issues • Leaves issues at the discretion of local regulators • Pros: • Unifies data protection in Europe • Mandates best practices • Requires consciousness about personal data processing
  • 5. Why do YOU care? • You may be: • implementing GDPR-related upgrades • be designated as a DPO (data protection officer) • implementing anything that handles data • conscious about personal data in your organization
  • 6. Terminology Data subject Personal data Data processing • a.k.a. User (person whose personal data is processed) • Any data about an identifiable or identified person • Any operation (manual or automated) on personal data Controller • The entity (company) that requests and uses the data Processor • Any entity that processes data on behalf of a controller (e.g. cloud service providers)
  • 7. GDPR principles Lawfulness Purpose limitation Data minimisation Accuracy Storage limitation Integrity and confidentiality …magic
  • 8. What about cookies? • ePrivacy directive -> ePrivacy regulation • Somehow different than GDPR • Answers some questions unanswered by GDPR: • Tracking cookies • Traffic data • Direct marketing • Opinion – should have been a unified regulation • With the upcoming ePrivacy regulation – no more useless cookie warnings • Also: directive for processing personal data by law enforcement
  • 9. When to process personal data • User’s consent • Performance of a contract • If required by law • Legitimate interest of the controller (including direct marketing) • Combination of the above
  • 10. GDPR functionalities • Functionalities are only part of it – processes/procedures/rules must also exist • “Forget me” (the right to erasure) • Mark profile as restricted (right to restriction of processing) • Export data (right to portability) • Allow profile editing (right to rectification) • “See all my data” (right to access) • Consent checkboxes • Age checks • Data destruction (data minimization principle)
  • 11. “Forget me” • Delete all data relating to a user • void forgetUser(UUID userId); • Useful for integration tests • What about foreign keys? • Allow nullable foreign keys • Anonymize user (leave only ID) • Cascade delete • Option: mark for deletion (+user cleanup job)
  • 12. “Forget me” • Event-sourcing? • Crypto-shredding • Blockchain? • Notify 3rd parties / call 3rd parties APIs: • CRMs, Payment gateways, etc. • Return 404 for indexable pages • Backups – store anonymized IDs separately • “My data model doesn’t allow for it” is no excuse
  • 13. Restrict processing • Mark user as “restricted” • Boolean database column • Button on profile page “restrict processing of personal data” • Button on admin page • Don’t show in searches, don’t send emails, don’t include in automated processing • Mark as restricted in 3rd party systems (e.g. with a custom field) • Don’t show on public pages / 404 • Why? • Edge cases: user objects to erasure;
  • 14. Export data • Right to data portability (no vendor lock-in; in theory) • Formats: JSON, XML, CSV or other standards • Schema: prefer schema.org • Could be a background process that sends email when done • Could be a manual process (easier to get compliant) • All personal data + all data, associated with the user (orders, messages, etc.) • Logs? No • Data from 3rd party systems? Yes • they should have that functionality as well
  • 15. Editable user profile • Right to rectification • All personal data fields should be editable • Could be a manual support process: “please fix my name” • Data obtained from 3rd parties • If email/phone is included, user should be able to identify with that email/phone (“shadow accounts”) • If not – manual process
  • 16. Ask for consent • No more “I accept the Terms and conditions and the privacy policy” • Unchecked checkbox for each processing purpose on registration • Data processing business processes to be listed in a register • User should be able to withdraw consent from the user profile page • If data is used for machine learning, get explicit consent for that • Store consent in a secure way • Boolean column may or may not be enough, depending on the regulator • Consents table? • Timestamping? • Re-request consent for existing users via email • Oral consent • Workarounds: consent vs contract with electronic signature?
  • 17. “See my data” • Overlaps with “export data” • Allow non-registered users to check if you have data about them • Confirm email • Show the processing records from the register
  • 18. Age check • On registration ask for age / date of birth / (checked) checkbox “I’m older than 16” • Ask parent for consent • How? • Nobody has a clue  • “The controller shall make reasonable efforts to verify in such cases that consent is given or authorised by the holder of parental responsibility over the child, taking into consideration available technology.” • Proposal: ask for parent’s email, send a link and get the registration confirmed • Proposal: upload “parent selfie” • Proposal: eID
  • 19. Limit data retention • Don’t store data for longer than “necessary” • Database column for “data retention deadline” • Scheduled job to delete/anonymize/pseudonymize data that past its deadline • Deadline vs confirmation event, e.g. “goods delivered” • Applicable to “purchase without registration” • Theoretically applicable to registered users • In practice: “I agree to having my address stored for the purpose of not entering it again on subsequent purchases”
  • 20. Do’s (encryption) • Encrypt data in transit • between application and database • between application and 3rd parties • between application and database nodes (gossip) • between multiple applications / microservices • obviously: between user and application • between load balancer and application? • Encrypt data at rest • LUKS or database-specific encryption • Encryption key: ideally on HSM / AWS KMS / … • Encrypt backups
  • 21. Do’s • Implement pseudonymization • replace personal data with bcrypt/PBKDF? • don’t use real production data for staging/test • pseudonymize for machine learning purposes • Protect data integrity • Simple solution: do nothing  Procedures should indicate integrity is guaranteed by the database via checksums • Other options: checksum column per record, enforced in the application layer, audit trail, 3rd party solutions like LogSentinel
  • 22. Do’s • Have your GDPR register of processing activities in something other than Excel • Internal web app / microservice or a 3rd party service • Integrate with consent checkboxes and “right to access” • Correlate audit logs with processing activities • Audit log for the register itself • Backups, high availability • Log access to personal data • Implied from the accountability principles • Correlate with processing activity • Search results / lists? Log “User X did query Y” • Register all API consumers (no anonymous access)
  • 23. Data breaches • Notify data protection regulator • Notify controllers (if you are a processor) • Notify users • Option: Configure your security incident system to report to the data protection regulator • Have proof of when the breach was discovered (timestamp emails/issues?) • Will it help? Questionable • (Dilbert)
  • 24. Don’t’s • Don’t use data for purposes other than what he user has agreed with • Request consent via email for new purposes • Legitimate interests can be dynamically added • Don’t log personal data – just ID • Cleanup old log files • Don’t put unnecessary registration fields • Don’t assume 3rd parties are compliant • Don’t assume having ISO XXX makes you compliant • Don’t dump personal data on public servers/buckets  • …and other obvious stuff
  • 25. Conclusion • GDPR would require changes, mostly • Best practices • Useful to customers • The majority of changes can be implemented within 2-3 sprints • GDPR forces better understanding of data flows • Compliance likely to be checklist-based • Beware of consultants claiming GDPR will require rewriting everything and asking for a lot of money • Regulators will need some teaching • The spirit of the regulation: be conscious about personal data
  • 26. Thank you Bozhidar Bozhanov: bozhidar.bozhanov@logsentinel.com