[{"author": "Konrad Kohbrok", "text": "<p>I can take notes.</p>", "time": "2023-05-03T16:01:36Z"}, {"author": "Alissa Cooper", "text": "<p>Thank you!</p>", "time": "2023-05-03T16:01:44Z"}, {"author": "Matthew Hodgson", "text": "<p>/me waves</p>", "time": "2023-05-03T16:04:17Z"}, {"author": "Matthew Hodgson", "text": "<p>is this the right chat for the interim, or is there a parallel XMPP MUC or something?</p>", "time": "2023-05-03T16:05:17Z"}, {"author": "Alissa Cooper", "text": "<p>this is the right chat</p>", "time": "2023-05-03T16:05:26Z"}, {"author": "Eric Rescorla", "text": "<p>I know that iMessage/SMS and Signal do (1)</p>", "time": "2023-05-03T16:09:43Z"}, {"author": "Eric Rescorla", "text": "<p>Awesome shirt, Matthew</p>", "time": "2023-05-03T16:11:38Z"}, {"author": "Pete Resnick", "text": "<p>Yep, what Matthew said.</p>", "time": "2023-05-03T16:12:10Z"}, {"author": "Mallory Knodel", "text": "<p>If you reverse this into \"receive\" rather than send, I think what Matthew and Pete are saying makes clearer sense.</p>", "time": "2023-05-03T16:12:35Z"}, {"author": "Mallory Knodel", "text": "<p>*this slide's text</p>", "time": "2023-05-03T16:12:46Z"}, {"author": "Mallory Knodel", "text": "<p>1) Alice can receive messages from Bob immediately, 2) etc.</p>", "time": "2023-05-03T16:13:35Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"666\">@Mallory Knodel</span> : \"Can\" does a bunch of work in that sentence.</p>", "time": "2023-05-03T16:14:12Z"}, {"author": "Mallory Knodel", "text": "<p>Fiar</p>", "time": "2023-05-03T16:14:33Z"}, {"author": "Mallory Knodel", "text": "<p>Fair</p>", "time": "2023-05-03T16:14:34Z"}, {"author": "Matthew Hodgson", "text": "<p>Matrix for instance does (2) at the protocol layer, but some clients just go and autoaccept (particularly if they have some out-of-band evidence that the user is trusted), at which point it falls back to (1)</p>", "time": "2023-05-03T16:14:55Z"}, {"author": "Pete Resnick", "text": "<p>Q: When this slide asks which modes we \"support\", are we just asking about the UI requirement, or the protocol requirement?</p>", "time": "2023-05-03T16:15:54Z"}, {"author": "Matthew Hodgson", "text": "<p>i get that it's a requirements question in some ways, but i don't think the protocol should be adjudicating on the UI used for antiabuse (e.g. hiding inbound messages from untrusted users).</p>", "time": "2023-05-03T16:16:29Z"}, {"author": "Alissa Cooper", "text": "<p>the point is to identify the protocol requirements, and the space of possibilities of what can or cannot be handled in UI</p>", "time": "2023-05-03T16:16:56Z"}, {"author": "Mallory Knodel", "text": "<p>I was going to say exactly what @Tim pointed out. Both Signal and iMessage (even though they are right now walled) differentiate unknown senders (iMessage) and senders one has not yet trusted (Signal)</p>", "time": "2023-05-03T16:17:45Z"}, {"author": "Pete Resnick", "text": "<p>+1 Jo\u00ebl</p>", "time": "2023-05-03T16:17:47Z"}, {"author": "Matthew Hodgson", "text": "<p>there's an adjacent security concern (which has been a major pain for Matrix) which is: how much user data do you expose on an 'invite' - even if you quarantine the message. Do you show that user's avatar? name? conversation topic? whether it's a 1:1 or a group chat? etc</p>", "time": "2023-05-03T16:19:22Z"}, {"author": "Matthew Hodgson", "text": "<p>given scope for invite-spam abuse (e.g. long user names in invite spam being used to spam URLs, or people putting spam/abuse content into their avatars)</p>", "time": "2023-05-03T16:20:52Z"}, {"author": "Mallory Knodel", "text": "<p>It's useful to see the message to determine if its spam.</p>", "time": "2023-05-03T16:21:51Z"}, {"author": "Pete Resnick", "text": "<p>What EKR just described seems right.</p>", "time": "2023-05-03T16:23:11Z"}, {"author": "Matthew Hodgson", "text": "<p>yup. and Matrix currently prohibits that (until you accept the invite), which causes significant pain from people who want to be able to 'peek' to gauge whether to accept or not. (which is a Matrix-specific thinko, but one to learn from here :)</p>", "time": "2023-05-03T16:23:17Z"}, {"author": "Raphael Robert", "text": "<p>Also agree with ekr, let's move forward!</p>", "time": "2023-05-03T16:23:33Z"}, {"author": "Eric Rescorla", "text": "<p>I <em>don't</em> think, btw, that we should require consent to joining groups</p>", "time": "2023-05-03T16:23:52Z"}, {"author": "Eric Rescorla", "text": "<p>And that would need to be a new mechanism</p>", "time": "2023-05-03T16:23:57Z"}, {"author": "Eric Rescorla", "text": "<p>Yeah, the phone number has to be in the <em>target's</em> address book</p>", "time": "2023-05-03T16:24:40Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"793\">@Rohan Mahy</span> : Distinction without a difference between WhatsApp and Apple.</p>", "time": "2023-05-03T16:25:14Z"}, {"author": "Mallory Knodel", "text": "<p>Disagree, the DMA doesn't say anything about this level of user behaviour.</p>", "time": "2023-05-03T16:25:15Z"}, {"author": "Alissa Cooper", "text": "<p>I think his point is that the GKs might change which behaviors they support based on having to comply with the DMA.</p>", "time": "2023-05-03T16:25:53Z"}, {"author": "Matthew Hodgson", "text": "<p>(travis sends his regrets, btw, but is running tech support for some enormous canadian tech conference)</p>", "time": "2023-05-03T16:27:58Z"}, {"author": "Mallory Knodel", "text": "<p>(@AC-- Right-- and I think what I was reacting to is that compliance with the DMA sh/wouldn't precipitate those sorts of fine grained changes, but it's a side point.)</p>", "time": "2023-05-03T16:29:52Z"}, {"author": "Pete Resnick", "text": "<p>Ad-hoc groups can be done as named groups so long as the \"add\" and \"leave\" functions can return \"sorry, nope\".</p>", "time": "2023-05-03T16:30:35Z"}, {"author": "Jonathan Rosenberg", "text": "<p>I am in queue to basically say \"I agree with what Pete just said\"</p>", "time": "2023-05-03T16:30:55Z"}, {"author": "Alissa Cooper", "text": "<p>Not only is the behavior inconsistent across deployed services, in some cases it is straight up broken.</p>", "time": "2023-05-03T16:31:18Z"}, {"author": "Richard Barnes", "text": "<p>yeah, there were some funny bugs</p>", "time": "2023-05-03T16:32:18Z"}, {"author": "Richard Barnes", "text": "<p>the challenge with doing only groups is how you do the uniqueness properties for 1:1 / group DMs</p>", "time": "2023-05-03T16:32:55Z"}, {"author": "Richard Barnes", "text": "<p>... in a distributed setting</p>", "time": "2023-05-03T16:33:00Z"}, {"author": "Pete Resnick", "text": "<p>It's hard to separate the UI experience of \"thread\" with \"group\".</p>", "time": "2023-05-03T16:33:06Z"}, {"author": "Pete Resnick", "text": "<p>s/with/from</p>", "time": "2023-05-03T16:33:15Z"}, {"author": "Richard Barnes", "text": "<p>@Pete threads are a whole different thing.  they are internal to a group</p>", "time": "2023-05-03T16:33:28Z"}, {"author": "Jonathan Rosenberg", "text": "<p>not sure why you cannot hear me</p>", "time": "2023-05-03T16:33:37Z"}, {"author": "Richard Barnes", "text": "<p>MeetEcho is awesome</p>", "time": "2023-05-03T16:33:44Z"}, {"author": "Tim Geoghegan", "text": "<p>Sorry about that Jonathan, please feel free to re-join the queue</p>", "time": "2023-05-03T16:34:04Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"526\">@Richard Barnes</span> Agreed, but in e.g. SMS UIs, they are relatively indistinguishable.</p>", "time": "2023-05-03T16:34:33Z"}, {"author": "Eric Rescorla", "text": "<p>Happy to have new terms. I didn</p>", "time": "2023-05-03T16:35:18Z"}, {"author": "Eric Rescorla", "text": "<p>t update these since Travis</p>", "time": "2023-05-03T16:35:22Z"}, {"author": "Eric Rescorla", "text": "<p>s doc</p>", "time": "2023-05-03T16:35:26Z"}, {"author": "Tim Geoghegan", "text": "<p>I wonder if one of the iMessage conversations involved phone numbers and the other involves emails. Apple ID historically gets ... confused about those.</p>", "time": "2023-05-03T16:37:01Z"}, {"author": "Matthew Hodgson", "text": "<p>i have a feeling iMessage might have changed protocol big-time underneath in the last few years then</p>", "time": "2023-05-03T16:37:51Z"}, {"author": "Pete Resnick", "text": "<p>Q: Does someone think that if we do only named groups that you can't implement a particular model that exists now?</p>", "time": "2023-05-03T16:38:07Z"}, {"author": "Richard Barnes", "text": "<p>If you want a Slack-like group DM in a distributed setting, you would need to enforce uniqueness of a group DM for a given set of participants, which could be challenging</p>", "time": "2023-05-03T16:39:02Z"}, {"author": "Jonathan Rosenberg", "text": "<p>not acceptable imho</p>", "time": "2023-05-03T16:39:06Z"}, {"author": "Pete Resnick", "text": "<p>(And no, I don't know why I started questions with \"Q:\". I will now stop.)</p>", "time": "2023-05-03T16:39:09Z"}, {"author": "Matthew Hodgson", "text": "<p>just doing named groups (and then 1:1 and adhoc are subsets) sgtm, although you might need to special case 1:1 a bit so you can easily get uniqueness semantics</p>", "time": "2023-05-03T16:39:11Z"}, {"author": "Matthew Hodgson", "text": "<p>oh, what richard said.</p>", "time": "2023-05-03T16:39:15Z"}, {"author": "Matthew Hodgson", "text": "<p>(except for 1:1)</p>", "time": "2023-05-03T16:39:23Z"}, {"author": "Mallory Knodel", "text": "<p>I think the UX should be able to help the users pick the old group if they want the old group but not prevent creation of a new group that is different. I can see the opposite behaviour having real consequences. This scenario just feels inconvenient and messy (acceptable imo)</p>", "time": "2023-05-03T16:39:44Z"}, {"author": "Richard Barnes", "text": "<p>i actually think the uniqueness problem is more tractable for 1:1, which seems to argue for handling 1:1 as named groups</p>", "time": "2023-05-03T16:39:59Z"}, {"author": "Raphael Robert", "text": "<p>Agreed that we need to agree on 1:1 vs groups</p>", "time": "2023-05-03T16:40:05Z"}, {"author": "Jonathan Lennox", "text": "<p>I think the question is not so much whether you can implement a specific model, but whether different implementers will implement that model in a way that presents in a comprehensible way to users.  So I think there will need to be some specification of how the various models map onto the group concept.</p>", "time": "2023-05-03T16:40:07Z"}, {"author": "Jonathan Rosenberg", "text": "<p>@joel we would not solve this at the MLS layer.</p>", "time": "2023-05-03T16:41:02Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"426\">@Jonathan Lennox</span> If we need to write an Informational document about UI expectations, so be it. We shouldn't try to force UIs with protocol cudgels.</p>", "time": "2023-05-03T16:41:43Z"}, {"author": "Raphael Robert", "text": "<p>Doesn't 1:1 boil down to just an access control problem?</p>", "time": "2023-05-03T16:42:22Z"}, {"author": "Jonathan Lennox", "text": "<p>It's not so much UIs, as if I create what I intend to be a 1-1 conversation, I don't want you (on a different system) to see it as an invite to the named group UUID-ADHOC-GROUP-Pete-and-Jonathan</p>", "time": "2023-05-03T16:42:47Z"}, {"author": "Jonathan Rosenberg", "text": "<p>arrggghhhh</p>", "time": "2023-05-03T16:42:48Z"}, {"author": "Eric Rescorla", "text": "<p>Maybe JDR needs to get permission to tallk</p>", "time": "2023-05-03T16:42:49Z"}, {"author": "Tim Geoghegan", "text": "<p>I don't see any admin buttons for me to press to grant permission, I'm not sure what's wrong</p>", "time": "2023-05-03T16:43:10Z"}, {"author": "Eric Rescorla", "text": "<p>it was a joke</p>", "time": "2023-05-03T16:43:23Z"}, {"author": "Eric Rescorla", "text": "<p>Like he is in mode (3</p>", "time": "2023-05-03T16:43:27Z"}, {"author": "Jonathan Rosenberg", "text": "<p>it seems like a device seleection problem for me</p>", "time": "2023-05-03T16:43:29Z"}, {"author": "Jonathan Rosenberg", "text": "<p>i thought it switcehd it but it reverted - i think? it sticked this time</p>", "time": "2023-05-03T16:43:40Z"}, {"author": "Jonathan Rosenberg", "text": "<p>i would like to try one more time.</p>", "time": "2023-05-03T16:43:46Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"426\">@Jonathan Lennox</span> Why not (as a matter of protocol)?</p>", "time": "2023-05-03T16:43:56Z"}, {"author": "Jonathan Lennox", "text": "<p>I don't care if the protocol thinks that, but the user shouldn't see it.</p>", "time": "2023-05-03T16:44:17Z"}, {"author": "Tim Geoghegan", "text": "<p>Sure jdr, let's give it a try after Rohan</p>", "time": "2023-05-03T16:44:18Z"}, {"author": "Jonathan Lennox", "text": "<p>They're different user experience semantics.</p>", "time": "2023-05-03T16:44:32Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"426\">@Jonathan Lennox</span> But that <em>does</em> make it a UI issue.</p>", "time": "2023-05-03T16:44:40Z"}, {"author": "Jonathan Lennox", "text": "<p>Well, UX, not UI - it's the semantics of the experience, not the presentation of it that the systems need to agree on.</p>", "time": "2023-05-03T16:46:21Z"}, {"author": "Matthew Hodgson", "text": "<p>(we haven't fixed the uniqueness problem for matrix yet - <a href=\"https://github.com/matrix-org/matrix-spec-proposals/blob/travis/msc/immutable-dms/proposals/2199-canonical-dms.md\">https://github.com/matrix-org/matrix-spec-proposals/blob/travis/msc/immutable-dms/proposals/2199-canonical-dms.md</a> is the surprisingly big proposed solution - and that's just for DMs)</p>", "time": "2023-05-03T16:47:55Z"}, {"author": "Jonathan Rosenberg", "text": "<p>The hard part of uniqueness is that the group may already exist in different providers</p>", "time": "2023-05-03T16:47:56Z"}, {"author": "Pete Resnick", "text": "<p><span class=\"user-mention\" data-user-id=\"426\">@Jonathan Lennox</span> Fair enough</p>", "time": "2023-05-03T16:48:20Z"}, {"author": "Jonathan Rosenberg", "text": "<p>so if a group with A,B,C exists on provider one, and then a group with A,B exists on provider 2, and a user on provider 2 adds C, then we have a <em>hard</em> problem</p>", "time": "2023-05-03T16:48:28Z"}, {"author": "Jonathan Rosenberg", "text": "<p>this problem also exists for the 1-1 case, i call it out in my doc there is no easy solution i dont think</p>", "time": "2023-05-03T16:49:09Z"}, {"author": "Richard Barnes", "text": "<p>@Matthew - Have you solved uniqueness for 1:1?  or are 1:1 messages a different special thing?</p>", "time": "2023-05-03T16:49:18Z"}, {"author": "Mallory Knodel", "text": "<p>It's only hard if you are forcing A, B, C to only talk in one group. I think having two groups in your scenario is a feature, not a bug.</p>", "time": "2023-05-03T16:49:31Z"}, {"author": "Matthew Hodgson", "text": "<p><span class=\"user-mention\" data-user-id=\"526\">@Richard Barnes</span>: haven't solved uniqueness for 1:1, beyond MSC2199 (linked above). 1:1 isn't special at all; it's just a room with 2 people and no name.</p>", "time": "2023-05-03T16:50:31Z"}, {"author": "Matthew Hodgson", "text": "<p>(actually, i lie: MSC2199 supports unique group-DMs as well as 1:1s)</p>", "time": "2023-05-03T16:51:59Z"}, {"author": "Jonathan Rosenberg", "text": "<p>I dont think this can be solved entirely at the MLS layer.</p>", "time": "2023-05-03T16:52:28Z"}, {"author": "Jonathan Lennox", "text": "<p>An explicit modality would work for me, if we can agree on all the modalities to support.  (It raises the question of whether everyone needs to support all modalities, or whether there needs to be negotiation of them?)</p>", "time": "2023-05-03T16:53:00Z"}, {"author": "Jonathan Rosenberg", "text": "<p>i dont hear ekr</p>", "time": "2023-05-03T16:53:00Z"}, {"author": "Raphael Robert", "text": "<p>I might remember wrong, but isn't this question excluded by the charter?</p>", "time": "2023-05-03T16:56:27Z"}, {"author": "Eric Rescorla", "text": "<p>@Raphael, that's what I'm claiming</p>", "time": "2023-05-03T16:57:00Z"}, {"author": "Eric Rescorla", "text": "<p>But the point was to bring this out</p>", "time": "2023-05-03T16:57:11Z"}, {"author": "Eric Rescorla", "text": "<p>Note that the <em>next</em> slide is about room portability</p>", "time": "2023-05-03T16:57:25Z"}, {"author": "Alissa Cooper", "text": "<p>This is what the charter says is out of scope: \"Interoperable mechanisms for group administration or moderation across systems\"</p>", "time": "2023-05-03T16:58:09Z"}, {"author": "Eric Rescorla", "text": "<p>Yes.</p>", "time": "2023-05-03T16:58:34Z"}, {"author": "Matthew Hodgson", "text": "<p>hum, i totally missed that in the charter - i saw the word 'moderation' (where i totally agree that moderation mechanisms should be out of scope).</p>", "time": "2023-05-03T16:59:12Z"}, {"author": "Pete Resnick", "text": "<p>\"across systems\" seems to be the key bit, no?</p>", "time": "2023-05-03T16:59:37Z"}, {"author": "Matthew Hodgson", "text": "<p>but if I (say) want to ban a user from a conversation across systems, <strong>surely</strong> we have to define a protocol for doing so?</p>", "time": "2023-05-03T16:59:49Z"}, {"author": "Matthew Hodgson", "text": "<p>i think i agree with rohan's assertion that we need to define minimal viable semantics that match the GKs</p>", "time": "2023-05-03T17:00:21Z"}, {"author": "Mallory Knodel", "text": "<p>administration is very wide. could include adding and naming groups.</p>", "time": "2023-05-03T17:00:35Z"}, {"author": "Jonathan Rosenberg", "text": "<p>I think, @rohan is agreeing with the point I just made?</p>", "time": "2023-05-03T17:01:33Z"}, {"author": "Matthew Hodgson", "text": "<p>mallory: i'd also expect to be able to (re)name a group from (say) WhatsApp even if the conversation hub happens to be on iMessage or whatever</p>", "time": "2023-05-03T17:01:40Z"}, {"author": "Matthew Hodgson", "text": "<p>and feel super frustrated if it... just errored if i tried? (but if the group was created on WhatsApp, it happened to work)?</p>", "time": "2023-05-03T17:02:10Z"}, {"author": "Mallory Knodel", "text": "<p>agree. so what is administrative but clearly out of scope</p>", "time": "2023-05-03T17:02:11Z"}, {"author": "Mallory Knodel", "text": "<p>moderation agree-- no question that's not in scope. but admin is useful.</p>", "time": "2023-05-03T17:02:46Z"}, {"author": "Jonathan Lennox", "text": "<p>There's also the question of what needs to be in the core protocol for an MVP and what can be in a future extension</p>", "time": "2023-05-03T17:02:58Z"}, {"author": "Eric Rescorla", "text": "<p>ISTM that the fundamental operations here are closed groups and member eviction</p>", "time": "2023-05-03T17:03:05Z"}, {"author": "Eric Rescorla", "text": "<p>I.e., if you're going to have anything</p>", "time": "2023-05-03T17:03:58Z"}, {"author": "Matthew Hodgson", "text": "<p>DMA doesn't require group interop until 2026 iirc</p>", "time": "2023-05-03T17:04:05Z"}, {"author": "Matthew Hodgson", "text": "<p>so that could be an argument in favour of just ditching access control semantics for now</p>", "time": "2023-05-03T17:04:20Z"}, {"author": "Matthew Hodgson", "text": "<p>or \"group administration\", whatever that is :)</p>", "time": "2023-05-03T17:04:38Z"}, {"author": "Jonathan Rosenberg", "text": "<p>I dont think naming should be out of scope..</p>", "time": "2023-05-03T17:05:55Z"}, {"author": "Rohan Mahy", "text": "<p>I've gotta go drive to the airport</p>", "time": "2023-05-03T17:06:06Z"}, {"author": "Rohan Mahy", "text": "<p>may drop</p>", "time": "2023-05-03T17:06:13Z"}, {"author": "Mallory Knodel", "text": "<p>also me, i'm out-- see you next time</p>", "time": "2023-05-03T17:06:18Z"}, {"author": "Jonathan Rosenberg", "text": "<p>my answer is: protocol has a primitive to set the name. as a user outside of the group, i may or may not have such permissions - and i wont easily nbe able to know. But, if i try ot rename, and the owning provider doesnt authorize me, i get rejected and then i know</p>", "time": "2023-05-03T17:06:49Z"}, {"author": "Jonathan Rosenberg", "text": "<p>that is what i was trying to say</p>", "time": "2023-05-03T17:06:54Z"}, {"author": "Jonathan Rosenberg", "text": "<p>the protocol should provide a set of primitive operations that a remote user can do, and the protocol supports error messages if their request is rejected</p>", "time": "2023-05-03T17:07:17Z"}, {"author": "Matthew Hodgson", "text": "<p>jonathan: that's horrible though if the owning servers do different things (i.e. there's no protocol to coordinate them)</p>", "time": "2023-05-03T17:07:38Z"}, {"author": "Jonathan Rosenberg", "text": "<p>I am opposed to trying to support portability at this time. we can consider it in the future.</p>", "time": "2023-05-03T17:09:31Z"}, {"author": "Eric Rescorla", "text": "<p>@JDR can you say that live</p>", "time": "2023-05-03T17:09:54Z"}, {"author": "Jonathan Rosenberg", "text": "<p>it would be good to have someone do an inventory of the existing access control mechanisms implemented acorss the known gatekeepers and document it - it would make this discusion a lot less meta</p>", "time": "2023-05-03T17:16:25Z"}, {"author": "Matthew Hodgson", "text": "<p>yeah, big time</p>", "time": "2023-05-03T17:16:40Z"}, {"author": "Jonathan Rosenberg", "text": "<p>also depends on who you include in scope...</p>", "time": "2023-05-03T17:17:03Z"}, {"author": "Matthew Hodgson", "text": "<p>i kinda feel like most of the discussions so far boil down to taking the biggest N providers and looking what they do (e.g. for access control, or for 1:1 v group semantics or whatever)</p>", "time": "2023-05-03T17:17:18Z"}, {"author": "Matthew Hodgson", "text": "<p>i can do a bunch of grids as well as the access control one :)</p>", "time": "2023-05-03T17:17:55Z"}, {"author": "Matthew Hodgson", "text": "<p>and yup, ekr speaks the truth</p>", "time": "2023-05-03T17:18:08Z"}, {"author": "Tim Geoghegan", "text": "<p>Thank you, Matthew</p>", "time": "2023-05-03T17:18:20Z"}, {"author": "Alissa Cooper", "text": "<p>great, let's record that as your action item, thank you</p>", "time": "2023-05-03T17:18:22Z"}, {"author": "Matthew Hodgson", "text": "<p>(i guess i get to be guardian of \"gah no that will design out hub portability\")</p>", "time": "2023-05-03T17:18:25Z"}, {"author": "Matthew Hodgson", "text": "<p>(n.b. this isn't portable conversations, but simply \"if the hub goes bang, can the conversation continue\"?)</p>", "time": "2023-05-03T17:18:51Z"}, {"author": "Alissa Cooper", "text": "<p>if you already know how the other services do both of those things, listing them out can't hurt. but I think the latter is more pressing, yes.</p>", "time": "2023-05-03T17:20:00Z"}, {"author": "Jonathan Rosenberg", "text": "<p>in MLS i thought the commits were signed by the participant who sent them, do i have that wrong? (sorry not as deep on mls as folks here)</p>", "time": "2023-05-03T17:22:34Z"}, {"author": "Matthew Hodgson", "text": "<p>(are ekr's slides available online somewhere? i need to flip back &amp; forth a bit)</p>", "time": "2023-05-03T17:22:58Z"}, {"author": "Raphael Robert", "text": "<p><a href=\"https://datatracker.ietf.org/meeting/interim-2023-mimi-01/materials/slides-interim-2023-mimi-01-sessa-mimi-transport-requirements-00.pdf\">https://datatracker.ietf.org/meeting/interim-2023-mimi-01/materials/slides-interim-2023-mimi-01-sessa-mimi-transport-requirements-00.pdf</a></p>", "time": "2023-05-03T17:23:15Z"}, {"author": "Matthew Hodgson", "text": "<p>dankon</p>", "time": "2023-05-03T17:23:21Z"}, {"author": "Jonathan Rosenberg", "text": "<p>ah ok - well i would think that, the only viable rule is , \"i accept a commit from any member currently in the group, and not from anyone outside\"</p>", "time": "2023-05-03T17:23:29Z"}, {"author": "Eric Rescorla", "text": "<p>So I think this implies that we need an MLS ACL languge</p>", "time": "2023-05-03T17:26:22Z"}, {"author": "Matthew Hodgson", "text": "<p>this is the same problem as server-controlled access control (\"does bob have permission to set the room name to be Foo\") imo - just as we need a common simple ACL semantic there, you need a similar one to control group membership</p>", "time": "2023-05-03T17:29:41Z"}, {"author": "Matthew Hodgson", "text": "<p>i think language is too strong a term though</p>", "time": "2023-05-03T17:29:45Z"}, {"author": "Matthew Hodgson", "text": "<p>it could literally be \"what seniority do you need to be able to invite\"?</p>", "time": "2023-05-03T17:30:50Z"}, {"author": "Jonathan Rosenberg", "text": "<p>i understand that the acl is not enforced by the user. but, if the acl is not shown to and approved by the user, what prevents a malicious acl - one which allows anyone - to be introduced?</p>", "time": "2023-05-03T17:31:09Z"}, {"author": "Matthew Hodgson", "text": "<p>(and tough if you want to do weird access control decisions like \"only users with M in their name are allowed to invite\")</p>", "time": "2023-05-03T17:31:10Z"}, {"author": "Matthew Hodgson", "text": "<p>jonathan: you'd absolutely show it to the user</p>", "time": "2023-05-03T17:31:21Z"}, {"author": "Matthew Hodgson", "text": "<p>\"anyone can invite to this group\" versus \"only admins can invite to this group\"</p>", "time": "2023-05-03T17:31:49Z"}, {"author": "Britta Hale", "text": "<p>I have to drop off - thank you everyone for helping push this effort forward.</p>", "time": "2023-05-03T17:33:48Z"}, {"author": "Matthew Hodgson", "text": "<p>what is the point of an ACL if it's hardcoded for everyone in the protocol?</p>", "time": "2023-05-03T17:35:03Z"}, {"author": "Rohan Mahy", "text": "<p>I agree with Joel</p>", "time": "2023-05-03T17:35:25Z"}, {"author": "Matthew Hodgson", "text": "<p>i think we might have different definitions of ACL then</p>", "time": "2023-05-03T17:35:36Z"}, {"author": "Matthew Hodgson", "text": "<p>in that this sounds like a \"meta-ACL\" almost?</p>", "time": "2023-05-03T17:35:49Z"}, {"author": "Matthew Hodgson", "text": "<p>i.e. a framework for defining ACLs?</p>", "time": "2023-05-03T17:35:55Z"}, {"author": "Jonathan Rosenberg", "text": "<p>this also does intersect with the discussion we just had on flexible room moderation rules... if we support complex room moderation do we need such moderation rules expressed as mls acls???</p>", "time": "2023-05-03T17:36:08Z"}, {"author": "Matthew Hodgson", "text": "<p>jonathan: i was assuming the answer is 'yes' :)</p>", "time": "2023-05-03T17:36:29Z"}, {"author": "Matthew Hodgson", "text": "<p>+1000 to EKR</p>", "time": "2023-05-03T17:37:00Z"}, {"author": "Joel", "text": "<p>i see. no, you're right. i was confused for as second there. </p>\n<p>I also mean not only is there one \"meta-ACL\" but we also agree on the actual ACL.</p>", "time": "2023-05-03T17:37:01Z"}, {"author": "Eric Rescorla", "text": "<p>@Raphael: 100% agreed</p>", "time": "2023-05-03T17:37:44Z"}, {"author": "Matthew Hodgson", "text": "<p>so i love the idea of MLS asserting the ACL rules via a single MIMI ACL extension. But different rooms would have different (simple) rules</p>", "time": "2023-05-03T17:37:48Z"}, {"author": "Joel", "text": "<p>So for e.g. the list of current moderators in a room is part of what ends up getting fed into the cryptographic key for the room. Also we all agree on what a moderator can do.</p>", "time": "2023-05-03T17:37:51Z"}, {"author": "Eric Rescorla", "text": "<p>I'm just saying we need to have a way to make sure everyone knows what the group rule is</p>", "time": "2023-05-03T17:37:56Z"}, {"author": "Jonathan Rosenberg", "text": "<p>it is still not clear to me, how the acl would be constructed in a real system except for - the user mucking around with some UI and APIs exposed on the server, and then the server emits the acl... which introduces a risk of server attack sending wrong acl</p>", "time": "2023-05-03T17:39:10Z"}, {"author": "Matthew Hodgson", "text": "<p>jonathan: surely if you have a basic protocol for defining ACLs, then the client can just emit it.</p>", "time": "2023-05-03T17:39:38Z"}, {"author": "Rohan Mahy", "text": "<p>It's baked into the authorization policy language which is included in the MLS group</p>", "time": "2023-05-03T17:39:40Z"}, {"author": "Matthew Hodgson", "text": "<p>giving the server the ability to go wild on auth policies is a disaster in the making, imo</p>", "time": "2023-05-03T17:39:56Z"}, {"author": "Rohan Mahy", "text": "<p>You specify a profile of what is mandatory to implements and other options have well-defined semantics which is optional behavior</p>", "time": "2023-05-03T17:40:21Z"}, {"author": "Matthew Hodgson", "text": "<p>(just as different hubs implementing different auth policies would be)</p>", "time": "2023-05-03T17:40:21Z"}, {"author": "Matthew Hodgson", "text": "<p>Matrix today already effectively lets you define the ACLs on the client (given the server can be embedded in the client): these are then signed and authorised by consistent rules by the other instances. You don't have to trust a centralised server.</p>", "time": "2023-05-03T17:45:56Z"}, {"author": "Jonathan Rosenberg", "text": "<p>@Matthew but surely that is not how it works</p>", "time": "2023-05-03T17:46:13Z"}, {"author": "Matthew Hodgson", "text": "<p>so to grandfather existing stuff, the clients will have to sign their ACL rules</p>", "time": "2023-05-03T17:46:51Z"}, {"author": "Matthew Hodgson", "text": "<p>just like they'll have to speak MLS as a whole</p>", "time": "2023-05-03T17:47:01Z"}, {"author": "Rohan Mahy", "text": "<p>MLS is Greenfield for all the gatekeepers.</p>", "time": "2023-05-03T17:47:13Z"}, {"author": "Rohan Mahy", "text": "<p>Translating their existing policy rules into this policy language should just work</p>", "time": "2023-05-03T17:47:29Z"}, {"author": "Rohan Mahy", "text": "<p>should just work</p>", "time": "2023-05-03T17:47:29Z"}, {"author": "Matthew Hodgson", "text": "<p>precisely ^</p>", "time": "2023-05-03T17:47:37Z"}, {"author": "Tim Geoghegan", "text": "<p>IIUC the debate here is about whether the ACLs are expressed cryptographically at the MLS layer, or just as policy evaluated in software above MLS. That seems orthogonal to whether the server gets to push ACLs onto clients (though that remains a significant concern).</p>", "time": "2023-05-03T17:48:49Z"}, {"author": "Matthew Hodgson", "text": "<p>if they're expressed cryptographically at the MLS layer, the server can't push, as the server isn't an MLS peer, no?</p>", "time": "2023-05-03T17:49:24Z"}, {"author": "Matthew Hodgson", "text": "<p>(so it's not orthogonal, alas)</p>", "time": "2023-05-03T17:49:43Z"}, {"author": "Tim Geoghegan", "text": "<p>Ah, that makes sense, thank you</p>", "time": "2023-05-03T17:50:03Z"}, {"author": "Matthew Hodgson", "text": "<p>in terms of jonathan's security problem: if you grandfather an existing non-MIMI chat into MIMI, then yes, you have to trust the legacy server-controlled-access-control system from lying about whether a given chat was private or not. But once it's been made MIMIfied, any further ACL will need to be client-generated, no?</p>", "time": "2023-05-03T17:52:58Z"}, {"author": "Jonathan Rosenberg", "text": "<p>I dont think ekrs comments address my concern but i also feel like this is going in circles and its possible i am just misunderstanding something here.</p>", "time": "2023-05-03T17:56:20Z"}, {"author": "Jonathan Rosenberg", "text": "<p>so basically i agree with alissa - a diagram/doc is needed</p>", "time": "2023-05-03T17:56:33Z"}, {"author": "Eric Rescorla", "text": "<p>I'd be happy to try to do a draft, I suppose</p>", "time": "2023-05-03T17:56:51Z"}, {"author": "Matthew Hodgson", "text": "<p>i could propose a mini-language too (which would basically the matrix auth rule system, predictably)</p>", "time": "2023-05-03T17:57:34Z"}, {"author": "Konrad Kohbrok", "text": "<p>Sorry, who just volunteered?</p>", "time": "2023-05-03T17:57:51Z"}, {"author": "Jonathan Rosenberg", "text": "<p>Eric Rescolra</p>", "time": "2023-05-03T17:58:02Z"}, {"author": "Konrad Kohbrok", "text": "<p>Thanks!</p>", "time": "2023-05-03T17:58:08Z"}, {"author": "Matthew Hodgson", "text": "<p>or ekr: we could do it joint if you want</p>", "time": "2023-05-03T17:58:10Z"}, {"author": "Raphael Robert", "text": "<p>Happy to present next time</p>", "time": "2023-05-03T17:58:20Z"}, {"author": "Jonathan Rosenberg", "text": "<p>i think this helped to make progress</p>", "time": "2023-05-03T17:58:38Z"}, {"author": "Raphael Robert", "text": "<p>Not sure we need weekly \u2013 biweekly should be enough</p>", "time": "2023-05-03T17:58:56Z"}, {"author": "Jonathan Rosenberg", "text": "<p>i think weekly may be too frequent, not enough time perhaps to write something up as followups as needed. but dont feel that strongly</p>", "time": "2023-05-03T17:59:11Z"}, {"author": "Raphael Robert", "text": "<p>But generally agree on more interims</p>", "time": "2023-05-03T17:59:15Z"}, {"author": "Matthew Hodgson", "text": "<p>biweekly wfm</p>", "time": "2023-05-03T17:59:17Z"}, {"author": "Rohan Mahy", "text": "<p>Biweekly</p>", "time": "2023-05-03T17:59:20Z"}, {"author": "Eric Rescorla", "text": "<p>biweekly &gt; weekly</p>", "time": "2023-05-03T17:59:21Z"}, {"author": "Konrad Kohbrok", "text": "<p>Biweekly</p>", "time": "2023-05-03T17:59:21Z"}, {"author": "Jonathan Rosenberg", "text": "<p>so biweekly</p>", "time": "2023-05-03T17:59:24Z"}, {"author": "Joel", "text": "<p>biweekly</p>", "time": "2023-05-03T17:59:29Z"}, {"author": "Matthew Hodgson", "text": "<p>(is biweekly twice a week or every 2 weeks? O:-)</p>", "time": "2023-05-03T17:59:34Z"}, {"author": "Rohan Mahy", "text": "<p>Sorry. Every 2 weeks</p>", "time": "2023-05-03T17:59:37Z"}, {"author": "Richard Barnes", "text": "<p>i assume \"biweekly is every two weeks\"</p>", "time": "2023-05-03T17:59:41Z"}, {"author": "Matthew Hodgson", "text": "<p>diweekly ;P</p>", "time": "2023-05-03T17:59:47Z"}, {"author": "Rohan Mahy", "text": "<p>Bi-weekly means twice a week</p>", "time": "2023-05-03T17:59:47Z"}, {"author": "Jonathan Rosenberg", "text": "<p>every two weeks, NOT twice a week ;)</p>", "time": "2023-05-03T17:59:49Z"}, {"author": "Raphael Robert", "text": "<p>@matthew every fortnight</p>", "time": "2023-05-03T17:59:50Z"}, {"author": "Richard Barnes", "text": "<p>semiweekly</p>", "time": "2023-05-03T17:59:55Z"}, {"author": "Rohan Mahy", "text": "<p>Yes</p>", "time": "2023-05-03T18:00:02Z"}, {"author": "Richard Barnes", "text": "<p>yes @Raphael ,fortnightly</p>", "time": "2023-05-03T18:00:06Z"}, {"author": "Matthew Hodgson", "text": "<p>(demiweekly)</p>", "time": "2023-05-03T18:00:15Z"}, {"author": "Jonathan Rosenberg", "text": "<p>thanks everyone</p>", "time": "2023-05-03T18:00:18Z"}, {"author": "Matthew Hodgson", "text": "<p>thanks all :)</p>", "time": "2023-05-03T18:00:19Z"}, {"author": "Richard Barnes", "text": "<p>hemisemdemiweekly</p>", "time": "2023-05-03T18:00:22Z"}, {"author": "Konrad Kohbrok", "text": "<p>Will do.</p>", "time": "2023-05-03T18:00:39Z"}, {"author": "Konrad Kohbrok", "text": "<p>No worries.</p>", "time": "2023-05-03T18:00:41Z"}, {"author": "Alissa Cooper", "text": "<p><a href=\"https://notes.ietf.org/notes-ietf-interim-2023-mimi-01-mimi\">https://notes.ietf.org/notes-ietf-interim-2023-mimi-01-mimi#</a></p>", "time": "2023-05-03T18:00:41Z"}]