Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider GDPR implications of creating guest users with email addresses #815

Open
rmunn opened this issue May 22, 2024 · 10 comments
Open

Consider GDPR implications of creating guest users with email addresses #815

rmunn opened this issue May 22, 2024 · 10 comments
Labels
📦 Lexbox issues related to any server side code, fw-headless included Needs design

Comments

@rmunn
Copy link
Contributor

rmunn commented May 22, 2024

At the moment there is one way to create guest user accounts with an email address, through the bulk-add tool on project pages. Once #736 is merged, admins will also have a "Create User" button that can create an account. Are there GDPR implications to creating an account using someone's PII without their prior-given consent?

One possible solution would be to add some text on the verification email to say something like "If you do not want to use Language Depot, click here (link) to delete your account". And/or change the text of the verification email to include GDPR-compliant language saying "Click here to confirm your email address and consent to using your email address as your Send/Receive login". Wording to be figured out later, of course.

@hahn-kev
Copy link
Collaborator

The way we handle invites when inviting a single user to a project is that we don't record anything in the DB and we send an email to invite them, this contains authorization to also add them to the project which happens when they complete registration. I'd like to do the same thing for both bulk add and admin invite, that way we don't record anything without permission of the person with the email address.

It's unfortunate that this means that we'll be taking away a feature from the create user from admin page because the user won't exist until they accept the invite.

@myieye
Copy link
Contributor

myieye commented May 24, 2024

I talked to GPT4 about this:

  • If we want to be GDPR compliant then we can't store any PII without consent. That includes: first names, last names, usernames and email addresses. So, I don't think we gain anything by handling the email-address case differently than the login/username case.
  • We need to get consent if we want admins to be able to create users at all
  • A confirmation email to gain consent from the actual user would be best

Considering:

  • A checkbox for the admin to click is mostly/almost sufficient
  • We can't always get consent from the actual user, becuse we don't always have contact info for them
  • We don't really expect accounts to be created for people covered by the GDPR, because Europeans are generally tech-savvy enough

I think we should just add a "I have consent" checkbox. E.g.
I confirm that I have obtained consent from the user to store and process their personal data as per our <a href="/privacy-policy">Privacy Policy</a>.

@hahn-kev
Copy link
Collaborator

So it sounds like the Bulk add is just fine, assuming the usernames are anonymous, as there's no proper name, or email. And for our invite we don't record anything and the invite is sent to the user.

@myieye
Copy link
Contributor

myieye commented May 24, 2024

The default pattern our admins are accustomed to for usernames is firstName_lastName.
I don't think we can assume they're anonymous.

@megahirt
Copy link
Contributor

megahirt commented May 25, 2024 via email

@rmunn
Copy link
Contributor Author

rmunn commented May 27, 2024

The Wikipedia GDPR article quoted https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/personal-information-what-is-it/what-is-personal-information-a-guide/, so I went there and found the following:

Personal data is information that relates to an identified or identifiable individual.
[...]
If it is possible to identify an individual directly from the information you are processing, then that information may be personal data.

So usernames of the first_last type would definitely count, but usernames likes workshop0001 would not.

I think a checkbox with wording like "If this/these username(s) include someone's name, I have their consent to create an account for them" (though the wording would need to be worked out so as to be clear and not too complicated) would be good.

@megahirt
Copy link
Contributor

megahirt commented May 28, 2024 via email

@myieye
Copy link
Contributor

myieye commented May 28, 2024

It feels like we're all a bit out of our depth on this one 😆.

But, I think our options are essentially:

Option 1

  • We add a checkbox to each create user form forcing the admin to confirm that they have consent to give us the user's PII and we store that with the user

OR

Option 2

  • We implement 2 different workflows for every user that gets created (individually or with the batch tool) based on whether an email or username was provided (@rmunn as a PR for this)
  • We make it clear in the UI that the behaviour is different based on the type of value they provide
  • We tell admins not to enter PII for usernames (which I expect they'll find awkward, because it means they have to be creative every time they make a user)
  • We hope that admins listen and don't enter PII

Option 1 just seems like the clear winner to me:

  • We don't lose a feature
  • It keeps our code simpler
  • It keeps our UI simpler
  • We get consent

It's one weakenss IMO is that the consent is not bulletproof; it's second hand.
But option 2 is by no means bulletproof. We cannot guaruntee that we're not collecting PII.
And GPT4 is very convinced that it doesn't matter if we explicitly require PII or not, it's our responsibility to handle it properly and have consent if we happen to store it:

Conclusion

Even if you did not explicitly require PII, you are still responsible for ensuring that the data you collect and store does not inadvertently include it. Implementing validation mechanisms, providing clear guidelines, and regular audits are essential steps to mitigate this risk and ensure GDPR compliance.

@hahn-kev
Copy link
Collaborator

Alright I talked about this with Tim today. I like option 1 from a PO standpoint and I'd like that to be what we shoot for. We will track the user who reported that they obtained consent as that seems important (right now the CreatedBy column).

@megahirt can you find out if there's any official advice on the SIL side? Consider this my due diligence for finding out if a consent checkbox for our admins is enough, or if there's someone I can reach out to then let me know, thanks!

@megahirt
Copy link
Contributor

@megahirt can you find out if there's any official advice on the SIL side?

I've written T.R. about it - will let you know when he follows up or points me to someone in SIL that can answer our GDPR questions.

I'm good with option 1 as well - GPT4 has persuaded me that we are responsible for handling PII properly with consent even if we didn't know it was or didn't intend it to be.

@rmunn rmunn self-assigned this May 30, 2024
@hahn-kev hahn-kev added the 📦 Lexbox issues related to any server side code, fw-headless included label Dec 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📦 Lexbox issues related to any server side code, fw-headless included Needs design
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants