SlideShare une entreprise Scribd logo
1  sur  30
Télécharger pour lire hors ligne
Janne Kalliola
Exove
Managing Complexity and
Privacy Debt with Drupal
Tallinn, November 2, 2018
Agenda
§ About Exove and myself
§ Complexity in modern software
§ Privacy debt
§ Drupal to rescue
About Exove
§ Digital design and development
company in Finland, Estonia, the
UK, and Singapore
§ Full service portfolio from
business consulting and service
design to development and care
§ We serve both multinational giants
and new start-ups alike
We deliver digital growth
More about us:
§ www.exove.com
§ www.exove.com/gdpr
§ @exove
About Janne Kalliola
§ Founder and CEO of Exove
§ Continuent, First Hop, SSH,
Helsinki University of Technology
§ Been coding since 1983, first web
stuff in 1994
§ Worked with web publishing and
content managements systems
since 1999
§ I’ve written three CMS in the past
§ Worked with open source since
1998, with Drupal from 2007
More about me:
§ www.kallio.la
§ linkedin.com/in/jannekalliola
§ @plastic
Complexity and Privacy
Complexity and Modern Software
§ Modern software development practices, the fast pace of the industry,
and changing demands cause software platforms to be layered,
multifaceted and complicated systems
§ A systems consists of numerous interconnected subsystems created with
various technologies, deployed with different tools, and hosted in several
places
§ The complexity of the system is easily hidden under number of layers and
facades
Privacy Aspect
§ GDPR requires companies to specify how they manage private data
§ If the system is complicated – as they typically are – understanding the
management is hard
§ Besides, there are number of places were private data is stored
temporarily of permanently during processing
§ Log files, etc.
§ This is not the focus of today’s discussion, but it is good to know
Documentation Can Mislead
§ A typical IT system documentation is non-existent
§ If it does exist, the documentation is typically somewhat simplified view of
the architecture
§ Sometimes very simplified
§ Finally, it is most probably also outdated
§ If the system’s documentation is from era before GDPR, it does not focus
on data privacy much or at all
Example Architecture Diagram
The Same System, Zoomed in
§ Varnish or CDN in the front
§ Web server logs
§ Platform logs
§ Local caches
§ Uploaded binary files
§ Maillog of all the sent emails
§ Backups of the servers
§ SQL logs
§ Binary logs on all servers
§ Backups of binary logs
§ Database dumps made by
developers
§ Production dumps to staging
environment
§ Integration platform logs and
local caches
§ Integration platform document
DB oplogs
§ SaaS messaging platform logs
and internal database
§ Finally the actual data master,
its logs, backups and
development environment
And That Was Just Data Flows and Storages
§ The previous example was just about data flows and storages
§ It was the physical architecture of a modern platform
§ The logical architecture should reflect the desired functionality of the
system
§ To save time, we do not go through it right now for that system
§ The logical architecture can be easily even messier – as the requirements
of the system change during years, new features are added, and old ones
are deprecated
Debt
§ Every change that is not done “perfectly” creates debt
§ Bad architecture, wrong components, and features hacked in create
technical debt
§ Non-uniform ways to manage private data and distributing / spreading
out private data create privacy debt
§ Payment is due – sooner or later
§ Debt is paid in refactoring
§ Interest is paid when new features take longer to implement or cannot be
done in an optimal fashion
Privacy Debt
A concept in software architectures that reflects the implied cost of
additional work caused by choosing a non-uniform solution to handle
private data instead of using a commonly used or more centralised
approach.
Privacy Debt in Practice
§ Every time a new way to deal with private data is added to the system,
the complexity – and privacy debt – increases
§ And vice versa, if something is centralised or made more uniform, the debt
decreases
§ The debt is paid every time an individual uses one of her rights
§ The right honouring process is more complex than it could be due to various
different ways how handling of private data is implemented
Reducing the Privacy Debt
§ Uniformity: Define and apply uniform ways to handle private data. The data itself is
typically mostly the same in most of the systems, and it can be handled using the
same procedures. If possible, define the data uniformly and use that definition in all
systems applicable
§ Reduction: Move data outside of the systems, such as using SSO solution, and
minimise the personal data stored in a business system
§ Encapsulation: Require all new systems to expose APIs to ensure the users’ rights on
that system
§ Centralisation: Create a centralised system that handles all – or the bulk of – users’
rights. Connect all your systems, one by one, to this centralised private data
management platform
Drupal and Privacy Debt
Drupal to Rescue
§ Drupal has numerous built-in tools to manage arbitrary content,
structured and unstructured
§ And more can be installed as modules
§ Private data is at the end just data, and it can be managed with the same
tools
§ Besides, Drupal has also a good user rights management subsystem
§ GPDR requires restricting access to private data to only those that need it
§ This can be achieved easily with Drupal’s user rights
API and Headlessness
§ Drupal has extensive REST API
§ It can thus be used also as a headless private data repository
§ The centralised solution to manage privacy debt
§ Authentication, authorisation, and user rights allow controlling external access of
private data
§ Thus every system does not get to see the full amount of data, but only the
relevant subset – this, of course, requires careful planning of the data structures
§ It can also be integrated with other systems to work as a consumer of private
data
Rules
§ Besides storage and connectivity, Drupal can be used also as a private
data automatic management platform
§ Private data can be altered and removed using Rules functionality
§ Of course, creating own modules to manipulate the data is also an option
§ Especially, if the business logic is hard to implement with Rules
Views
§ As Drupal is also a publishing platform, various end-user views can be
constructed easily
§ These can be either for viewing only or also CRUD operations for the data
§ Again, restricted and controlled by the user rights
§ Drupal admin ui provides quick and easy way to implement these
§ But implementing real end-user templates might make the system more
approachable to a common user
§ And the functionality can be different for people having access to the front-end
and those having access to the Drupal admin ui in its entirety
GDPR User Rights and Drupal
§ GDPR rights (right of rectification, right of removal, etc.) can be
implemented using Drupal’s admin UI
§ An user wanting to exercise rights contacts an operator with admin rights and
the operator makes the changes within admin UI
§ Another option is to provide users a self-service view to see their
information as a normal Drupal provided webpage
§ Depending on the business/use case, there might be also possibility to
remove and change the information as self-service
§ Or then a simple contact form or email address to send the requests to an
operator
GDPR Module
§ There is a specific GDPR module for Drupal
§ https://www.drupal.org/project/gdpr
§ The focus of the module is to provide support for handling GDPR
requirements and user rights in websites powered by Drupal
§ The module is not straightforwardly useful in this scenario
§ However, GDPR fields and GDPR tasks submodules could have benefits in
organising the information
§ As usual, your mileage may vary when using modules to something else than their
precise intended purpose
§ The future features look interesting – thus consider contributing
Caveat Emptor
§ Remember, that Drupal has a nasty habit of creating users automatically
when using external authentication service
§ Each external user ever logged in has a Drupal account
§ And this feature cannot be turned off
§ Thus, you will end up spreading your user information to a new platform –
whether you like it or not
Recap
Recap
§ Complexity combined with privacy requirements can make systems very
hard to manage
§ Concept of privacy debt allows you to think the future consequences of
bad choices made today
§ Drupal is an excellent tool to manage private data due to its versality,
readymade tools, and adaptivity in various scenarios
Thank You!
Questions? Comments?

