12:00:03 #startmeeting GDPR IRC meeting 9 July 2018 12:00:03 Meeting started Mon Jul 9 12:00:03 2018 UTC. The chair is cait. Information about MeetBot at http://wiki.debian.org/MeetBot. 12:00:03 Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 12:00:03 The meeting name has been set to 'gdpr_irc_meeting_9_july_2018' 12:00:09 #topic Introductions 12:00:17 #info Katrin Fischer, BSZ, Germany 12:00:20 #info Marcel de Rooy, Rijksmuseum 12:00:24 please introduce yourself using #info! 12:00:26 #info Joy Nelson ByWater Solutions 12:00:28 #info Jon Knight, Loughborough University 12:00:36 #link https://wiki.koha-community.org/wiki/GDPR_IRC_meeting_9_July_2018#Agenda Today's agenda 12:00:39 #info Michal Denár, KohaCZ 12:00:46 #info Colin Campbell, PTFS-Europe 12:01:03 giving it another minute or so 12:01:13 #info Anne-Claire Bernaudin, librarian, University Rennes 1, France 12:01:54 #topic Status update on planned developments and road map 12:02:14 #link https://wiki.koha-community.org/wiki/Improve_data_protection_and_patron_privacy Road map 12:02:40 maybe first some updates then move to the questions? 12:03:01 bug 20819 is in needs signoff 12:03:01 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20819 enhancement, P5 - low, ---, m.de.rooy, Needs Signoff , GDPR: Add a consent field for processing personal data in account menu and self-registration 12:03:03 #info 12 - documentation about cookies used in Koha is done 12:03:34 #info there is also a cookie coding guidelines now, that says that developers have to update the documentation 12:03:44 i will update the table later 12:03:53 marcelr: do you have the number this is referring to? 12:04:11 i wrote it at the end of the table 12:04:33 i think it might fit with 13 12:04:33 but it touches a few points 12:04:51 #info Martin Renvoize - PTFS Europe 12:05:07 i can move it into the table later if you agree 12:05:14 yeah fine 12:05:43 it combines consent and account deletion request 12:05:47 ok, any other updates on the work underway? 12:05:49 oh that's interesting 12:05:52 because that was on my list 12:05:52 What about add some new guidelines about private data into development gudelines? 12:06:10 m23 I think that would make a good next topic 12:06:29 cait ok 12:06:50 #info bug 20819 deleing with patron self registration (consent) and patron deletion is ready for sign off 12:07:22 note that adding a deletion request and processing it are two things 12:07:32 this is the first part 12:07:38 but you can request one? 12:07:42 yeah 12:07:46 that's a good first step 12:07:57 you either give a consent or ask to delete your acoount 12:08:15 you cannot work without answering 12:08:30 any more updates to the table? 12:08:33 In the table in the wiki page, I don't see anything about old_issues and statistics tables. They need to be anonmyized too, as old_reserves. 12:08:49 anne-claire: there are some entries 12:08:57 Missed it, sorry 12:09:00 number 3 12:09:05 is anonimizing the borrower not enough? 12:09:06 and 7 i think 12:09:24 marcelr: at the moment we are not doing that 12:09:32 but it depends on how long you want to store data 12:09:42 there is actually no need to store issues data as logn as the patron exist 12:10:00 maybe statistical purposes 12:10:09 yeah, but then you can work with anonymized data too 12:10:18 the idea was to move patron category and age to the statistics table 12:10:22 to remove the need for the link with the patron 12:10:23 For statistics, pseudnomymization would be a need 12:10:31 To identify a single user 12:10:46 and borrowernumber could be removed after some time frame 12:10:59 ok, i will add a new topic then for coding guidelines? 12:11:05 We'd need to be able to tie an old-issue down to the department that the user who made it was in for example, as part of our purchasing system. 12:11:16 where do you store department? 12:11:28 In the attributes for the borrower. 12:11:33 hm 12:11:37 ack 12:11:57 maybe we'd need a way to map some data to statistics by configuration 12:12:13 let the library decide what we copy from the patron record 12:12:25 cait: yes 12:12:30 have a 'free' field in statistics like sort1, sort2 ? 12:12:37 something like that 12:12:42 what do you think 12:12:43 ? 12:12:51 it allows for flexibility for sure 12:13:06 i can add the idea to 7 latr 12:13:15 #info Mirko Tietgen, late 12:13:52 #topic Coding Guidelines for privacy 12:14:19 m23? 12:15:06 We mabe should inspire by https://github.com/joomla-projects/privacy-framework 12:15:55 #link https://github.com/joomla-projects/privacy-framework 12:16:22 Its integrated into core of Joomla, every new plugin, feature or code must corresponded into privacy framework. 12:16:30 #idea (from earlier) Add some columns to statistics that can be mapped to patron data by the library 12:16:56 If some law change it can be easier to implement it into system 12:17:12 I like the privacy of the Joomla version history: https://docs.joomla.org/Joomla_3.9_version_history 12:17:13 can you give an example? 12:17:38 hm empty for me? 12:17:44 me too 12:17:48 Exactly. 12:17:50 :-) 12:17:52 private :) 12:18:14 I think i don't understand 12:18:23 if privacy data are in log, tables developrs know it and know how hadle this data 12:18:55 all provate data are mapped 12:19:32 its clear? 12:19:45 sorry, not yet 12:19:55 just hiding the information seems a bit like Security by obscurity to me 12:20:05 yes 12:20:09 security through obscurity (had to look it up) 12:20:16 i like that phrase cait! 12:20:39 Not terribly obscure if its documented though. 12:20:48 but what exactly are we not seeing? 12:20:50 nor secure 12:20:54 we cant just hide private data, its agianst rules of GDPR 12:21:09 we must be able to remove or anonymise them 12:21:47 m23: do you have specific suggestions for new coding guidelines ? 12:22:32 marcelr Im not sure .... how specify it 12:22:38 hm maybe something like: don't add more data without a deletion/anonymization stretegy? 12:22:58 like if we added a message_queue again, we'd immediately also provide a script to delete the date/clean up 12:23:11 or... deal with what happens when the patron is deleted 12:23:17 we don't always do that cleanly in the codebase 12:23:36 cascaded deletes clean up a lot .. 12:23:39 for example the messages to patrons (the notes) are never cleaned, they remain linked to deletedborrowers 12:23:49 yep, but they are holes currently 12:23:52 ok 12:23:55 every new functionality, plugin thaht hande privacy data must do it clear 12:23:57 so it might be worth giving it some thought implementing new features 12:24:19 And should the method for making patron data anonymous be implemented in the Koha core modules, so that new additions can make use of these rather than reinventing the wheel? 12:24:30 so first step is mapping privacy date in system/databese 12:24:36 #idea provide a way to clean up/anonymize data at the time of adding new features as well 12:25:33 private data can be at easy identify tables, but hiden at logs, messages, etc. 12:25:46 #idea clean up/anonymize data when patron is deleted for new features/tables 12:25:58 we have a list of tables that have links to patron data 12:26:03 not sure if that would be helpful? 12:26:16 cait, yes, it can help 12:26:17 there are also several cronjobs that can create logs containing patron information 12:26:30 maintaining the list is a bit... hard 12:26:31 exactly 12:26:32 but i can try to put it on my to do list 12:26:52 an automatic way of documenting this might be nicer 12:26:59 some kidn "privacy framework" can help in future 12:27:04 we have https://schema.koha-community.org for example 12:27:18 m23 i think it#s not clear from the page you linked how that works 12:27:27 the readme below is only about Joomla in general 12:27:52 #info CLaire Hernandez, BibLibre (bad connection) 12:28:00 Im not able now to find better info, I'll try 12:28:01 welcome clrh 12:28:02 m23: do you work with joomla? could you give some more info on how the framework works? as cait said, the repository has no information about it 12:28:13 in the readme at least 12:29:18 maybe we can discuss next time with some more info on the agenda? 12:29:26 i'd like to move on to the general discussion 12:29:36 This may be more useful for Joomla GDPR support: https://data2.eu/en/gdpr-tips/146-joomla-gdpr-compliance 12:29:50 #link https://data2.eu/en/gdpr-tips/146-joomla-gdpr-compliance 12:29:57 cait, OK, if I add some new better info about Joomla or similar solution, I'add link into wiki 12:30:07 thx m23 12:30:08 link in german about joomla https://www.joomla.de/news/joomla/496-joomla-3-9-und-joomla-3-10-dsgvo 12:30:10 m23++ 12:30:18 #link https://www.joomla.de/news/joomla/496-joomla-3-9-und-joomla-3-10-dsgvo (German) 12:30:21 moving on 12:30:27 #topic General discussion 12:31:22 Should I carry on waiting for REST APIs for bug 20028, or put some place holder code in to extract and generate some JSON data directly? 12:31:22 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20028 enhancement, P5 - low, ---, koha-bugs, NEW , Export all patron related personal data in one package 12:31:39 i think waiting for all rest apis needed might take too long 12:31:47 having something a little earlier might be good 12:31:50 OK 12:31:56 what do others think? 12:32:38 This feature in API can be very useful if library use for exaplet VuFind 12:32:39 I can always do a first cut without the REST APIs and replace it with them when they arrive. 12:33:42 Solution to provide personal data to download via user accout is very nice to users 12:33:44 i'd use rest api wherever possible 12:33:54 What data are you extracting? 12:33:56 but i think having it complete for what we need will take more than this year 12:34:04 talljoy: the rule is everything we store about a patron 12:34:07 demographic, fines, circ, old circ, reserves, etc... 12:34:12 has to be provided ina machine readable format 12:34:15 the whole kit and kaboodle eh. 12:34:16 for download 12:34:18 It will have to (eventually) extract all information related to the borrower that we hold. 12:34:27 everything 12:34:30 reviews, tags, ... 12:34:31 especially, issue history, reservation history, payments history ... 12:34:39 star ratings 12:34:42 that would be a messy csv, or multiple csvs yes? 12:34:51 we were thinking messy json 12:34:54 I was thinking more JSON than CSV to be honest. 12:34:56 :D 12:35:06 Can one not already do that using reports 12:35:11 star ratings … 12:35:11 Should we change it from CSV to JSON in the wiki? 12:35:13 a better messy in json. agreed 12:35:32 "in one package" can thing more packaes but from one point 12:36:14 i think coudl also be a zip file? 12:36:20 a zip with a lot of files is a package 12:36:23 heh 12:36:25 :D 12:36:25 i think reports would be hard because lots of unions 12:36:32 not easy to provide a big one 12:36:41 zip are best for bigger files 12:36:42 would be an unwiedly report. 12:36:46 ashimema: do you have something developed maybe? 12:37:02 i think maybe we hsould not overthink it 12:37:07 but try to get something in place so we comply 12:37:09 and then refine 12:37:44 OK, I'll make a start on extracting some data so there's something to test and build upon. 12:38:00 greenjimll++ 12:38:25 I think marcelr's development might be dealing with my 'request account deletion' 12:38:28 can you confirm marcel? 12:38:58 #info see bug 20819 for requesting account deletion 12:38:58 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20819 enhancement, P5 - low, ---, m.de.rooy, Needs Signoff , GDPR: Add a consent field for processing personal data in account menu and self-registration 12:39:02 i think he said he only had half an hour 12:39:12 the other thing came up here in discussion about anonymizing automatically using the cronjobs 12:39:23 What about some extension of current anonymisation tool? Like list of anonymised patrons, because some library must be able to finf paper contract to remove them after anonymise "digital" data in Koha. 12:39:56 a new patron registerts at the library, they fill out a form and sign it, it's stored, the patron expires, the automatic deletion happens after x months... the paper remains 12:40:04 m23: using the tool that works, but what about using the cronjob? 12:40:42 Tool os betetr for this scenary insn!t it? 12:41:03 not sure, i think it's easy to forget 12:41:08 every manual process is 12:41:57 Cronjob is good, but how list names that was/waill be anonymised? 12:41:59 #info What happens to registration forms when a patron is deleted automatically (expired since...) 12:42:05 yeah exactly 12:42:15 i was hoping someone could provide a good idea :) 12:43:03 sounds like the cron would need to have a 'report' option that could be emailed once it runs and anonymizes patrons 12:43:16 report containing the list of names so the library could remove paper contract? 12:43:30 automatic way willl be better ... maybe Koha can send list by mailer, what do You think? 12:43:53 talljoy: emailing is not quite what we want... (privacy) but maybe a file that can be accessed 12:44:04 yeah 12:44:13 again back to manual. 12:44:16 because you'd email patron names and cardnumbers i think... as a minnum 12:44:21 someone has to go get the file 12:44:22 The UK ICO says that you need to keep consent forms: https://ico.org.uk/for-organisations/guide-to-the-general-data-protection-regulation-gdpr/lawful-basis-for-processing/consent/ 12:44:31 or automate another process to grab the file and move it somewhere else 12:44:32 yep - just email is not encrypted usually or signed 12:44:36 or at least that's harder to do 12:44:46 getting a file from the server might be easier in a safe way 12:45:18 hm something to think about :) 12:45:23 someone got something else? 12:45:54 so tool can be other solutio :-) 12:46:06 wit caledar reminder :-) 12:46:28 #idea add a tool to remind of tasks regularly (like anonymizing data) 12:46:59 cait great! 12:47:06 great idea, a reminder ! 12:47:06 that's what google calendar is for. 12:47:16 talljoy: you are killing our fun :) 12:47:24 heh 12:47:32 maybe repariing the scheduler could already hlep 12:47:37 and extend anon toll with list of patrons to view/download 12:47:44 NOW there is a good idead Cait! 12:47:54 #info idea repair the scheduler! 12:47:55 m23 yes! 12:48:08 hm i am getting confused with infos and ideas 12:48:12 maybe time to end the meeting? 12:48:20 :-) 12:48:24 we'll have a poll about the next data again i think if noone is opposed? 12:48:32 add m23 idea about the tool providing a preview 12:48:52 oh yes 12:49:10 #idea Provide a review of patrons to delete or a list of patrons deleted when running the patron deletion/anonymizing tool 12:49:13 hope that made sense 12:49:23 hm review preview... 12:49:23 gah. 12:49:29 #idea review = preview 12:50:05 ending in a minute or so if nothing else comes up 12:50:36 thanks for debate :-) 12:50:45 thx all for attending! 12:50:50 In bug 20819 do we store the consent form they consented to? 12:50:50 04Bug http://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=20819 enhancement, P5 - low, ---, m.de.rooy, Needs Signoff , GDPR: Add a consent field for processing personal data in account menu and self-registration 12:51:00 i think marcelr is no longer around 12:51:03 maybe leave him a later? 12:51:09 OK 12:51:10 or comment on the bug 12:51:13 might be more efficient 12:51:17 thanks cait! good meeting. til next time. 12:51:23 #endmeeting