Bluesky solved the DM case by adding E2E encryption using the Signal protocol -- that works because it's 1:1 with a well-understood key exchange. Group chat is harder. Every membership change (someone joins, someone leaves) ideally requires a key rotation so former members can't read future messages. For a 10k-member server that's already expensive; for a large gaming community it's impractical with current approaches.
The Discord DMs aren't E2E encrypted either, for the same reasons. The difference is Discord doesn't claim to be a decentralized open protocol, so users don't think about it the same way. Colibri's marketing around ATProto creates an implied trust that doesn't actually exist at the privacy level.
And what about reliability? If I cause the key to change, and then alter my PDS so it only shows that event to one half of users, did I completely mess up your protocol so you have to delete the chat room and start over?
This is patently false. Bluesky DMs are not E2EE, they do not use Signal.
Germ is the MLS based system that a few bluesky users are on, but it started separate from ATProto and has had account integration to atproto added on later. The folks behind that are a separate entity from Bluesky. I'm not keen on this setup, I'd prefer an MLS scheme where there are more controlling entities of the servers.
I agree E2EE chat is not the foundation for a Discord alternative and that Colibri has poor messaging and understanding. Communities need permissions, UX needs visibility into the data for things like search. E2EE has unsolved scaling problems required for real world communities.
Sure you can see that users emit messages in the pds but you dint know if its for your former group or other activitt
I think one of the replies here already linked the current proposal for private data spaces, which I'm hoping will become implemented later this year. At that point, people will have the option of either having their community be 100% public, or confined to a more Discord-style data storage, where people can still join, but not everyone can "just read" the messages
One major criticism of things like Discord is that they're private, so I don't think that it's inherently disqualifying, some people might even prefer it for that reason. But it's very, very important that you're very clear about this, up front.
https://www.malwarebytes.com/blog/news/2024/04/billions-of-s...
Second, the moderators can choose to remove someone who has joined the community in bad faith.
Third, it is entirely different than broadcasting every single action taken by every single user in every single community on the entire protocol to anyone with one URL.
From Colibri: your community chats are public and visible to everyone by default.
So it's the same.
> Second, the moderators can choose to remove someone who has joined the community in bad faith.
Colibri has mod tools as well.
> Third, it is entirely different than broadcasting every single action taken by every single user in every single community on the entire protocol to anyone with one URL.
Sure, but then just don't use it?
It's really no that different from how IRC worked. Except persistent history is part of protocol and not some bots.
This is not public communities, not for small group of friends sharing edgy memes and discussing national security.
unless you prevent new members from reading the chat history until given permission then they can already read everything before they are kicked out, and they can come back with a different account.
you also can not detect people acting in bad faith if all they do is read.
basically, you can't expect privacy if you don't limit members to people you know and trust. that goes for any group chat, encrypted or not.
i also doubt that discord chatlogs are encrypted on their servers.
That Discord communications can be exfiltrated in this specific set of circumstances (again, something I already said) does little to change that Colibri is implemented in the least privacy preserving way possible, short of publishing directly to every news and intelligence agency on your behalf, and does little to make that very clear in the first place.
my point is: you don't get that in a public discord. and i believe that most discord servers, those for games anyways are public. only small team discord servers are private. privacy on discord is an illusion. i also would not trust discord to keep any messages private even from a private server.
you seem to imply that just by looking like discord colibri promises the same privacy options as discord. why? colibri does not present itself as a discord alternative. and although the line "privacy when needed" was misleading, in the FAQ they clarified that there is no private data. (to be sure i checked the site as it was 2 weeks ago: https://web.archive.org/web/20260311020805/https://colibri.s... )
This is one of the challenges of building a Discord alternative on atproto. Allow access or not, how moderation works, and having shared ownership that can change.
A few other landing page issues if you feel like addressing them:
- Attempting to navigate with the Tab key results in tab order following nav elements once, where focus indicators aren't visible, and then the same elements get iterated over again but this time focus indicators are visible.
- Tab order doesn't include screenshots and jumps to the FAQ
- Clicking a thumbnail shows the larger image but without any elements for closing the overlay
- Pressing Esc doesn't close the overlay
- No skip links on any of the pages
There are always quirks and edges. Like using Bluesky itself, there's a number of viable apps for them (some better, some worse), they're all slightly different. There was a large number of Reddit apps, every single one very different.
https://atproto.com/guides/permission-sets#permission-set-de...
I believe what they are referring to is custom permissions set by the person logging in, regardless of what the app itself requested.
e.g. login, disable all writes, all attempted repo writes using that oauth token fail.
Today, apps can limit the permissions they request during login. I don't see the dynamic, assuming they mean something where during approval you can deselect options, as a horrible situation. That's something very few apps do even outside of atproto.
But all that aside i think a protocol aiming to liberate users and be an open app platform cannot be held to the same standards as corporate garbage that we don't expect to behave differently. Atproto needs to show some commitment to the values of putting users first, its so close.
I think the Bluesky domination and recent "funding" from Bain Capital move it away from these goals. I've left the app and ecosystem. "user" growth is negative and they are misleading about how many "accounts" there are.
The hero holds the lies: https://atproto.com/
To get to the widely cited 43M "users" you have to count DIDs (accounts, not users) and include takedown and deleted...
From a product uptake perspective, I could suggest that since a user is still building trust when they begin use - to only require as few permissions as needed. I'd punt that profile update requirement out personally for another method later.
An example might be when a user has used your app for N sessions, or after N months.
ActivityPub (Mastodon etc) has already very granular permissions wrt. who to federate with, which posts to make public, edit or withdraw posts after initial creation, etc. catering to EU privacy and moral/personality rights demands.
For closed group chat, there are many alternatives.
Discord is after all a video chat app designed to be used during a gaming session first and foremost.
If i wanted video chat app I'd to for twitch.
Twitch barely has any semblance to what Discord offers. It's one to many, while Discord is many to many.
Use AS2.
Use AS2.
Making decentralized social media?
Use AS2.
This is not chat, it’s social media with a chat UI.
You should use AS2.
AT is a joke invented by nontechnical people. They had 1 good idea (updatedAt and use of At) everything else was not good for decentralization.
AS2 is perfect for feeds of content especially when you want to nest other content e.g. a user posted a reply to a comment on a game.
AT is centralized social media with cancer, stop using it.
Edit: For the curious like myself, after more searching it seems to reference Activity Stream 2 which is a W3C standard used by ActivityPub (Mastodon, lemmy, etc)
I'm looking forward to a new protocol that combines the best of what we have with a robust permission system from the start.
> AP has plenty of problems this fresh account made to disparage omits.
Isn't that a problem with moderation instead? If ATProto becomes decentralized someday, it'll have the same issue
https://bsky.social/about/blog/03-12-2024-stackable-moderati...
> Seems you wanted to respond to the OP?
yes
A problem that ATProto will face once/if they really do get decentralized. If some instances are badly moderated, you will suffer the same as with AP
It seems like you do not understand the architecture of ATProto and make claims that are not based in reality.
If this project has genuinely decent multi-user support instead of the miserable experience of Discord, I'd emphasize and promote that first over being a Discord-like, since this genuinely improves on some of the privacy issues of Discord, despite AT Proto being public.
Better to distinguish the product from Discord rather than promoting how similar it is. Because of the public architecture, it's more similar to a forum board than Discord anyway, so you could also just as well give people another interface by showing the community as a conventional website. People may or may not like it, but it's basically what it practically is.
One of the big issues with Discord is that it takes public knowledge like wikis and makes it private instead - and beholden to the whims of mercurial mods and admins. Information being public doesn't have to be a bad thing that way.
Instead of Discord, you can give the people Discourse. :)
tl;dr: AT Proto being "open" can look like a bad thing in nominally private spaces like Discord, so promoting as something more open like an open forum board rather than a closed Discord server might be more interesting and persuasive. But I'm also a forum board evangelist.
I'll send you a code!
I'm on a Facebook group and we're actively trying to get off of all Meta platforms, and wanted to see whether I could start up my own platform using an open source platform - but I think something like Reddit would be more suitable as opposed to a massive chat UI.
Also, feel free to DM me (@colibri.social) on Bluesky if you want to migrate to the Colibri PDS! We do host one ourselves.
How is the chat displayed if messages are scattered among multiple PDSes?
What about the community metadata, where is it stored?
PS: I'm not sure if Nostr has this but bluesky currently doesn't.
There is an E2EE messaging system that works with atproto DIDs, based on MLS, called "germ". People who have accounts can have them associated with the Bluesky profile for easy association. They only had a iOS app last I heard, so most people cannot use it.
“Open social” is so much bs compressed in a couple of buzzwords.
it might be on https://bsky.social, https://npmx.dev/pds or sitting next to your router in your living room in the form of a raspberry pi (https://atproto.com/guides/self-hosting)
> But that’s not where you want your chats now is it? E2EE? And how does it keep it all private since apparently the Bluesky bros haven't figured that part out?
It honestly depends. Right now, Colibri is meant to function for communities that are public anyway. If you're a streamer, an open source dev community, Colibri can help you with talking to people who don't want to be locked in by big corporations. As the E2EE and private data, the Bluesky people have posted a new proposal for that only a few days ago, which I'm already thinking about how to implement: https://dholms.leaflet.pub/3mhj6bcqats2o
But, yes, for now, chats are public. Private data will hopefully be a thing soon on the network.
It's a very cool product but you have to let people know their messages aren't private.
Edit: Section has been added!
https://github.com/colibri-social/appview/blob/main/README.m...
> BUILT ON OPEN STANDARDS. PRIVATE WHEN NEEDED.
> Running a private group chat? As soon as the AT protocol supports private data, we'll work on implementing it and giving you the option to create private communities.
Not exactly "private when needed" then, is it? It's disingenuous to even mention this in the marketing copy.
I was working on this, taking a break from atproto, re: bluesky "leadership" who defacto decide what does and does not get into the protocol via the PDS used by 99% of users.
By using ATProto, Colibri fundamentally makes all of your communication within any community completely public to everyone on the internet.
That’s fine for something like Twitter, where the product sets the expectation of such a thing. You can imagine how big of an issue this is when you try to do it in a trusted community model. Add on that Discord is used by kids who likely don’t know this and you can see why this is dangerous.
I consider this not only just a liability but bordering negligence. It is fundamentally broken, at an architectural level