Contenu connexe

Similaire à Managing Complexity and Privacy Debt with Drupal

Enabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data VirtualizationEnabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data VirtualizationDenodo
 
Why Data Mesh Needs Data Virtualization (ASEAN)
Why Data Mesh Needs Data Virtualization (ASEAN)Why Data Mesh Needs Data Virtualization (ASEAN)
Why Data Mesh Needs Data Virtualization (ASEAN)Denodo
 
Govern and Protect Your End User Information
Govern and Protect Your End User InformationGovern and Protect Your End User Information
Govern and Protect Your End User InformationDenodo
 
InfoSphere BigInsights
InfoSphere BigInsightsInfoSphere BigInsights
InfoSphere BigInsightsWilfried Hoge
 
A Successful Journey to the Cloud with Data Virtualization
A Successful Journey to the Cloud with Data VirtualizationA Successful Journey to the Cloud with Data Virtualization
A Successful Journey to the Cloud with Data VirtualizationDenodo
 
Best practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationBest practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationesebeus
 
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)Denodo
 
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deploymentsSAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deploymentsChris Kernaghan
 
North Devon Farms - Getting to know the Cloud 14th Oct 2015
North Devon Farms - Getting to know the Cloud 14th Oct 2015North Devon Farms - Getting to know the Cloud 14th Oct 2015
North Devon Farms - Getting to know the Cloud 14th Oct 2015Get up to Speed
 
