Discreet Log #30: Future Plans for Cwtch

04 May 2022

Welcome to Discreet Log! A fortnightly technical development update providing a look into the research, projects and tools that we work on at Open Privacy. For our 30th post we talk about our future plans for Cwtch

We have kicked off Open Privacy’s 2022 fundraising drive! We’ve gotten some wonderful new supporters, but currently not enough to support all our staff continuing on through the year. We’re still looking at how we can keep pursuing our goals with reduced capacity.

Please consider donating or volunteering to help us continue our research and development of surveillance resistant software.


Future Plans for Cwtch

We always have many little improvements for Cwtch planned, but across the last few releases we are arriving at a place where we are very happy with how stable the core feature of P2P messaging is.

With 1.7 now released we are at the end of the Roadmap for Cwtch Beta 1.4 to 1.7 that we published last October.

The platform we’ve built for, and around, Cwtch is maturing, and we’re starting to be able to think and plan about the next set of big features.

Today we would like to talk about some of these ideas at a high level, explain why we are excited about them, and hopefully inspire you to support our efforts going forward.

Big Idea 1: Moving from Legacy Groups, to Managed Groups, to Hybrid Groups

Cwtch Groups have remained an experimental, opt-in feature since our initial release and the “legacy” group experience Cwtch offers will forever remain an experiment.

The reliance on untrusted servers and lack of forward security means these groups have non-trivial risk and reliability concerns that are rarely suitable for real-world deployment outside a limited set of scenarios where people can choose to opt-in.

That said, we’ve been using it every day for internal work communication for almost a year now. This is preferable to any alternative, even if we want more from it. We’ve already invested work into ensuring the experience is more accessible by making servers as easy to run as possible, maintaining Docker containers for the server folks, and offering the ability to run them inside the Cwtch app for desktop users.

However, our ultimate goal is to allow communities to morph Cwtch groups to their own structure, and trust levels. Trading trust for efficiency where it makes sense, or eliminating external dependencies entirely with a group managed entirely through peer-to-peer connections.

We’ve coined this mission the “Hybrid Groups” project and are conducting on-going research into what that experience would look like and what further tools, service support, UX, and cryptographic primitives are needed.

As an intermediate step we are working on a feature called “Managed Groups” which would allow a group to designate a trusted profile (or bot), or a set of profile (or a set of bots) with managing the access control list of a particular group - allowing more refined group experiences within Cwtch e.g. member lists, read/write permissions, and key rotation.

This work will be split into many parts, so expect initial experiments to arrive in Cwtch over the coming releases.

As “Managed Groups” matures, and we receive feedback we plan to start integrating new research and lessons learned towards the full “Hybrid Groups” experience.

Big Idea 2: Profile Proxying for Lightweight Clients

Every device you install Cwtch on requires creating a new profile to use it. This can be a challenge on mobile clients where Cwtch is required to run in the background in order to work.

One potential project we are excited about would let you pick one designated profile and allow Cwtch clients on your other devices to use that profile. This would mean that in some ways creating a small simple cloud of one service for yourself on a desktop so that even if your mobile Cwtch goes off-line, it could reconnect later and collect sent messages from the desktop client.

As someone who has 4 or 6 Cwtch installs and profiles, the is of a lot of appeal to me. This is, however, a non-trivial chunk of work, and would mean creating a whole new interface for Cwtch that works in a client/server fashion, and with the amount of API calls we have between the UI and the backend, there is a lot of work to duplicate and support.

Big Idea 3: Microblogging

Social networking on a privacy focused platform may seem like a slightly mismatched fit, but we also think it could provide some really intriguing opportunities. Given the recent uncertainty in the micoblogging social sphere it is more pressing than ever to pursue alternatives.

Cwtch already has a lot of the building blocks we would need in order to start pursuing such a platform, and we would need only to extend and remix them a little.

Building a microblog platform on Cwtch evokes a feeling of a social network in fog. Due to the consentful, and privacy focused, mechanisms of how Cwtch works, you could mark posts as public, or for mutuals only. Given that it’s a peer to peer network, you would only see replies from people you follow yourself, and likewise, people following you would only see replies from others they follow. This creates much smaller and tighter social engagement spheres, and could really limit some of the more toxic bandwaggon-type phenomena we see on centrally structured networks.

There are open questions about discoverability and community building in such an environment, with a lot of potential distributed tech solutions we could later look at adding on, but I think in the short term, social process already has some good answers in social forms like “follow fridays”, where trusted people you follow recommend other people.

This practice is a good organic social practice for building tighter social networks with likely healthier communication and connections. This absolutely wouldn’t be a replacement for existing social networks but something new and different that may fill some of the gaps that are being created, but also create new spaces for which I am excited to try exploring.

Big Idea 4: Bots

Private secure chat as an interface for software is proposition I’ve been eager to dive into since before we even started Cwtch. It’s now right around the corner, as our Rust bindings are continuing to mature, and we’re starting to build a full bot development framework, Imp, on top of that.

Our new Update Bot is our first example of that but now two of us are working on additional bots built with Imp which is in turn furthering its development. We’re hoping it’ll be ready for wider use and soon.

Big Idea 5: Bulletin Boards and Forums

Another social format we have been wanting to bring to Cwtch since the very start is bulletin boards or forums. Being able to coordinate over larger threads of conversations is vital to community building and there is no reason why this cannot be metadata resistant.

This is obviously a larger project than microblogging, but something we’ve had on our radar for a long time and are very slowly assembling pieces towards. Late last year’s storage engine replacement was one such step - but hosting efficient forums on Cwtch will require much more work and research to improve the efficiency of group conversations.

How We Get From Here to There

As outlined above, we have many ideas for where we want to take Cwtch and the wider ecosystem.

The vast majority of our research and work is independently funded. Without a significant increase in funding many of these projects will take a long time to see the light of day.

We couldn’t do what we do without all the wonderful community support we get; from [one-off cryptocurrency and Paypal donations]( donating to recurring support via Patreon. If you want to see us move faster on some of these goals and are in a position, please donate. If you happen to be at a company that wants to do more for the community and this aligns, please consider donating or sponsoring a developer.


Stickers and T-shirts!


Donations of $5 or more receive stickers as a thank-you gift, and $25 or more gets you one of our new sticker sheets! To celebrate our 4th anniversary, we’ll even count cumulative pledges since November 2021 to our Patreon.

Donations of $50 or more can claim a limited edition Privacy is Consent t-shirt as a thank-you gift! By popular request, these black tshirts use high quality screen-printing done locally in Vancouver. Available in both unisex and fitted sizes.

For more information about donating to Open Privacy and claiming a thank you gift please visit our Donate page.

Donate to Open Privacy



Stickers!

Donations of $5 or more receive stickers as a thank-you gift, and $25 or more gets you one of our new sticker sheets! To celebrate our 4th anniversary, we'll even count cumulative pledges since November 2021 to our Patreon.


Open Privacy is an incorporated non-profit society in British Columbia, Canada. Donations are not tax deductible. You can Donate Once via Bitcoin, Monero, Zcash, and Paypal, or you can Donate Monthly via Patreon or Paypal. Please contact us to arrange a donation by other methods.


What is Discreet Log?

Discreet Log is a technical development blog to give a more in-depth look at the research, projects and tools that we work on at Open Privacy.


More Discreet Logs