XSF Discussion - 2018-04-23


  1. daniel

    Can a muc member revoke their own membership?

  2. jonasw

    probably not?

  3. daniel

    I don't find anything specific related to that in the xep. Maybe some servers just allow the admin command if the removed user matches user who runs the query

  4. Zash

    Isn't membership editing limited to the owner(s)?

  5. daniel

    Yes that's what I meant. Maybe some specific implementations allow that if the member you want to edit is the requesting member

  6. daniel

    But it's certainly not explicitly mentioned in the xep

  7. winfried

    Well, that may be a GDPR issue... :-(

  8. Ge0rG

    daniel: that's only half a step away from allowing members to make themselves an owner ;)

  9. jonasw

    winfried, not sure. the owner is responsible for the members list.

  10. jonasw

    much of this might boil down to the question whether users have the right to have their data deleted from other peoples data.

  11. Zash

    An exception for members leaving the group makes sense

  12. jonasw

    like, my roster is *my* data, are you allowed to force me/my server operator to delete your JID from my data?

  13. winfried

    jonasw: storage and membership are two different processings

  14. jonasw

    winfried, where’s the difference?

  15. Zash

    jonasw: That doesn't happen tho

  16. jonasw

    Zash, what doesn’t happen?

  17. Zash

    Just updating the subscription state to none

  18. pep.

    Zash: yeah makes sense, there could be an exception for that

  19. winfried

    jonasw: showing membership, relaying messages, storing messages

  20. jonasw

    Zash, I think somebody argued that even storing PII like the JID could be an issue.

  21. Zash

    Group creator storing other people's jids?

  22. winfried

    jonasw Ge0rG pep. if you are able look at the document I send to the members list before the meeting of 12:30, it would be very helpful

  23. Zash

    Ge0rG: Easy MUC leaving ?

  24. jonasw

    winfried, I don’t see a document on the members list

  25. jonasw

    are you subscribed?

  26. Zash

    I saw it

  27. jonasw

    meh, restarting my MUA

  28. jonasw

    there it is!

  29. Ge0rG

    jonasw: Akonadi FTW!

  30. jonasw

    Ge0rG, indeed. akonadictl restart and 5s later it’s on order. jokes aside, it has some weird troubles with switching networks while the notebook is suspended :/

  31. pep.

    .odt aww, you're going to force me to use the big guns

  32. winfried

    Zash: yes, storing a JID as MUC owner is a 'processing' in the context of the GDPR, but it not a very problematic processing

  33. jonasw

    pep., I can put a .pdf somewhere

  34. pep.

    Nah I have libreoffice it's fine

  35. pep.

    I just never use it

  36. Zash

    No .txt? :)

  37. winfried

    sorry about that, I just wanted to go to bed after working 14 hours straight yesterday and didn't want to figure out how I would be able to put that table in the Wiki (what I would have preferred)

  38. jonasw

    wiki tables are a PITA indeed

  39. jonasw

    maybe Zash can apply some pandoc magic to convert this to mediawiki markup?

  40. winfried

    :-D be my guest!

  41. Zash

    Pandoc probably reads odt, so sure

  42. daniel

    we don't have to make that about gdpr. but if clients tend to show the entire member list (not just the currently joined users) we should give users the ability to actually 'leave' a muc

  43. jonasw

    daniel, indeed

  44. pep.

    daniel: agreed

  45. Zash

    There being three or so separate lists is fun too

  46. jonasw

    three separate lists?

  47. daniel

    owner, members admins

  48. Ge0rG

    winfried: awesome table, looks good to me

  49. jonasw

    I can’t parse the table.

  50. jonasw

    speaking of which, I might not be very useful in todays meeting.

  51. pep.

    I'm on my phone with nothing installed for that ATM (still in bed :-°)

  52. jonasw

    pep., I can upload you a pdf, as I said

  53. pep.

    It can wait that I get on the laptop

  54. jonasw

    pep., https://sotecware.net/files/noindex/GDPR-table.pdf

  55. pep.

    Unless..

  56. jonasw

    pep., but I won’t let you :>

  57. winfried

    jonasw: mentally parse?

  58. jonasw

    winfried, yeah

  59. jonasw

    not your fault though, I’m tired and exhausted for unrelated reasons.

  60. winfried

    jonasw: any amount of coffee that would resolve the issue?

  61. Maranda

    Lazy pep. it's past 10

  62. jonasw

    winfried, I’m caffeine-free for several months now; also, no :)

  63. pep.

    Maranda: BST not CEST

  64. Maranda

    Pft then it's past nine still lazy

  65. Ge0rG took a 1000km trip last week to grab his coffee machine.

  66. jonasw

    that’s some serious dedication!

  67. jonasw

    or addiction.

  68. Maranda

    Indeed

  69. Maranda

    I think more the latter

  70. Maranda

    But could be dedicated addiction

  71. Ge0rG

    I can stop any time I want!1!!

  72. Zash

    Why would you tho

  73. Maranda

    Or dedication to addiction

  74. pep.

    winfried: "how to safeguard on remote server?", that also came across last time, what falls on the recipient's consent exactly?

  75. Maranda

    Whichever sounds better

  76. pep.

    Can we clarify this during the meeting

  77. Ge0rG

    I think we don't need to ensure explicit consent to s2s delivery.

  78. winfried

    pep.: yes, please note questions like these, the thing is still subject to improvement

  79. winfried

    Ge0rG: agree, but *only* if no additional processing is done on the remote server :-(

  80. Ge0rG

    winfried: technically, the remote server is subject to the GDPR because you forward it data from EU citizens, right? ;)

  81. Maranda looks at the calendar

  82. Maranda places a big red cross

  83. Ge0rG

    winfried: I wonder if we need contracts or in-band XML markup for that

  84. Maranda puts enphasis on the red and big

  85. jonasw

    winfried, you wrote "implicit permission" for user metadata (presence) in grounds for processing; but isn’t approving a presence subscription explicit permission?

  86. jonasw

    Ge0rG, both

  87. Ge0rG

    jonasw: it's explicit approval but implicit data sharing permission, I'd say

  88. jonasw

    hmkay

  89. winfried

    Ge0rG: yes, I have the same line of thought, the question if it is subject to the GDPR is not settled yet, and probably not relevant at all

  90. winfried

    jonasw: yes, correct, plz take notes

  91. winfried has to do some other job now

  92. pep.

    And Maranda, it's not because you might have obligations that I also have to get up before 9 :p

  93. Maranda

    Lazy

  94. Maranda

    Just lazy

  95. pep.

    Sure

  96. pep.

    I want my sleep!

  97. jonasw

    j

  98. jonasw

    .

  99. jonasw

    GDPR in 2?

  100. winfried

    yes

  101. jonasw

    winfried, what do you mean by "can we safeguard XY on remote server?"?

  102. jonasw

    do you mean "can we ensure that on remote server?"?

  103. winfried

    jonasw: ensure

  104. jonasw

    right

  105. winfried

    pep. Ge0rG present?

  106. pep.

    !

  107. Ge0rG

    hi there

  108. winfried *bangs* the gavel

  109. jonasw

    quick announcement: I’ll have a hard cutoff today at 13:30 CEST due to a meeting with my master thesis supervisor

  110. winfried

    jonasw: he can wait, this is more important :-D

  111. jonasw

    I’ll tell him that, I bet he’ll be convinced ;-)

  112. winfried

    shall we from out the table I have build?

  113. jonasw

    winfried, so, we’re plowing through Q1.1e today?

  114. jonasw

    seems good

  115. winfried

    Any questions / amendments / additions

  116. winfried

    ?

  117. jonasw

    not right now

  118. winfried

    Ok, then lets tackle the issues top to bottom ;-)

  119. jonasw

    let’s do that

  120. winfried

    We need to inform about the processing

  121. jonasw

    the EULA thing in the credentials row seems to be a technical TODO for the EULA-XEP

  122. Ge0rG

    jonasw: EULA doesn't imply EULA XEP. Yet.

  123. winfried

    jonasw: what do you mean with "EULA-XEP"? A XEP containing a standardized EULA?

  124. pep.

    winfried, additions, what I asked this morning

  125. jonasw

    winfried, a XEP which defines how clients obtain the key points from a servers EULA. it would (in my mind) also contain *defaults* which apply to every xmpp server.

  126. jonasw

    (that would be among them)

  127. pep.

    Once the message hits s2s, is it on the recipient's consent, for whatever reason. Unless it's a service on the other end not a person

  128. Ge0rG

    jonasw: did you check https://en.wikipedia.org/wiki/P3P for overlaps?

  129. jonasw

    no

  130. Ge0rG

    pep.: I claim it's fair game to tell your users that whatever you send to a remote server is subject to that server's ToS

  131. pep.

    Ge0rG, but they wouldn't know what server, would they

  132. pep.

    I mean

  133. pep.

    I can, you can, my mom doesn't

  134. pep.

    I can, you can, my mom doesn't know

  135. jonasw

    with the EULA XEP it *would* be possible to have your client show you that ToS.

  136. Ge0rG

    pep.: by sending a message to mark@facebook.com your messages are subject to facebook ToS.

  137. pep.

    Ge0rG, but in her client it's written "Mark"

  138. jonasw

    but I think it’s even more fair game (and less critical) to say that "a message you send to someone is handled like the recipient wants, not like you want"

  139. Ge0rG

    pep.: show me a client that doesn't expose the JID of newly added users

  140. pep.

    jonasw, I agree with that, not sure how to expose it to users

  141. pep.

    Ge0rG, ok, now explain that to users

  142. jonasw

    pep., I think that’s common sense.

  143. jonasw

    Ge0rG, once we’re at the point of invitation URLs we might get rid of most of that. I wouldn’t rely on that.

  144. pep.

    Explain to users that's it's 2 different things, localpart and domain, and not just one thing

  145. Ge0rG

    jonasw: I disagree

  146. pep.

    I agree with jonasw

  147. jonasw

    fight!

  148. Ge0rG

    "somebody who claims to be called jonas wants to add you to their contacts. [yes] [no] [wtf is jonas]"

  149. Ge0rG

    now stop bike-shedding please.

  150. Ge0rG

    we've got real business to accomplish here.

  151. pep.

    Just for completeness, "Hey foo, I gave your details to bar, he's going to add you" *foo receives a contact request from _bar_* [yes] [no]

  152. pep.

    back to 1.1e?

  153. winfried takes my eyes of the chatwindow and sees a catfight upon return

  154. jonasw

    :D

  155. jonasw meows innocently

  156. jonasw

    so what do we have?

  157. winfried

    I propose to postpone this discussion and start a top: informing the user upon account creation

  158. jonasw

    +1

  159. winfried

    that doesn't need a EULA-XEP

  160. Ge0rG

    winfried: maybe it does, if the user does IBR

  161. winfried

    but a standard/model EULA may come in here handy

  162. winfried

    Ge0rG: isn't IBR evil and banned?

  163. jonasw

    yeah

  164. jonasw

    no, IBR isn’t banned

  165. jonasw

    it’s even getting developed

  166. jonasw

    see XEP—0401 for example.

  167. pep.

    And maybe in a not-so-distant future clients will support data forms

  168. winfried

    OK

  169. Ge0rG

    So there are different things we might understand under "EULA XEP": - a template for writing server EULAs - a protocol for informing the client about the EULA URL - a protocol for informing the client about specific EULA details - an s2s protocol to let remote users know of your EULAs

  170. jonasw

    in my mind it’s a mix of the first and the third point

  171. winfried

    Ge0rG: +1

  172. pep.

    Ge0rG, I was kind of including all the above

  173. jonasw

    yeah, kinda all of those actually

  174. pep.

    Maybe less focused on s2s at first, but that was mentioned a few times

  175. winfried

    Will that be 1 XEP or 4?

  176. jonasw

    do we need to figure out the formalities of that XEP in this meeting?

  177. Ge0rG

    strictly speaking, we don't need any of those, except #2 for IBR

  178. pep.

    I think the direction is good

  179. winfried

    Ge0rG: +1

  180. Ge0rG

    So I suggest we skip out the EULA topic

  181. Zash

    Template / guidelines for writing an EULA sounds like an informal XEP if anything

  182. Ge0rG

    Zash: 👍

  183. pep.

    Ge0rG, the s2s thing, how do you do that without a XEP?

  184. pep.

    Same for 3. actually

  185. pep.

    But yes I agree the details of the XEP can be done outside this meeting

  186. Ge0rG

    pep.: my point is: we haven't yet established the need for any EULAs but the ones between a user and their server

  187. Zash

    Template / guidelines for writing an EULA sounds like an informational* XEP if anything

  188. winfried

    Summary to solve first block: template EULA + protocol for informing client of EULA URL for IBR

  189. Ge0rG

    pep.: and until there is a legal requirement to have remote EULA consent dialogs, we don't need an s2s EULA XEP

  190. pep.

    ok ok

  191. winfried

    correct? Then we can move to the second blob

  192. jonasw

    +1

  193. Ge0rG

    Otherwise we'll have to maintain a list of remote EULAs the user has accepted and block access to any other domains. Ain't that great?

  194. pep.

    Ge0rG, not saying it is, at all :/

  195. winfried

    Metadata in C2S context

  196. winfried

    I guess we need to inform server operators about the limits here

  197. Ge0rG

    winfried: good point.

  198. Ge0rG

    winfried: so we need a second document aimed at server operators outlining the limits

  199. pep.

    yep

  200. winfried

    yes

  201. jonasw

    yes

  202. pep.

    Ok so 1.1e really is "come up with that document"

  203. winfried

    I guess we need also mention this in the EULA template

  204. winfried

    but do we need to communicate any standardized EULA clauses to the clients here or a link to the EULA?

  205. winfried

    I guess maybe keep the link visible

  206. jonasw

    both is good

  207. winfried

    (and handle changes)

  208. jonasw

    wtih both I mean a combination of both

  209. jonasw

    that’s essentially whta the EULA-XEP originally was about

  210. winfried

    third Blob

  211. Zash

    eula { url, registered clauses ... }

  212. winfried

    Metadata in S2S context

  213. Ge0rG

    with standardized EULA clauses, we are really in the P3P territory and somebody should have a hard look at that prior work

  214. jonasw

    I think all the "how to ensure on remote servre" things can be answered with "not".

  215. jonasw

    Ge0rG, I’ll put that on my todo.

  216. jonasw

    but I can’t promise anything

  217. winfried

    Ge0rG: I don't know *how* standardized that has to be

  218. winfried

    But P3P sure is a good thing to look at

  219. Ge0rG

    winfried: me neither. I'd say that having a human-readable ToS template is a good first approximation for now

  220. winfried

    Ge0rG: +1

  221. Ge0rG

    unless the current s2s blob makes us formalize enforceable s2s requirements

  222. Ge0rG

    which I hope to avoid at any cost

  223. winfried

    jonasw: ensuring remote server, can't be done on a technical level

  224. jonasw

    winfried, exactly

  225. jonasw

    and on a legal level it’s at least questionable.

  226. winfried

    (if the data is readable, ik can leak)

  227. jonasw

    is it the responsibility of the service operator to ensure that all s2s peers comply?

  228. Ge0rG

    winfried: it's possible to enforce on a technical level that the claimed s2s server's policy matches the user's requirements

  229. Zash

    Is it not enough to say that communication with remote peers are up to them, the user consentend when they sent a remote-addressed stanz

  230. jonasw

    I’d even go as far as "sends any stanza to a user which is not themselves"

  231. Ge0rG

    I see three outcomes: - we can't / won't enforce any s2s behavior / compliance claims - every server needs to advertise whether they comply with GDPR - P3P style fine-grained formal description

  232. jonasw

    because even on the same server users might’ve opted in to MAM while you didn’t

  233. winfried

    I am in doubt now

  234. pep.

    jonasw, that could make sense

  235. winfried

    Ge0rG: first one, we may say: transfer is obvious to other server and part of the service the user requested, so leave it

  236. Ge0rG

    winfried: does that apply both to EU and thrid contries based servers?

  237. winfried

    but then we come in the realms of forwarding my mail to gmail

  238. winfried

    Ge0rG: yes

  239. Ge0rG

    does it need to be obvious to the user where the server is hosted?

  240. winfried

    Ge0rG: good question, don't have a definitive answer to that: transfer outside the EU needs to be mentioned in the EULA, but the legal demands for S2S inside the EU are the same as outside the EU (in the context we have now)

  241. winfried

    - "- every server needs to advertise whether they comply with GDPR" - that may not be needed, advertise 'no secondary use / profiling' would suffice!

  242. winfried

    - "- P3P style fine-grained formal description " is in my opinion an overshoot (but that is an opion)

  243. Ge0rG

    winfried: so I suppose just covering the possibility of EU and third-country transfer in the EULA is sufficient?

  244. winfried

    Ge0rG: I *guess* so, would be interesting to take to court though...

  245. pep.

    hmm, can we come back to user-metadata C2S for a sec, I'm trying to find points to write down, but apart the TODO: document for server operators, I don't see much

  246. pep.

    The EULA XEP is also mentioned in every step concerning C2S for now

  247. winfried

    pep.: also publish a link to the EULA, needs to stay available + system for versioning the EULA...

  248. pep.

    I was hoping to include versioning into the XEP, not yet sure how/if really needed

  249. jonasw

    and notifying the user of changes

  250. pep.

    yeah that as well

  251. winfried

    But do we want to reside on the most minimal version of S2S: inform it can happen, don't ensure anything on the remote server

  252. pep.

    Inform *s2s* can happen?

  253. winfried

    pep.: yes

  254. jonasw

    winfried, do we have a choice?

  255. winfried

    If it is obvious to the user it is handled by an other server with other legal status, it is ok like that, but we had that 'does my mother understand' catfight.. that is relevant here

  256. pep.

    I'd be enclined to even say to the user "careful your messages may be considered differently once you send any stanza to a user which is not you", as jonasw mentioned above

  257. pep.

    So even C2S

  258. jonasw

    winfried, I don’t think we can make that obvious

  259. jonasw

    TLDs are not a safe indicator for that, IPs are a bit better, but not available to the client.

  260. pep.

    +1 to that ^

  261. jonasw

    unless it does SRV lookup for the service itself

  262. jonasw

    which may easily yield you a geo-located response with your closest entry ponit to the cluster

  263. jonasw

    so it would look as if it was EU from within the EU, but in fact the servers are partially outside the EU

  264. jonasw

    (DNS round-robin could case something similar with less fancy efforts)

  265. winfried

    I don't think we need to handle inside EU and outside the EU differently here: both are allowed if it us needed the perform the servers the user requests

  266. jonasw

    TL;DR: we can’t really show that to the user and have to assume the worst.

  267. winfried

    The issue is, do we need to tell the user if more is done with the data then is needed for performing the service the user requested?

  268. jonasw

    I don’t know.

  269. pep.

    I think we do, yes

  270. pep.

    Well legally I don't know

  271. Ge0rG

    winfried: I'd say we need something like "messages sent to users on other servers are subject to those servers data usage policies"

  272. Ge0rG

    + yadda yadda non-EU countries

  273. pep.

    + other user's settings?

  274. winfried

    + & + +1 ;-)

  275. pep.

    wat wat

  276. Ge0rG

    pep.: two different statements, first about other users -> their archival config, second the above one

  277. Ge0rG

    I'll make an attempt at writing an EULA once I have the time. In a month or so

  278. jonasw

    s/to users on other servers/to other users/;s/to those servers data usage policies/to the policies the those users agreed to, which may be more liberal than the policies you agreed to/

  279. pep.

    you still have a month and 2 days before GDPR, you're safe

  280. pep.

    yes I'd prefer jonasw's version

  281. pep.

    I don't know if that holds legally, but that's a bit more thorough

  282. jonasw

    I don’t either

  283. winfried

    So no need for a S2S EULA XEP?

  284. pep.

    If we have this kind of disclaimer I don't think so?

  285. pep.

    Though, we were at "metadata"

  286. pep.

    Not data, yet

  287. pep.

    But I guess that still holds

  288. winfried

    I would *like* to know it, but is it needed for the GDPR? I doubt it.

  289. winfried

    maybe write a XEP like that and advertise it as 'good practice'?

  290. pep.

    winfried, probably implicit consent with roster subscriptions, or user joining MUCs etc.

  291. Ge0rG

    pep.: I think everything said above also holds true for data

  292. pep.

    Ge0rG, same

  293. winfried

    Ge0rG: +1

  294. jonasw

    Ge0rG, +1

  295. pep.

    Do we go with Ge0rG or jonasw's version?

  296. jonasw

    if the "once you send it to the recipient, the recipient is responsible" holds, we’re good with it I think

  297. Ge0rG

    jonasw had the better polished wording

  298. pep.

    good

  299. winfried

    everything said here holds on the content too, except for MAM storage

  300. jonasw

    Δt=-6m

  301. pep.

    winfried, how does it not include MAM

  302. jonasw

    winfried, how’s MAM storage different?

  303. pep.

    Plan for next?

  304. winfried

    that one is legitimate interest of third party (maintaining a log)

  305. winfried

    (art 6.1f)

  306. Ge0rG

    winfried: with the receiver being the third party?

  307. pep.

    winfried, third-party as is recipient? That falls under "messages send to other users are subject to policies those users agreed to"

  308. winfried

    yes

  309. jonasw

    what pep. says

  310. pep.

    winfried, third-party as is recipient? That falls under "messages sent to other users are subject to policies those users agreed to"

  311. jonasw

    I gotta run in a few mins, plan for next?

  312. winfried

    jonasw: yes

  313. jonasw

    I don’t have time tomorrow or on Wed

  314. winfried

    thursday same time?

  315. jonasw

    Thu or Fri would work, usual time

  316. jonasw

    Thu 12:30 CEST

  317. pep.

    Thu same time worksforme

  318. jonasw

    Ge0rG, ^

  319. Ge0rG

    +1 on either

  320. jonasw

    it’s settled then

  321. jonasw

    anything else?

  322. winfried

    Thu 12:30 CEST

  323. winfried

    Good work again!

  324. pep.

    We've covered credentials, User metadata/data (C2S/S2S) then

  325. jonasw

    thanks all!

  326. jonasw

    heading out now

  327. winfried

    pep.: much applies to content to

  328. winfried

    jonasw: good luck!

  329. pep.

    yes, "data"

  330. pep.

    ah it's called content

  331. pep.

    ok

  332. pep.

    hmm, instead of "messages", we should say "Stanza" probably?

  333. winfried

    pep.: if you mail the logs, then I will try to update the schedule

  334. winfried

    pep.: +1

  335. pep.

    Or something that the end-user can undertand

  336. Zash

    I pandoc'd this https://wiki.xmpp.org/web/GDPR/Table if that's fine

  337. pep.

    instead of stanza

  338. winfried

    Zash: yes, that would be great!

  339. pep.

    Zash, nice

  340. winfried

    Any possibilities to add lines between the fields?

  341. winfried

    Zash: it *IS* great, thanks a lot!

  342. Zash

    I don't know, I'm not /that/ familiar with mediawiki syntax.

  343. winfried

    Zash: I will have look myself otherwise...

  344. Zash

    Please do, it's a wiki after all :)

  345. winfried

    Zash: :-D

  346. pep.

    Zash, do I include you in the participants? :)

  347. Zash

    pep.: Maybe a little? I barely follow this tho.

  348. pep.

    winfried, today's minutes compress well :P

  349. winfried

    pep.: I also took some notes myself, but they are not objective ;-)

  350. winfried

    Zash: lines added...

  351. pep.

    winfried, https://bpaste.net/show/23e279a44f9e

  352. pep.

    I'm going to send this

  353. winfried

    pep.: great!

  354. pep.

    I'll include a link to the table as well

  355. winfried

    pep.: missing the 'inform server operators' from the logs ;-)

  356. pep.

    at what point

  357. winfried

    [12:53:14] <winfried> I guess we need to inform server operators about the limits here

  358. pep.

    I meant, where does that go

  359. pep.

    what limits

  360. winfried

    It is about the limits of using art 6.1b and 49.1b

  361. pep.

    Also I should include Ge0rG's points on the EULA XEP

  362. pep.

    And that it won't be tackled during this meeting

  363. winfried

    so it is a limit to what processing can be handled with this EULA template

  364. pep.

    Right

  365. winfried

    Have to go now, other business to attend...

  366. winfried

    thanks, pep.

  367. dwd

    That was an easy email to write. :-)

  368. Zash

    Impressive diversity in formulating your statements.

  369. dwd

    Repetition is a powerful argument of its own.

  370. jonasw

    lol

  371. Ge0rG

    I suppose everyone is free to pick their weapons