How to Avoid Pitfalls in Big Data Analytics Webinar
How to Avoid Pitfalls in Big Data Analytics WebinarHow to Avoid Pitfalls in Big Data Analytics Webinar
How to Avoid Pitfalls in Big Data Analytics WebinarDatameer
 
Cloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud ComputingCloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud ComputingHostway|HOSTING
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsChris Muir
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...DataStax Academy
 
The wonders of Cloud Computing.pptx
The wonders of Cloud Computing.pptxThe wonders of Cloud Computing.pptx
The wonders of Cloud Computing.pptxOmSatpathy
 
Automating Infrastructure as a Service Deployments and monitoring – TEC213
Automating Infrastructure as a Service Deployments and monitoring – TEC213Automating Infrastructure as a Service Deployments and monitoring – TEC213
Automating Infrastructure as a Service Deployments and monitoring – TEC213Chris Kernaghan
 
access-control-week-3
access-control-week-3access-control-week-3
access-control-week-3jemtallon
 

Similaire à Managing Complexity and Privacy Debt with Drupal (20)

Enabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data VirtualizationEnabling a Data Mesh Architecture with Data Virtualization
Enabling a Data Mesh Architecture with Data Virtualization
 
Why Data Mesh Needs Data Virtualization (ASEAN)
Why Data Mesh Needs Data Virtualization (ASEAN)Why Data Mesh Needs Data Virtualization (ASEAN)
Why Data Mesh Needs Data Virtualization (ASEAN)
 
Govern and Protect Your End User Information
Govern and Protect Your End User InformationGovern and Protect Your End User Information
Govern and Protect Your End User Information
 
InfoSphere BigInsights
InfoSphere BigInsightsInfoSphere BigInsights
InfoSphere BigInsights
 
Google Products.pptx
Google Products.pptxGoogle Products.pptx
Google Products.pptx
 
A Successful Journey to the Cloud with Data Virtualization
A Successful Journey to the Cloud with Data VirtualizationA Successful Journey to the Cloud with Data Virtualization
A Successful Journey to the Cloud with Data Virtualization
 
Best practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentationBest practices for application migration to public clouds interop presentation
Best practices for application migration to public clouds interop presentation
 
Cloud computing
Cloud computingCloud computing
Cloud computing
 
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
Cloud Migration headache? Ease the pain with Data Virtualization! (EMEA)
 
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deploymentsSAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
SAP Teched 2012 Session Tec3438 Automate IaaS SAP deployments
 
North Devon Farms - Getting to know the Cloud 14th Oct 2015
North Devon Farms - Getting to know the Cloud 14th Oct 2015North Devon Farms - Getting to know the Cloud 14th Oct 2015
North Devon Farms - Getting to know the Cloud 14th Oct 2015
 
How to Avoid Pitfalls in Big Data Analytics Webinar
How to Avoid Pitfalls in Big Data Analytics WebinarHow to Avoid Pitfalls in Big Data Analytics Webinar
How to Avoid Pitfalls in Big Data Analytics Webinar
 
Cloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud ComputingCloud 101: The Basics of Cloud Computing
Cloud 101: The Basics of Cloud Computing
 
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope OptionsOracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
Oracle ADF Architecture TV - Design - Task Flow Data Control Scope Options
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
 
Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage Cloud Computing & Cloud Storage
Cloud Computing & Cloud Storage
 
The wonders of Cloud Computing.pptx
The wonders of Cloud Computing.pptxThe wonders of Cloud Computing.pptx
The wonders of Cloud Computing.pptx
 
Automating Infrastructure as a Service Deployments and monitoring – TEC213
Automating Infrastructure as a Service Deployments and monitoring – TEC213Automating Infrastructure as a Service Deployments and monitoring – TEC213
Automating Infrastructure as a Service Deployments and monitoring – TEC213
 
