[JMAP] Re: Feedback on draft-ietf-jmap-filenode-01
Bron Gondwana <brong@fastmailteam.com> Thu, 16 October 2025 20:10 UTC
Return-Path: <brong@fastmailteam.com>
X-Original-To: jmap@mail2.ietf.org
Delivered-To: jmap@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id 4F9E4753F4E4 for <jmap@mail2.ietf.org>; Thu, 16 Oct 2025 13:10:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.798
X-Spam-Level:
X-Spam-Status: No, score=-2.798 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_VALIDITY_RPBL_BLOCKED=0.001, RCVD_IN_VALIDITY_SAFE_BLOCKED=0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=fastmailteam.com header.b="N4RCJSMm"; dkim=pass (2048-bit key) header.d=messagingengine.com header.b="MngpRxVV"
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ZGP2xKOw5swh for <jmap@mail2.ietf.org>; Thu, 16 Oct 2025 13:10:38 -0700 (PDT)
Received: from fout-b1-smtp.messagingengine.com (fout-b1-smtp.messagingengine.com [202.12.124.144]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256)) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id BE195753F4DD for <jmap@ietf.org>; Thu, 16 Oct 2025 13:10:38 -0700 (PDT)
Received: from phl-compute-02.internal (phl-compute-02.internal [10.202.2.42]) by mailfout.stl.internal (Postfix) with ESMTP id 6E11E1D000F7 for <jmap@ietf.org>; Thu, 16 Oct 2025 16:10:38 -0400 (EDT)
Received: from phl-imap-15 ([10.202.2.104]) by phl-compute-02.internal (MEProxy); Thu, 16 Oct 2025 16:10:38 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= fastmailteam.com; h=cc:content-type:content-type:date:date:from :from:in-reply-to:in-reply-to:message-id:mime-version:references :reply-to:subject:subject:to:to; s=fm3; t=1760645438; x= 1760731838; bh=SjDwkUc5cKjQ22WK4OxldwmTAUWIWEXvomxYtukaUsA=; b=N 4RCJSMmur0/o+3nJ0su4U71j7SKAP/STUlDDXdWBEOQwc6/zm9cntwiP9PxcNySe KgNttkW5zYorD6VpcdVXlK1z08Ugd8wYaPKsDIkyabhwCMummwKjUe9cAx8ES8CI qkf72NSo0AkoS39oElqRrED91sFs9YeVwpSqehRvApP7Q6+LZvepfre1t4LgxNLH K8JSpokkCiAqOlMS96TW5gNDcTbm68abo7HflRSrIY5JdeGBqoxnVBkrCmHiZFpc Vs/scaD+WmiLeM6nBJs3a466LpF/AFZoqoD+QnnlviFc57VtjAf1hZWonf185zqh 7YoSN7XP9y4ltvHgTUwxw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; t= 1760645438; x=1760731838; bh=SjDwkUc5cKjQ22WK4OxldwmTAUWIWEXvomx YtukaUsA=; b=MngpRxVVuyxx+ckvYp9NqioUa5m5u00a2lex+MlzbaM+2G4KXuz ZTstejBcTkN1Q90Tjohb/sygonFDLtLja61JArkCG1KPQJQ2ZxHwoBO1dr1Zy5L1 SoUOKkOvfcsl0Sa77BibZm5ukZRdxO0NDGiQgX6bTEwvprzGnPDSon4SQiDJea39 tt9i3gywQMEl7Z4aTTVFR5Y/roSo6j2lrL8FOIHJgpjOdNFK+NcT7Z2jw9QvW2rJ Jv2AaDujF8N2mdcPjStjzCG7kJew46Fjn1oHwNCKJRoxBmpxeBX0p3Bq2vdBItFM NjzfY4rMirY4DV+zZkIn9aSfLKXlnY7O6qg==
X-ME-Sender: <xms:PlHxaHHYqPkL8M_9H_JXSFdDFPsPmWjceTDNldHRsVVNUKmgbZJeHw> <xme:PlHxaPKBFGEThBU8ADtosKni1K1MWxr_eADIeNVmlTD3RVOxHO4uVs5f8AfXowBfC IUc7w4ytWJDK6fTydRl37WAs0ts3rPwXTgBGCn8MkWfREc>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeeffedrtdeggdduvdejvdduucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkfgjfhfutgesrgdtreerre dtjeenucfhrhhomhepfdeurhhonhcuifhonhgufigrnhgrfdcuoegsrhhonhhgsehfrghs thhmrghilhhtvggrmhdrtghomheqnecuggftrfgrthhtvghrnhephfdvjeekffdtieeiud ffheeiieeukeeigfekhfdtueduvedvuddtvddtjeelleeknecuvehluhhsthgvrhfuihii vgeptdenucfrrghrrghmpehmrghilhhfrhhomhepsghrohhnghesfhgrshhtmhgrihhlth gvrghmrdgtohhmpdhnsggprhgtphhtthhopedupdhmohguvgepshhmthhpohhuthdprhgt phhtthhopehjmhgrphesihgvthhfrdhorhhg
X-ME-Proxy: <xmx:PlHxaKrg5HCaQg2aqyuhk62voODeDSkuZJnTFy2UnQSu_bBcTCDeHg> <xmx:PlHxaPl4pOI22ZSx1ypoV7pRCbEUxI5KNgE4fBuASPn3tu9IGc9V5A> <xmx:PlHxaE2jZTRx4bvPHKv9vrJ8i6q5QJhaQOsPEGR5WdwD3KicrlA11A> <xmx:PlHxaPA2b1mEn9XrkHPS4YPZSKDNSPd-wYRvLA_KYDBiqACt89eHFg> <xmx:PlHxaIC2ZrBRsaOeLvjxBhlmElXyWgfdn0k0PX8qL-vGwRuFgie7oQxk>
Feedback-ID: i2d7042ce:Fastmail
Received: by mailuser.phl.internal (Postfix, from userid 501) id 115A37800DA; Thu, 16 Oct 2025 16:10:38 -0400 (EDT)
X-Mailer: MessagingEngine.com Webmail Interface
MIME-Version: 1.0
X-ThreadId: Ajzi_6djp6Hs
Date: Thu, 16 Oct 2025 16:10:11 -0400
From: Bron Gondwana <brong@fastmailteam.com>
To: jmap@ietf.org
Message-Id: <89b78e2b-5771-4d61-9382-dc552cee1547@app.fastmail.com>
In-Reply-To: <2cf3683b-c10b-4689-8f26-6f89225fb88d@dogfoodapp.fastmail.com>
References: <2F0FC7D6-754D-4059-A46B-34399747BA95@stalw.art> <2cf3683b-c10b-4689-8f26-6f89225fb88d@dogfoodapp.fastmail.com>
Content-Type: multipart/alternative; boundary="bd0e54792d5d46cab00fe316f723bcdd"
Message-ID-Hash: 3J27NPNNFP6VUIJJWQRIJPB2V2ICPFTK
X-Message-ID-Hash: 3J27NPNNFP6VUIJJWQRIJPB2V2ICPFTK
X-MailFrom: brong@fastmailteam.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-jmap.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01
List-Id: JSON Meta Access Protocol <jmap.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/jmap/eX9aMX7u16OERLhok880eF14jvA>
List-Archive: <https://mailarchive.ietf.org/arch/browse/jmap>
List-Help: <mailto:jmap-request@ietf.org?subject=help>
List-Owner: <mailto:jmap-owner@ietf.org>
List-Post: <mailto:jmap@ietf.org>
List-Subscribe: <mailto:jmap-join@ietf.org>
List-Unsubscribe: <mailto:jmap-leave@ietf.org>
On Mon, Oct 6, 2025, at 23:34, Neil Jenkins wrote: > On Sat, 4 Oct 2025, at 01:16, Mauro De Gennaro wrote: >> - Sharable data types and isSubscribed: According to RFC 9670, a JMAP sharable data type MUST define the myRights, shareWith, and isSubscribed properties. However, I’m not sure isSubscribed makes much sense in the context of file storage. I’d like to hear your thoughts (and Neil’s too) on this. > > I think it probably still makes sense — as the shared spec says, `myRights`/`shareWith` is whether you have permission to see it, `isSubscribed` is whether you want to see it! (i.e., The former is controlled by the person sharing the latter by the person it is shared with.) What's interesting here is the hierarchical nature of it — if you share a folder, you implicitly get permission to everything underneath it. I think the `isSubscribed` mostly only makes sense on whatever the top-level item shared with you is, or at least it doesn't make much sense to set `isSubscribed` to `false` in a folder that has an ancestor with it set to `true`. On the other hand, this is probably not going to hurt either, so possibly not worth worrying about and we can keep it consistent with the other JMAP APIs. This works for me. I see I'm going to have to make the sharing semantics a lot more clear. I think this reads as: Parent ACLs are always inherited (you can't take away something that the parent gives - if parent says canRead then all its children are readable). The way I implemented this in Fastmail's filestorage is that you are implicitly allowed to know about any node for which you can see one of its children. So the path to a node which you have an ACL on is visible. This is a less powerful ACL system than some filesystems out there. A more flexible system is "you implicitly have the rights of the parent node IFF there is no explicit ACL for you on this node". I also didn't support setting ACLs on individual files. ACLs are only on directories. Bron. -- Bron Gondwana, CEO, Fastmail Pty Ltd / Fastmail US LLC brong@fastmailteam.com
- [JMAP] Feedback on draft-ietf-jmap-filenode-01 Mauro De Gennaro
- [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01 Neil Jenkins
- [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01 Bron Gondwana
- [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01 Bron Gondwana
- [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01 Bron Gondwana
- [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01 Bron Gondwana
- [JMAP] Re: Feedback on draft-ietf-jmap-filenode-01 Neil Jenkins