[Atp] Re: Potential 'at' URI Solution
Meredith Espinosa <b0undarybreaker@icloud.com> Thu, 29 October 2026 08:55 UTC
Received: from outbound.mr.icloud.com (mr-2002e-snip6-11.eps.apple.com [IPv6:2a01:b747:3000:201::3f]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by mx.ietf.org (Postfix) with ESMTPS id 6A63646 for <atp@ietf.org>; Thu, 29 Oct 2026 08:55:58 +0000 (UTC)
Authentication-Results: mx.ietf.org; dkim=pass header.d=icloud.com header.s=1a1hai header.b=hXsnqTbI; spf=pass (mx.ietf.org: domain of b0undarybreaker@icloud.com designates 2a01:b747:3000:201::3f as permitted sender) smtp.mailfrom=b0undarybreaker@icloud.com; dmarc=pass (policy=quarantine) header.from=icloud.com
Received: from outbound.mr.icloud.com (unknown [127.0.0.2]) by p00-icloudmta-asmtp-us-west-2a-100-percent-5 (Postfix) with ESMTPS id 4CE2D180010B; Thu, 29 Oct 2026 08:55:50 +0000 (UTC)
X-ICL-RepId: 01a186df-670f-7b3c-8e63-67b6a576f1a8
X-ICL-Out-Info: HUtFAUMEWwJACUgATUQeDx5WFlZNRAJCTQBAHV8EWRxGClYBXgdLVxQEGgMYWQ9TAkAaQQhWAFcCeRFQAVgeVl5aF15NUQ8PGVoUXBhTRVEfVFhBDgpfEhhcFFxQWB5GElYNXQkZBkBeUBtfAkIPHBNWFRMdQxkPKwhKBEMHRQJeCyUTCVNWWxNVF0YJGQhdHRkVWgkKVwJDfD53XXIvH0F8OnBAAy4LQRRAcChyRnFDDE93XnFfdjV7SHMEVAddBV1WUAJaVRIEQAhWUF4IXh9MHA==
Dkim-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=icloud.com; s=1a1hai; t=1793264151; x=1824800151; bh=0FzgNwmrlM3zpV71hfolBiL+bhNMWDEX1pJMprACaSs=; h=From:Message-Id:Content-Type:Mime-Version:Subject:Date:To:x-icloud-hme; b=hXsnqTbIAWePVZFUtA6Ym+77BDBFDjQTumsV/YOzjJCQLI1PfWwTI5xP7jMoMCIO/N+MAlK06jyzCouwvNOHEZfmBLU0CdQoq13G8A3PLCFL0qj6W5zuFtxCUn6EhBa42c4adMQYzsMb2uYYhvkxWQM6/phYrzMusOvoj9z8KgM1j6voQa5n68Bf/IxwxaedUYLIIAfFdbOKK8Tt263Bi3/qKDuBouXUxu8lJhZda/AGV1plq3dNgtfJd7OuVUfZcIeKHrnPZJv2U89qOpSpczMC3PIFtdU4WskAHY921lflNJoPY9G/lRlPkYc0eWP4c3eej7YcGlDO9T+V0PmzcA==
Received: from smtpclient.apple (unknown [17.156.200.36]) by p00-icloudmta-asmtp-us-west-2a-100-percent-5 (Postfix) with ESMTPSA id 8F24A180019A; Thu, 29 Oct 2026 08:55:49 +0000 (UTC)
From: Meredith Espinosa <b0undarybreaker@icloud.com>
Message-Id: <03EFD0ED-1EBC-4E91-8CEE-C357D3F4DEB0@icloud.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_723FA7BD-AEC6-43CF-8066-69EE621697FC"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3776.700.51.11.4\))
Date: Thu, 29 Oct 2026 01:55:38 -0700
In-Reply-To: <ff37230a-4a2d-4529-8b8e-d67648f71fc7@it.aoyama.ac.jp>
To: "\"Martin J. Dürst\"" <duerst@it.aoyama.ac.jp>
References: <CABFYohhOuK3cXXdmRtTO=RKXRrrkHWUc33LikGUWajiE6J8g+g@mail.gmail.com> <CABFYohhoMeMC+MVC=1VQVy=gZkBvDG1j7ejnL=bPbOfz4_gNqQ@mail.gmail.com> <B7B8F054-A3B6-4D76-9276-88B7F65617EB@nstarsoftware.com> <ff37230a-4a2d-4529-8b8e-d67648f71fc7@it.aoyama.ac.jp>
X-Mailer: Apple Mail (2.3776.700.51.11.4)
X-Authority-Info-Out: v=2.4 cv=aLf9aL9m c=1 sm=1 tr=0 ts=6ae30a16 cx=c_apl:c_pps:t_out a=9mRn2PO/+PIrVdEbaIuMPg==:117 a=9mRn2PO/+PIrVdEbaIuMPg==:17 a=660iZSQnnn4A:10 a=x7bEGLp0ZPQA:10 a=JRQFYCDo0VMA:10 a=VkNPw1HP01LnGYTKEx00:22 a=SSmOFEACAAAA:8 a=I0CVDw5ZAAAA:8 a=BqEg4_3jAAAA:8 a=48vgC7mUAAAA:8 a=SJyzPg9aAAAA:8 a=-lg8Gk5mAAAA:8 a=MJ3l_hPHAAAA:8 a=EEgifLftAAAA:8 a=A1X0JdhQAAAA:8 a=rkyPmL6YFtNn8niRJt0A:9 a=lqcHg5cX4UMA:10 a=QEXdDO2ut3YA:10 a=Y9FWNeWOXcQLFDcqn_QA:9 a=1p65vkfcTYbKaLNP:21 a=_W_S_7VecoQA:10 a=0mFWnFbQd5xWBqmg7tTt:22 a=BI9X57e3IriwkXds9hL8:22 a=8E6PM57X71RkDQ5SQ058:22 a=HuwkBlGyFtjSqM8fOqc8:22 a=W0EjD6LayqwdsNBTTu7t:22
X-Proofpoint-ORIG-GUID: 438Lrusz5_t61m-1Ui2ugTkh2R18ClqO
X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMDI5MDAzNCBTYWx0ZWRfX6H3atVJafpFO iFRAPe6eAFKzjEChjxER2GBHKHxYSJbhTjmm763sv0t8XbZjOo9B5Ms0Zr29J1KQldXAKposkoZ +sUVOrwnjBjosKiTbanb4EifF/NPaaej8kZ25ryTQIUlo+d5yVrR+tTWTvSm2NbgePc0XbsAcQE uPagJH9le58Nf/H87aIwPOdIXDm0hYJKOJLPw2D0C5L9dxr5T861tkFhcGyujabEgAfD2rI67la SvgL8TBBi3/zhYd4yLtK9bySN5SRONXOzdTCAq6ruIB5VFrNkj0dmnpLeOJHa7JKB4Af9/qvaa0 lsE+HZLqXRlzIVnIVCQYcDEsA8tTcJ59PtV6jKU2mLgobtpRpxW34fAq3TPim4=
X-Proofpoint-GUID: 438Lrusz5_t61m-1Ui2ugTkh2R18ClqO
X-JNJ: AAAAAAABNNP8hGF9moz1d86xg2BVMikAsvFMBtUE9Gl8XdsUbJurFiHzK936V9UGR8otcB Qw1/0UgWH9POiiGoXTvKWrxfOhP6+LZEpx9Ykq5kIdCzBi9+e1GiQUFYDJLFLN0KUwlc+x wtNqQeWxuS+axUMQWXkHYWBun7AJMPNX228nnj+1L66jFF5mI6+VMCgyt0GGDIDZhcCnX2 BvrdWXClGXgC1UuZraPRu/CduHJ9ZuD80V6Bg706vsDHRLE4THIlBBdtUavlR82Jvx7cZh KT1zcTxyfQxqvb1NNyrtPmVjJTjBLH8ymuSmEIEj5nn5wVXbHlCyqkOWSIbItm/HjRJGRV dY7nIDCOnCjaYEMhVq5JvSIe9/v59M6LalD7OfaxnjJXnDMHkk90zp0UOJYM8bqG1/3Qzs 2cGLh4hZ2fN/xXT9sGOOeLnzQwTt02bnbti9XVIEsp5cUGz8C9BPiHkeA/9GbJGTQ+rkn6 r6GiuQCrY/54Aj6a3v1IOoQBuxsT5IRJmC6/NvbQS+d+65UQiNUdqt7k8XiiImpHcBMVnz zLafc8lmakLb68M5gFB32hW4GAmws06+ZDLmh+phvPx0zS4BQ9bxDC6GEKrPREpRNWP8Da wCcOfNHqZjDwsVBn28/6THB5xku8SKA7nKq0uDqS8QngDiZOwIsRDRZu6qQofd+/c7Ma2T FnqojQlD1ERgv4GLVPpwieM2VoYRa2fIx16P7IbaqsbZCzbccNZdqAgKZiTIiG/XxIejJs ciV3G2w1PX2NMTnFarYIr2hh83fQB7kYLxBLpjQBgpG2mYDDInBKbWxVufO2JrbYC/yp10 xmGUbGTulu2OHSIYghrn2PRvk76jSPUEnb0Zqgz6S1ymcOlCg4vgI7eR7qOzKscUCP/dYX YytWhB5J9CyXdNA7C4dObmQg2hugrVa0LMGCX+mpjGFPwAjj4yOH+lmGanVOIpVxkOKjJ4 ko4+TMnQkyD8YGf9bkJh9NHBqaI9xNMYnR5aieJuh4UQIVAMoYOAvnrO52gtZqQ7qGZxVx 5mpW7vQpYKJYficfiIZpcWpFHK29JB5vEcdvD/5zT5L3OeotDnjbAkQdaDrJ7c/Ra7pJ55 pQEMkeZWR/9xK0SXaeQLX1k2eerC29e6V4WoLXFBiotMGqWyBtIODq+VJPnH+9BXGpzXBc +cmL/beessw+5bzvaDv/XoJOEkDj5uJwWzqkM85SEm2KDoKuE2foxzYm83ZB6Cj1RHCSpn 5Wtim7DFyOCM2OrjNtYlo6Kzci20GYK26H4=
X-Spamd-Bar: ---------------------------
X-MailFrom: b0undarybreaker@icloud.com
X-Mailman-Rule-Hits: max-size
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; news-moderation; no-subject; digests; suspicious-header
Message-ID-Hash: 4LSNUFHXEF3UY5RJJ6YWTRXROJG4UHR6
X-Message-ID-Hash: 4LSNUFHXEF3UY5RJJ6YWTRXROJG4UHR6
X-Mailman-Approved-At: Thu, 29 Oct 2026 17:42:07 +0000
CC: Scott Handley <scott@nstarsoftware.com>, Bryan Newbold <bryan@blueskyweb.xyz>, ATP IETF Mailing List <atp@ietf.org>
X-Mailman-Version: 3.3.10
Precedence: list
Subject: [Atp] Re: Potential 'at' URI Solution
List-Id: Authenticated Transfer <atp.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/atp/tNDNuxlBv_c2Lhm2gNRaNrEfQnw>
List-Archive: <https://mailarchive.ietf.org/arch/browse/atp>
List-Help: <mailto:atp-request@ietf.org?subject=help>
List-Owner: <mailto:atp-owner@ietf.org>
List-Post: <mailto:atp@ietf.org>
List-Subscribe: <mailto:atp-join@ietf.org>
List-Unsubscribe: <mailto:atp-leave@ietf.org>
If I really wanted to throw a brick into this I could propose a DID display along the lines of `at://fxgreqfae3vqhyjsntsikfux@did.plc/<collection>/<rkey> <at://fxgreqfae3vqhyjsntsikfux@did.plc/%3Ccollection%3E/%3Crkey%3E>` or `at://example.com@did.web/<collection>/<rkey> <at://example.com@did.web/%3Ccollection%3E/%3Crkey%3E>` but that feels like it might be going a little too far given the current direction of this discussion both here in the thread and on the atmo community forum. > On Oct 29, 2026, at 1:41 AM, Martin J. Dürst <duerst@it.aoyama.ac.jp> wrote: > > Dear ATP experts, > > I have been following this discussion as an outsider (which I definitely am both for ATP as well as for DIDs). [I'm at least moderately familiar with URI syntax as one of the authors of the IRI spec (RFC 3987).] > > Some comments inline. > > On 2026-10-29 07:52, Scott Handley wrote: >> Hi, >> I understand there's little will for improving the current (and aging) URI specification and parsers to adopt a DID in the authority. Nonetheless, I still hold hope that the AT-URI can achieve the same and greater success for innovation that the URI specification has with its flexible path/query/fragment design. > > I think it's not so much about the "will". There are so many places URIs are implemented, and it's impossible to change them. Over the years, every once in a while some protocol has come up with the wish for an extension to the syntax, and it was always the protocol that had to give way and adapt. And URI syntax is quite adaptable if you look carefully. > >> As it stands, the AT-URI specification defines a complementary URI structure with "at://authority [path] [?query] [#fragment]" but the query and fragment are documented as yet to be supported. The allure of the AT-URI has been this intention to conform with the URI specification while delivering its single greatest innovation -- a portable identity (DID) as the “authority”. > > I have looked at the syntax of DIDs in https://www.w3.org/TR/did/#did-syntax. If this is outdated, please tell me. It seems to me that the DID 'inventors' were thinking about DIDs as freestanding URIs (registered provisionally at https://www.iana.org/assignments/uri-schemes#uri-schemes-1) see also https://www.iana.org/assignments/uri-schemes/prov/did. But they didn't think about DIDs as authority components in other URI schemes. > > Now looking at the syntax at https://www.w3.org/TR/did/#did-syntax, there may be a rather easy way to integrate DIDs as authority components in general URIs (please excuse if such a solution has been proposed already elsewhere). > > The 'method-name' component is limited to lower-case letters and digits. The 'method-specific-id' is limited to letters, digits, period, hyphen, underscore, and colon, with all other letters (if there are any) percent-encoded. On the other hand, the host component in the authority of an URI, in case it is not an IP address but a reg-name, included sub-delims (see https://www.rfc-editor.org/info/rfc3986/#section-3.2.2 and https://www.rfc-editor.org/info/rfc3986/#appendix-A) > > Now sub-delims includes quite a number of characters: > sub-delims = "!" / "$" / "&" / "'" / "(" / ")" > / "*" / "+" / "," / ";" / "=" > > This does not include ":", but we can replace ":" with one of these. Not all of them work equally well visually, and some of them have other problems, but instead of e.g. > at://did:plc:735r43lcgemuv2woqpvx3lso, what about > at://did$plc$735r43lcgemuv2woqpvx3lso or > at://did!plc!735r43lcgemuv2woqpvx3lso or so? > > That means that if you put a DID into an authority slot, replace the colons with "$" or "!" (or whatever other character we choose as most suitable). When you take that DID back out, replace the other way round. > > And ideally, this wouldn't be decided by ATP for the at: scheme, but in coordination with the W3C Decentralized Identifier Working Group and potentially other interested parties. It could even go as far as the colon in DIDs themselves being changed to another character. DIDs are way younger than URIs, and should have an easier job of absorbing such a change. > >> My concern is that the “at:public” or “at:space” segmentation implies that AT-URI’s can only be one or the other. > > I must admit that I don't understand the difference between these two, but the long history of networking and data exchange shows that it's a bad idea to distinguish between public and (in some way or other) private resources so openly in the resource syntax. This is similar to other aspects that shouldn't be integrated into identifier syntax. We just recently had a proposal for a httpq scheme on the > uri-review@ietf.org <mailto:uri-review@ietf.org> list (see https://mailarchive.ietf.org/arch/browse/uri-review/?qdr=m&q=Scheme%20registration%20request%20-%20HTTPQ) This proposed using a different scheme for post-quantum encryption protected HTTP resources. > > Discussing URI syntax on the uri-review@ietf.org <mailto:uri-review@ietf.org> list or the uri@ietf.org <mailto:uri@ietf.org> list may bring up some more ideas. > > Regards, Martin. > > >> (1) What about content that is local or private or hosted by some current or yet-to-be-invented custom service? Can it have an AT-URI? If no, why not? >> (2) Would additional prefixes be under some form of protocol governance committee? How would such a process expedite/hinder innovation? >> (3) Can the content be referenced such that it starts off in one domain (eg. space) but through its lifecyle ends up in another domain (eg. public)? >> Why further restrict, as opposed to expand, the AT-URI specification with the affordances of the URI specification? What is the hesitation for using the "query" to identify the "service" responsible for "hosting" a resource? >> Public content => at:///did/nsid/rkey?service=atproto >> Space content => at:///did/…?service=atproto_space >> Other service content => at:///did/…?service=acme >> Either one ("/") or three ("///") slashes after "at:" I believe would conform to the URI specification. Here, the query "service” would refer to a service supported by a user’s DID document (either did:plc or did:web)--thereby eliminating the need to hard-code "at:public ==> service=atproto" and "at:space ==> service=atproto_space". It's also is extensible for future services. >> Just a few thoughts to ponder. I've enjoyed following these conversations in the AT Protocol community...they've been inspirational. >> Best regards, >> Scott Handley >> NorthStar Software LLC >> scott@nstarsoftware.com <mailto:scott@nstarsoftware.com> <mailto:scott@nstarsoftware.com> | www.nstarsoftware.com <http://www.nstarsoftware.com/> <https://www.nstarsoftware.com/> >>> On Oct 28, 2026, at 10:12 AM, Bryan Newbold <bryan=40blueskyweb.xyz@dmarc.ietf.org <mailto:bryan=40blueskyweb.xyz@dmarc.ietf.org>> wrote: >>> >>> The 'at:space' example had a typo (the '/space/' was accidentally included in the example). It should read: >>> >>> at:space/did:plc:735r43lcgemuv2woqpvx3lso/my.bulletin.board/self/did:plc:735r43lcgemuv2woqpvx3lso/my.bulletin.post/3mtiiz6ci6c2j <http://my.bulletin.post/3mtiiz6ci6c2j> >>> >>> Thanks to Nick Gerakines for the sharp eyes. >>> >>> --bryan >>> >>> On Wed, Oct 28, 2026 at 9:47 AM Bryan Newbold <bryan@blueskyweb.xyz <mailto:bryan@blueskyweb.xyz> <mailto:bryan@blueskyweb.xyz>> wrote: >>>> I have a new 'at' URI scheme syntax/structure proposal that could be a way forward: >>>> >>>> at:public/<account>/<collection>/<rkey> >>>> at:public/did:plc:vwzwgnygau7ed7b7wt5ux7y2/app.bsky.feed.post/3k5nobkf2w72g <http://app.bsky.feed.post/3k5nobkf2w72g> >>>> >>>> As a reminder, the current 'at://<account>/...' syntax with double slashes is not a valid IETF URI, nor a valid WHATWG URL. In this proposal we lose the nice idiomatic prefix ('at://'), but keep the account identifiers vebatim, and don't need any escaping or encoding. The general shape is unchanged: a three-tuple of {account, type, key}. >>>> >>>> This prefix structure would generalize well to other URIs in the broader atproto ecosystem. For example, design work is wrapping up on "atproto spaces", a protocol extension for non-public data[0]. This is outside the scope of this group's current charter, but assuming all goes well with the current charter we expect to propose it in a future re-charter. Spaces have a dual namespace structure, with two separate three-tuples, and need distinguishable URIs. With feedback from the developer ecosystem we have iterated on a couple different syntaxes (including a new 'ats:' URI scheme), and currently settled on a '/space/' as the first path prefix: >>>> >>>> at://<space-account>/space/<space-type>/<skey>/<repo-account>/<collection>/<rkey> >>>> at://did:plc:735r43lcgemuv2woqpvx3lso/space/my.bulletin.board/self/did:plc:735r43lcgemuv2woqpvx3lso/my.bulletin.post/3mtiiz6ci6c2j<http://my.bulletin.post/3mtiiz6ci6c2j> >>>> >>>> This reuses the 'at:' scheme (which we like), but has all the same syntax problems as the current public protocol references (aka, the double-slash), and also has the '/space/' in the middle. Under the new proposed syntax, these could be: >>>> >>>> at:space/<space-account>/<space-type>/<skey>/<repo-account>/<collection>/<rkey> >>>> at:space/did:plc:735r43lcgemuv2woqpvx3lso/space/my.bulletin.board/self/did:plc:735r43lcgemuv2woqpvx3lso/my.bulletin.post/3mtiiz6ci6c2j <http://my.bulletin.post/3mtiiz6ci6c2j> >>>> >>>> The use of 'public' for the prefix for regular atproto records could be debated; maybe 'at:repo' would make sense. We would still expect the 'at://' syntax to be supported as a mandatory "legacy" format for all the billions of existing records containing strings in that format, but we would be careful not to call them "URIs". >>>> >>>> We have a short time window in which we could adopt the 'at:space' syntax for the atproto spaces beta deployment, which we expect to go live soon after IETF 127 ("by the end of November"). That would sort of hinge on expecting the general pattern to work out as the public data URI syntax as well. It is impossible to come to a formal consensus on this timeframe, but there is time to get feedback on this list and have a discussion at IETF 127. If there is broad support this format, we will likely use it in the spaces beta deployment. If not, we will likely go ahead with the syntactically-invalid 'at://' format, and resolve that problem at the same time as the public data references. >>>> >>>> Some questions for the list: >>>> >>>> - are there any concerns about this new proposed syntax being a valid and well-formed IETF URI? >>>> - how likely is this new syntax likely to be pass scrutiny at the IESG and/or uri-review@ietf.org <mailto:uri-review@ietf.org> <mailto:uri-review@ietf.org> phase? >>>> - are folks willing to let go of the nice 'at://' prefix? >>>> - is it worth the disruption and friction of supporting two syntaxes ("valid URI" and "legacy non-URI") indefinitely? >>>> - are there any firm counter-proposals waiting in the wings? >>>> - any strong aesthetic or conceptual objections to this new syntax? >>>> >>>> --bryan >>> _______________________________________________ >>> Atp mailing list -- atp@ietf.org >>> To unsubscribe send an email to atp-leave@ietf.org >> _______________________________________________ >> Atp mailing list -- atp@ietf.org >> To unsubscribe send an email to atp-leave@ietf.org > > _______________________________________________ > Atp mailing list -- atp@ietf.org <mailto:atp@ietf.org> > To unsubscribe send an email to atp-leave@ietf.org <mailto:atp-leave@ietf.org>
- [Atp] Potential 'at' URI Solution Bryan Newbold
- [Atp] Re: Potential 'at' URI Solution Bryan Newbold
- [Atp] Re: Potential 'at' URI Solution Emelia S.
- [Atp] Re: Potential 'at' URI Solution Daniel Holmgren
- [Atp] Re: Potential 'at' URI Solution Rudy Fraser
- [Atp] Re: Potential 'at' URI Solution Emelia S.
- [Atp] Re: Potential 'at' URI Solution Bryan Newbold
- [Atp] Re: Potential 'at' URI Solution Scott Handley
- [Atp] Re: Potential 'at' URI Solution Meredith Espinosa
- [Atp] Re: Potential 'at' URI Solution Scott Handley
- [Atp] Re: Potential 'at' URI Solution Meredith Espinosa
- [Atp] Re: Potential 'at' URI Solution Scott Handley
- [Atp] Re: Potential 'at' URI Solution Martin J. Dürst
- [Atp] Re: Potential 'at' URI Solution Meredith Espinosa
- [Atp] Re: Potential 'at' URI Solution Bumblefudge
- [Atp] Re: Potential 'at' URI Solution Scott Handley
- [Atp] Re: Potential 'at' URI Solution Meredith Espinosa
- [Atp] Re: Potential 'at' URI Solution Erin Shepherd
- [Atp] Re: Potential 'at' URI Solution Robin Berjon