Adopting the Cloud
Adopting the CloudAdopting the Cloud
Adopting the Cloud
 
access-control-week-3
access-control-week-3access-control-week-3
access-control-week-3
 

Plus de Exove

Data security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problemsData security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problemsExove
 
Provisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – ExoveProvisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – ExoveExove
 
Advanced custom fields in Wordpress
Advanced custom fields in WordpressAdvanced custom fields in Wordpress
Advanced custom fields in WordpressExove
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveExove
 
Jenkins and visual regression – Exove
Jenkins and visual regression – ExoveJenkins and visual regression – Exove
Jenkins and visual regression – ExoveExove
 
Server-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveServer-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveExove
 
WebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – ExoveWebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – ExoveExove
 
Diversity in recruitment
Diversity in recruitmentDiversity in recruitment
Diversity in recruitmentExove
 
Saavutettavuus liiketoimintana
Saavutettavuus liiketoimintanaSaavutettavuus liiketoimintana
Saavutettavuus liiketoimintanaExove
 
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistustaSaavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistustaExove
 
Mitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisälläänMitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisälläänExove
 
Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Exove
 
GDPR for developers
GDPR for developersGDPR for developers
GDPR for developersExove
 
Life with digital services after GDPR
Life with digital services after GDPRLife with digital services after GDPR
Life with digital services after GDPRExove
 
GDPR - no beginning no end
GDPR - no beginning no endGDPR - no beginning no end
GDPR - no beginning no endExove
 
Developing truly personalised experiences
Developing truly personalised experiencesDeveloping truly personalised experiences
Developing truly personalised experiencesExove
 
Customer Experience and Personalisation
Customer Experience and PersonalisationCustomer Experience and Personalisation
Customer Experience and PersonalisationExove
 
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...Exove
 
Dataohjattu asiakaskokemus
Dataohjattu asiakaskokemusDataohjattu asiakaskokemus
Dataohjattu asiakaskokemusExove
 
DrupalCamp Baltics: You Need to Grow to Stay Alive
DrupalCamp Baltics: You Need to Grow to Stay AliveDrupalCamp Baltics: You Need to Grow to Stay Alive
DrupalCamp Baltics: You Need to Grow to Stay AliveExove
 

Plus de Exove (20)

Data security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problemsData security in the age of GDPR – most common data security problems
Data security in the age of GDPR – most common data security problems
 
Provisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – ExoveProvisioning infrastructure to AWS using Terraform – Exove
Provisioning infrastructure to AWS using Terraform – Exove
 
Advanced custom fields in Wordpress
Advanced custom fields in WordpressAdvanced custom fields in Wordpress
Advanced custom fields in Wordpress
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – Exove
 
Jenkins and visual regression – Exove
Jenkins and visual regression – ExoveJenkins and visual regression – Exove
Jenkins and visual regression – Exove
 
Server-side React with Headless CMS – Exove
Server-side React with Headless CMS – ExoveServer-side React with Headless CMS – Exove
Server-side React with Headless CMS – Exove
 
WebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – ExoveWebSockets in Bravo Dashboard – Exove
WebSockets in Bravo Dashboard – Exove
 
Diversity in recruitment
Diversity in recruitmentDiversity in recruitment
Diversity in recruitment
 
Saavutettavuus liiketoimintana
Saavutettavuus liiketoimintanaSaavutettavuus liiketoimintana
Saavutettavuus liiketoimintana
 
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistustaSaavutettavuus osana Eläkeliiton verkkosivu-uudistusta
Saavutettavuus osana Eläkeliiton verkkosivu-uudistusta
 
Mitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisälläänMitä saavutettavuusdirektiivi pitää sisällään
Mitä saavutettavuusdirektiivi pitää sisällään
 
Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8Creating Landing Pages for Drupal 8
Creating Landing Pages for Drupal 8
 
GDPR for developers
GDPR for developersGDPR for developers
GDPR for developers
 
Life with digital services after GDPR
Life with digital services after GDPRLife with digital services after GDPR
Life with digital services after GDPR
 
GDPR - no beginning no end
GDPR - no beginning no endGDPR - no beginning no end
GDPR - no beginning no end
 
