Globally Inclusive Fediverse Handles (i.e. beyond simple Latin Script letters)
/2026-04/session/4-g/
Convener: Jim DeLaHunt (@jdlh@mstdn.ca)
Participants who chose to record their names here:
- @sylvie@gabriel.havfruefestning.com
- James Marshall (@jamesmarshall@sfba.social)
- @JMMaok@mastodon.online
Knowledge
Bookmarks
- FediForum 2025-10 session Globally-inclusive Fediverse Handles (i.e. non-ASCII)
- I’d like to run an instance with non-ASCII usernames: https://github.com/mastodon/mastodon/issues/8417
- Unicode Tech Reports
- Label Generation Rules
- …
Forums and structures
- COSCUP (Taiwan) https://floss.social/@COSCUP https://blog.coscup.org/2026/03/coscup-x-ubucon-asia-2026-coscup-x.html
- Tracking support for non-ascii characters https://github.com/swicg/activitypub-webfinger/issues/29
- …
Existing globally inclusive handles, services
- @你好@i18n.viii.fi by @Edent@mastodon.social
- @north@ꩰ.com@hachyderm.io
- Added Unicode username support to Flohmarkt: https://codeberg.org/flohmarkt/flohmarkt/pulls/921
Next steps
-
Form a Social WG Community Group Task Force:
- https://github.com/swicg/general
- https://www.w3.org/community/socialcg/ — anyone can join the CG, which is probably where this work would initially live
- https://www.w3.org/groups/wg/social/ — W3C members or invited experts, chairs by Darius Kazemi
Notes
-
Introductions
-
Comment: homoglyph attacks are a risk
-
TranslateScience: Multilingual science
-
Identifier recommendations
-
Figure out how webfinger actually works for globally-inclusive handles. The binding spec to ActivityPub.
-
ATProto allows DNS or HTTPS resolution
-
DNS is a TXT record as _atproto.
-
HTTPS is a request to
/.well-known/atproto-did -
These are both bidirectionally verified, where the DID document MUST have the handle in the alsoKnownAs section.
-
-
For ActivityPub, we are missing a foundation of handles. There is no bidirectional link.
-
Because handles only came to ActivityPub via Webfinger being used by Mastodon, the only thing we have in ActivityPub are Actor IDs. There is a preferredUsername field on Actor, but it’s not intended for Handles
-
For proper verification we need a value in Actor objects that says “this is my handle”
-
-
-
For a given language or script, there’s a specification that governs what characters are allowed in domain names.
-
Exists in chinese, korean, japanese, arabic etc.
-
To prevent homoglyph attacks, we can detect mixed scripts in handles and domains to flag that as a potential attack.
-
-
FediMod FIRES, distribution of moderation advisories & recommendations
-
Specifically wanted to highlight homoglyph attacks in datasets.
-
-
Internationalisation Classes for Unicode (ICU) library
-
\pcode in regular expressions, for character ranges: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#regular_expression_and_unicode_characters -
Domain name registrars probably have written code to apply label generation rules to candidate domain name labels. Get a link to their work.
-
Mastodon software is “micro-blogging server”.
-
Recommendation to go to COSCOP and do this session.
-
Mastodon.jp does not run Mastodon software
-
dropped ActivityPub because it did not meet their needs. -
There is a Sovereign Tech Agency fund for people interested in getting invovled in Standards work. Who is willing to do the standards work?
-
Social Web Commnity Working Group in W3C as institutional home.
-
How do competing social media support globally inclusive handles?
-
Meta: generally don’t use user names
-
Bluesky: should already support internationalised domain name. Here is what bluesky is currently doing: https://bsky.app/profile/xn--gckvb8fzb.com
-
Twitter: never supported internationalisation, and Fediverse continued that logic and reused the same limited libraries (specifically Mastodon did).
-
-
Is this an all-or-nothing thing, or can there be incremental progress?
-
Incremental areas of improvement:
-
User registration emails
-
Localisation of user interfaces
-
Hashtags
-
-
For handles, it is either all or nothing, with the caveat that other software might display your handle as punycode encoded
-
-
Open a bug report with Mastodon software about supporting globally inclusive handles
-
Older Mastodon servers had an “original sin” which used ASCII-only user name as “actor identifier”, which is hard to change
-
Newer versions of Mastodon software uses integer instead.
-