Developing truly personalised experiences
Developing truly personalised experiencesDeveloping truly personalised experiences
Developing truly personalised experiences
 
Customer Experience and Personalisation
Customer Experience and PersonalisationCustomer Experience and Personalisation
Customer Experience and Personalisation
 
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...Adventures In Programmatic Branding – How To Design With Algorithms And How T...
Adventures In Programmatic Branding – How To Design With Algorithms And How T...
 
Dataohjattu asiakaskokemus
Dataohjattu asiakaskokemusDataohjattu asiakaskokemus
Dataohjattu asiakaskokemus
 
DrupalCamp Baltics: You Need to Grow to Stay Alive
DrupalCamp Baltics: You Need to Grow to Stay AliveDrupalCamp Baltics: You Need to Grow to Stay Alive
DrupalCamp Baltics: You Need to Grow to Stay Alive
 

Dernier

The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is insideshinachiaurasa2
 
%+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
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%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 masabamasaba
 
%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 Hararemasabamasaba
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile EnvironmentVictorSzoltysek
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%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 tembisamasabamasaba
 
%+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
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionOnePlan Solutions
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesVictorSzoltysek
 
%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 Bahrainmasabamasaba
 

Dernier (20)

CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
%+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...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%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
 
%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
 
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT  - Elevating Productivity in Today's Agile EnvironmentHarnessing ChatGPT  - Elevating Productivity in Today's Agile Environment
Harnessing ChatGPT - Elevating Productivity in Today's Agile Environment
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
%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 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...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM TechniquesAI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
AI Mastery 201: Elevating Your Workflow with Advanced LLM Techniques
 
%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
 

Managing Complexity and Privacy Debt with Drupal

  • 1. Janne Kalliola Exove Managing Complexity and Privacy Debt with Drupal Tallinn, November 2, 2018
  • 2. Agenda § About Exove and myself § Complexity in modern software § Privacy debt § Drupal to rescue
  • 3. About Exove § Digital design and development company in Finland, Estonia, the UK, and Singapore § Full service portfolio from business consulting and service design to development and care § We serve both multinational giants and new start-ups alike We deliver digital growth More about us: § www.exove.com § www.exove.com/gdpr § @exove
  • 4. About Janne Kalliola § Founder and CEO of Exove § Continuent, First Hop, SSH, Helsinki University of Technology § Been coding since 1983, first web stuff in 1994 § Worked with web publishing and content managements systems since 1999 § I’ve written three CMS in the past § Worked with open source since 1998, with Drupal from 2007 More about me: § www.kallio.la § linkedin.com/in/jannekalliola § @plastic
  • 6. Complexity and Modern Software § Modern software development practices, the fast pace of the industry, and changing demands cause software platforms to be layered, multifaceted and complicated systems § A systems consists of numerous interconnected subsystems created with various technologies, deployed with different tools, and hosted in several places § The complexity of the system is easily hidden under number of layers and facades
  • 7. Privacy Aspect § GDPR requires companies to specify how they manage private data § If the system is complicated – as they typically are – understanding the management is hard § Besides, there are number of places were private data is stored temporarily of permanently during processing § Log files, etc. § This is not the focus of today’s discussion, but it is good to know
  • 8. Documentation Can Mislead § A typical IT system documentation is non-existent § If it does exist, the documentation is typically somewhat simplified view of the architecture § Sometimes very simplified § Finally, it is most probably also outdated § If the system’s documentation is from era before GDPR, it does not focus on data privacy much or at all
  • 10. The Same System, Zoomed in
  • 11. § Varnish or CDN in the front § Web server logs § Platform logs § Local caches § Uploaded binary files § Maillog of all the sent emails § Backups of the servers
  • 12. § SQL logs § Binary logs on all servers § Backups of binary logs § Database dumps made by developers § Production dumps to staging environment
  • 13. § Integration platform logs and local caches § Integration platform document DB oplogs § SaaS messaging platform logs and internal database
  • 14. § Finally the actual data master, its logs, backups and development environment
  • 15. And That Was Just Data Flows and Storages § The previous example was just about data flows and storages § It was the physical architecture of a modern platform § The logical architecture should reflect the desired functionality of the system § To save time, we do not go through it right now for that system § The logical architecture can be easily even messier – as the requirements of the system change during years, new features are added, and old ones are deprecated
  • 16. Debt § Every change that is not done “perfectly” creates debt § Bad architecture, wrong components, and features hacked in create technical debt § Non-uniform ways to manage private data and distributing / spreading out private data create privacy debt § Payment is due – sooner or later § Debt is paid in refactoring § Interest is paid when new features take longer to implement or cannot be done in an optimal fashion
  • 17. Privacy Debt A concept in software architectures that reflects the implied cost of additional work caused by choosing a non-uniform solution to handle private data instead of using a commonly used or more centralised approach.
  • 18. Privacy Debt in Practice § Every time a new way to deal with private data is added to the system, the complexity – and privacy debt – increases § And vice versa, if something is centralised or made more uniform, the debt decreases § The debt is paid every time an individual uses one of her rights § The right honouring process is more complex than it could be due to various different ways how handling of private data is implemented
  • 19. Reducing the Privacy Debt § Uniformity: Define and apply uniform ways to handle private data. The data itself is typically mostly the same in most of the systems, and it can be handled using the same procedures. If possible, define the data uniformly and use that definition in all systems applicable § Reduction: Move data outside of the systems, such as using SSO solution, and minimise the personal data stored in a business system § Encapsulation: Require all new systems to expose APIs to ensure the users’ rights on that system § Centralisation: Create a centralised system that handles all – or the bulk of – users’ rights. Connect all your systems, one by one, to this centralised private data management platform
  • 21. Drupal to Rescue § Drupal has numerous built-in tools to manage arbitrary content, structured and unstructured § And more can be installed as modules § Private data is at the end just data, and it can be managed with the same tools § Besides, Drupal has also a good user rights management subsystem § GPDR requires restricting access to private data to only those that need it § This can be achieved easily with Drupal’s user rights
  • 22. API and Headlessness § Drupal has extensive REST API § It can thus be used also as a headless private data repository § The centralised solution to manage privacy debt § Authentication, authorisation, and user rights allow controlling external access of private data § Thus every system does not get to see the full amount of data, but only the relevant subset – this, of course, requires careful planning of the data structures § It can also be integrated with other systems to work as a consumer of private data
  • 23. Rules § Besides storage and connectivity, Drupal can be used also as a private data automatic management platform § Private data can be altered and removed using Rules functionality § Of course, creating own modules to manipulate the data is also an option § Especially, if the business logic is hard to implement with Rules
  • 24. Views § As Drupal is also a publishing platform, various end-user views can be constructed easily § These can be either for viewing only or also CRUD operations for the data § Again, restricted and controlled by the user rights § Drupal admin ui provides quick and easy way to implement these § But implementing real end-user templates might make the system more approachable to a common user § And the functionality can be different for people having access to the front-end and those having access to the Drupal admin ui in its entirety
  • 25. GDPR User Rights and Drupal § GDPR rights (right of rectification, right of removal, etc.) can be implemented using Drupal’s admin UI § An user wanting to exercise rights contacts an operator with admin rights and the operator makes the changes within admin UI § Another option is to provide users a self-service view to see their information as a normal Drupal provided webpage § Depending on the business/use case, there might be also possibility to remove and change the information as self-service § Or then a simple contact form or email address to send the requests to an operator
  • 26. GDPR Module § There is a specific GDPR module for Drupal § https://www.drupal.org/project/gdpr § The focus of the module is to provide support for handling GDPR requirements and user rights in websites powered by Drupal § The module is not straightforwardly useful in this scenario § However, GDPR fields and GDPR tasks submodules could have benefits in organising the information § As usual, your mileage may vary when using modules to something else than their precise intended purpose § The future features look interesting – thus consider contributing
  • 27. Caveat Emptor § Remember, that Drupal has a nasty habit of creating users automatically when using external authentication service § Each external user ever logged in has a Drupal account § And this feature cannot be turned off § Thus, you will end up spreading your user information to a new platform – whether you like it or not
  • 28. Recap
  • 29. Recap § Complexity combined with privacy requirements can make systems very hard to manage § Concept of privacy debt allows you to think the future consequences of bad choices made today § Drupal is an excellent tool to manage private data due to its versality, readymade tools, and adaptivity in various scenarios