Analysis of reported issues in vodozemac

2026-02-18 — Cryptography, Securitymatrix.itmanbu.com Security Team

Today a blog post was published alleging a series of vulnerabilities in Matrix's vodozemac cryptographic library. The post follows a private disclosure to [email protected]. While we prefer coordinated disclosure, the author chose to publish prior to further technical discussion, including clarification of the claimed severity.

We take cryptographic concerns seriously and welcome scrutiny of our cryptographic protocols and implementations. However, we disagree with several conclusions in the post regarding exploitability and impact to Matrix deployments. Below we analyse the claims in terms of realistic attacker capabilities and protocol invariants.

🔗Executive summary

  • We confirm the Olm 3DH code path in vodozemac doesn't currently reject all-zero X25519 outputs.
  • We disagree with the post's claim that this leads to any loss of confidentiality in Matrix, let alone complete loss.
  • Olm v2 is neither standardised nor deployed in today's Matrix. Claims framed as downgrades are about experimental future configuration, not the current spec.
  • Olm v1 uses truncated 64-bit message authentication tags, a remnant of an earlier time when Matrix's cryptography was closely following Signal's. We acknowledge this as a trade-off and that using longer authentication tags would provide a larger security margin, as has been publicly documented in a previous audit of vodozemac.
  • Nevertheless, truncated 64-bit message authentication tags remain a common trade-off in deployed messaging systems and we do not consider this a practically exploitable vulnerability. For example, Signal also uses 64-bit message authentication tags.
  • The "Miscellaneous Issues" are a mix of UX mechanisms being misinterpreted as cryptographic checks (e.g. the CheckCode) and observations without demonstrated security impact.
  • In summary, we believe the post does not describe any practically exploitable vulnerabilities.

The central claim of the blog post is that an attacker can read Matrix users' conversations. That claim requires an attacker to cause two honest clients to derive the same predictable session key. The post does not demonstrate a path to achieve this under Matrix's authenticated key distribution model.

🔗Issue analysis

🔗Olm Diffie-Hellman Accepts the Identity Element

The claim in the title is accurate and not disputed (with some imprecision in terminology: the all-zero Montgomery u encoding does not represent the curve's identity element). vodozemac's X25519 Diffie-Hellman method does not currently reject computations involving the all-zero input nor indeed any of the small-order subgroup elements, neither via direct validation of the input points nor via the rejection of the all-zero Diffie-Hellman output.

What we dispute is the later impact claim, that this leads to a complete loss of Olm and Matrix room confidentiality. That conclusion does not follow under Matrix's authenticated key distribution model.

The core claim is that an attacker can cause both parties to derive a predictable session key by introducing a low-order public key input into the 3DH computation.

In Olm's 3DH, the session key is derived from three Diffie-Hellman outputs:

  • DH(ia, EB)
  • DH(ea, IB)
  • DH(ea, EB)

where ia/IB are long-term identity keys and ea/EB are pre-keys. Lowercase denotes private keys; uppercase denotes public keys.

For an attacker Mallory to force a predictable session key known to her, she must cause both Alice and Bob to derive identical, attacker-controlled outputs for all three DH computations.

In Matrix, the identity key and pre-keys are authenticated via signatures from the device's long-term Ed25519 identity key. Clients verify these signatures before establishing a session. Therefore, a network attacker cannot substitute low-order public keys for those inputs.

Consequently, under Matrix's authenticated key distribution model, the described behavior does not yield a confidentiality break between two honest clients.

That said, in our brief correspondence with the reporter, after outlining our position and asking for clarification or a sketch of an actual attack, we agreed to add the check as a defence-in-depth and to preempt future doubt about whether this is a vulnerability. We also noted the possibility of vodozemac being used outside the context of Matrix, acknowledging this should at the very least be documented. We did not receive further technical clarification before publication.

The post argues that references to RFC 7748 and Trevor Perrin are misplaced because they concern the Diffie-Hellman primitive rather than protocols. We disagree with this reading. RFC 7748 makes the all-zero output check optional at the primitive level and explicitly notes that protocol designers must consider whether contributory behavior is required. Perrin's discussion similarly distinguishes between "safe" and "unsafe" DH protocols, defining safe protocols as those that authenticate peer keys before use. Notably, even Signal only recently added an explicit all-zero X25519 output check, about a week prior to this post.

Matrix's Olm handshake authenticates identity keys and pre-keys via device signatures prior to session establishment. In that context, contributory behavior is not relied upon for protection against active network attackers.

🔗Downgrade Attacks From V2 to V1

Olm V1 is the only currently specified Olm version. The Olm V2 implementation in vodozemac is an experimental implementation of an anticipated future version that has not yet been specified. Given that there is only one standardised version, downgrades are not a current concern and we have not attempted to guard against them. Version negotiation and downgrade resistance become relevant once multiple versions are specified and deployed.

🔗ECIES CheckCode Has Only 100 Possible Values

The claims in this section stem from a misunderstanding of the purpose of the check code, which is purely a UX feature, not a cryptographic check.

Since the security of QR code login relies on the user correctly confirming on their secondary device that their primary device is signalling success, we thought it would be unwise to simply ask the user about this in yes/no form. Such a design would carry too large of a risk that the user will simply click through without understanding what is asked.

The check code serves as an action requiring higher engagement from the user, slowing them down and forcing them to replicate what they see. The actual information being transferred is only a single bit: success or failure. The slight bias in the digits is therefore irrelevant.

🔗Message Keys Silently Dropped After MAX_MESSAGE_BYTES

Vodozemac hard-codes a constant, MAX_MESSAGE_BYTES to equal 40. After more than 40 skipped messaged keys are buffered, any additional keys are silently discarded, making corresponding messages permanently undecryptable.

The constant referred to in the post as MAX_MESSAGE_BYTES is in fact MAX_MESSAGE_KEYS. This number controls the largest difference in message indices that can be successfully received out-of-order within a given receiving chain. So for example, if one side sends 50 messages in a row, before receiving any message from the other side, and these messages arrive significantly out of order, such that message 49 arrives first, then we will fail to decrypt message 2, but will still be able to decrypt message 50. The number was chosen empirically, based on typical network conditions. This is not a significant source of undecryptable messages.

Similarly, MAX_MESSAGE_GAP = 2000 is a hard limit on the message index jump that we will even attempt to decrypt, and again chosen empirically. For example, if we receive message 1 and then message 2100, we will refuse to decrypt it since it is deemed to be too large of a jump at once.

🔗Pickle Format Uses Deterministic IV

As noted by the reporter, this is merely a sharp edge in the API to support legacy pickles and has no security impact. Client applications only ever use this key to encrypt a single pickle and never reuse it.

🔗#[cfg(fuzzing)] Bypasses MAC and Signature Verification

This has already been retracted by the reporter.

🔗Strict Ed25519 Verification is Disabled By Default

This is a trade-off between compatibility and additional protection from signature malleability, which in our usage does not lead to a practical exploit scenario. The reason it's a compatibility trade-off is that RFC 8032, the EdDSA RFC, specifies a looser validation than ed25519-dalek's strict-signatures. See point 3 in https://datatracker.ietf.org/doc/html/rfc8032#section-5.1.7.

The reporter did not report this finding in his latest report, but when he did in 2024, we asked what attack scenario he had in mind. In his own words

This is almost certainly a no-impact finding (or low-impact at worst), but still an annoying one to see in 2024.

If any new information to the contrary has come to light, we are open to reevaluating this.

🔗On the timeline

In his timeline, the reporter notes:

2026-02-17: I respond to matrix.itmanbu.com with an additional PoC, a patch, and express disagreement with their reasoning

We did not receive the referenced additional response prior to publication of the reporter's blog post. Our response was sent at 22:19 UTC while the blog post was published no later than 23:47 UTC.

🔗Closing words

In summary, Matrix's threat model relies on authenticated key distribution: identity keys and pre-keys are signed by device keys and verified prior to session establishment. This prevents a network adversary from substituting non-contributory public keys to force a predictable shared secret between honest clients. The absence of an all-zero check does not compromise this.

It's worth saying that in our private correspondence with the reporter we agreed to add the check as a defence-in-depth and to remove any doubt of whether this constitutes a vulnerability. The check will be added in a future vodozemac release.

We regret that the public post was published without engaging on the technical questions we raised. Coordinated disclosure works best when both parties explore exploitability in good faith.

🔗Reply to the reporter

Attached below is our verbatim response to the reporter, which was sent shortly before the publication of their blog post:

Hi Soatok,

We've now completed our assessment of your report. Taking each issue in turn:

  1. Olm mishandles the identity element

Your PoC correctly demonstrates that the Olm 3DH implementation in vodozemac does not currently perform the all-zero DH output check. As we're sure you're aware, the check for contributory behaviour in X25519 is a contentious topic among cryptographers, with some calling for it, but others like RFC 77481 calling it optional or even arguing against it (e.g. Trevor Perrin2). We've previously considered adding it but ultimately avoided it due to the conclusion that there's no practical security impact on Matrix. In other places like SAS/ECIES we explicitly reject non-contributory outputs because those handshakes can be used in unauthenticated contexts where an all-zero DH output could directly collapse channel security.

To sketch out an argument, it's helpful to consider two possible cases of where it might matter. One, an active attacker, Mallory, trying to manipulate a handshake between two honest parties Alice and Bob. Two, a dishonest participant, Malice, taking the place of Bob.

In the first case, the handshake is protected from Mallory on the Matrix level, by the fact that Matrix requires all key inputs used in the Olm 3DH handshake (except for the "base key") be signed by the long-term Ed25519 identity keys of the participants. Inbound session establishment is only accepted when the sender identity key matches a signature-verified device key for the claimed sender, and outbound uses signature-verified key bundles.

Thus, a third party like Mallory cannot replace any of the bundle keys (the X25519 identity key or the signed pre-key, be it an OTK or the fallback key). The only key that can be replaced is the base key Ea (i.e. Alice's ephemeral "base" key, assuming Alice is the one opening a channel with Bob) which, if replaced with a small order subgroup element, would result in an all-zero DH(Ib, Ea) output on Bob's side. But even then, the attacker cannot influence the corresponding term on Alice's side, so Alice and Bob would still derive different shared secrets and therefore the session would not be viable.

The second case is outside our threat model, given that Malice doesn't gain any additional advantage from using this attack compared to the things she can already do by virtue of being one of the conversation endpoints.

We believe this covers all threat scenarios relevant for Matrix. If our reasoning is flawed and you see a practical attack, can you please sketch it out?

That said, given that vodozemac could potentially be used outside the context of Matrix, we will consider adding the all-zero DH output rejection check in the 3DH path as a defence-in-depth. As a nice side effect, this stops further confusion on whether this is an issue and makes X25519 handling consistent across the entire crate. At the very least, the behaviour should be documented so the user can make an informed decision.

2, 3, and 4. Olm v1 vs v2

Olm v1 is the version of the protocol currently standardised by the Matrix specification. Olm v2 is a planned future upgrade that hasn't yet gone through the specification process. The implementation in vodozemac is there so that we are ready for when it does.

That there is no configuration knob for controlling the required version via policy is a fair observation. We are already aware of this and are planning to add such a mechanism once Olm v2 is specced and deployed. Given this, vodozemac defaulting on v1 is intentional.

Regarding specifically the pickle downgrade attack, there is no version of vodozemac that supports v2 sessions that also omits the config field from the SessionPickle, so a v2 session pickle without a config field cannot arise in an honest setting. It could be constructed maliciously, but what would the attacker gain from this? Once a future version of vodozemac supports policy-enforced minimal session versions, we will consider dropping support for old pickles without a config field and may start rejecting them.


In terms of timelines, we follow coordinated disclosure because fixes in the Matrix ecosystem often require changes across multiple implementations and release cycles. We disagree with the characterisation that the response time for your last report was "squandered". In general, we ask reporters to follow our Security Disclosure Policy.

That said, based on our current assessment, we do not believe the issues described have a practical security impact for Matrix deployments. We are therefore not requesting an extension and we do not object to publication on 2026-02-18.

However, if you believe your report does result in a concrete high-severity attack on Matrix, please share a brief attack sketch (attacker capabilities, prerequisites, and expected impact). If that changes the severity assessment, we will prioritize a fix and coordinate an ecosystem release accordingly.

Once again, we thank you for your continued research of the Matrix protocol and software stack.

Best regards,

matrix.itmanbu.com Security Team

This Week in Matrix 2026-02-13

2026-02-13 — This Week in MatrixHarHarLinks

🔗Matrix Live S11E21 – Commet

🔗Dept of Status of Matrix 🌡️

Matthew announces

We're delighted to welcome the massive influx of users looking for decentralised alternatives to Discord!

We published a post about what to expect, and some clarity on the growing challenges posed by age verification.

Welcoming Discord users amidst the challenge of Age Verification

Continue reading…

Welcoming Discord users amidst the challenge of Age Verification

2026-02-12 — General, Policy, Trust & SafetyMatthew Hodgson

Hi all,

We’ve seen a huge spike of signups on the matrix.itmanbu.com homeserver over the last few days due to Discord announcing its plans to age-verify all users as of next month. We’d like to give a warm welcome to the massive influx of users currently trying Matrix as an open decentralised alternative to centralised platforms like Discord. We wish we had more time and resources to develop all the features needed for mainstream adoption (see The Road To Mainstream Matrix from last year’s FOSDEM), but we're happy to welcome you anyway!

The biggest difference between Matrix and Discord is that Matrix is an open standard, like email or the Web. There’s a wide range of both clients and servers, and anyone can run their own server on their own terms while participating in the global Matrix network.

However, it’s important to note that server admins are still subject to the law in the jurisdiction where they operate.

Practically speaking, that means that people and organisations running a Matrix server with open registration must verify the ages of users in countries which require it. Last summer we announced a series of changes to the terms and conditions of the matrix.itmanbu.com homeserver instance, to ensure UK-based users are handled in alignment with the UK’s Online Safety Act (OSA). Since then Australia, New Zealand and the EU have introduced similar legislation, with movement in the US and Canada too. If you’ve been around for a while, you will have seen that we started raising the alarm about the dangers and potential risks of the OSA back in 2021 - but the reality is that these laws already apply, and the consequences of getting it wrong are serious.

From our perspective, the matrix.itmanbu.com homeserver instance has never been a service aimed at children, which our terms of use reflect by making it clear that users need to be at least 18 years old to use the server. However, the various age-verification laws require stricter forms of age verification measures than a self-declaration. Our Safety team and DPO are evaluating options that preserve your privacy while satisfying the age verification requirements in the jurisdictions where we have users. As a free service, we also have to be mindful of the cost of age-verification compliance. Paying for a matrix.itmanbu.com Premium account with a credit card is one approach which would verify your account and support our work. Premium accounts are currently going through a phased roll out, so if you’re on an older account you might not see the option to convert your account yet, you can mail [email protected] if you wish to be upgraded.

We also want to make it easy for users to move their account to another server with a feature called account portability. Account portability would give users more freedom to choose a server that matches their needs, and it would reduce the load on our matrix.itmanbu.com server. This takes significant work, but there should be some new Matrix Spec Change proposals (MSCs) in the coming weeks showing the direction of travel.

Finally: we’re painfully aware that none of the Matrix clients available today provide a full drop-in replacement for Discord yet. All the ingredients are there, and the initial goal for the project was always to provide a decentralised, secure, open platform where communities and organisations could communicate together. However, the reality is that the team at Element who originally created Matrix have had to focus on providing deployments for the public sector (see here or here) to be able to pay developers working on Matrix. Some of the key features expected by Discord users have yet to be prioritised (game streaming, push-to-talk, voice channels, custom emoji, extensible presence, richer hierarchical moderation, etc). Meanwhile no other organisation stepped up to focus on the “communication tool for communities” use case and provide a production ready Discord alternative, but clients like Cinny or Commet may feel much closer to Discord. On the other hand, Matrix goes far beyond Discord in other areas: both messages, files and calls are end-to-end-encrypted; we have read receipts; Matrix is an open protocol everyone can extend, and in the end, most Matrix clients are open source; there is nothing stopping developers from starting their own project based on existing ones and adding the missing features themselves. They may even eventually get accepted in the original projects!

Anyway, TL;DR: Welcome to everyone trying Matrix for the first time; please understand that public Matrix servers will also have to uphold age verification laws, as misguided as they might be. However, at least in Matrix you have the opportunity to run your own servers as you wish: we actively encourage you to make your own assessments and seek legal advice where needed.

This Week in Matrix 2026-02-06

2026-02-06 — This Week in MatrixMTRNord

🔗Matrix Live S11E21 live from the Matrix Hackathon at FOSDEM 2026

Last week at FOSDEM 2026 we hosted our very first Matrix Hackathon with the community. The results were amazing and presented in this Matrix Live Edition.

You can find out more about Matrix at FOSDEM 2026 in the FOSDEM Wrap Up.

🔗Dept of Public Sector

🔗🇸🇪 Sweden’s Public Sector (eSam) Proposes Open Federation Protocol

Kenneth Edwall announces

We are excited to see a major strategic shift proposed in Sweden! eSam, a collaboration program consisting of 41 Swedish government agencies, has released a new report: "Common Federation Protocol for Chat in the Public Sector" (ES2025-20).

The report explicitly recommends moving away from fragmented, proprietary silos towards a common, open federation protocol.

Key highlights from the report:

Protocol over Product: The working group stresses that the public sector needs to agree on a "common language" (protocol) rather than a single product. This allows agencies to choose different clients or hosting providers while maintaining interoperability.

Digital Sovereignty & Security: The report highlights the risks of depending on global tech giants for business critical communication between authorities and the "lock-in" effects of proprietary communication protocols.

Matrix as the Prime Example: The report references the success of Matrix in other nations. It cites the French government's Tchap, Germany’s BwMessenger and openDesk, and Luxembourg's Luxchat among others as proof that open federation works at scale.

The Recommendation: The working group proposes that eSam formally decides to establish a joint collaboration to start implement an open federation protocol.

The report concludes that sticking to open standards is a strategic investment in "digital autonomy" and allows Sweden to avoid the fragmentation seen in the post-Skype for Business era.

It’s fantastic to see Sweden taking steps to join the growing federated public sector network in Europe! You can read the full report via eSam.

Official homepage https://www.esamverka.se/aktuellt/nyheter/nyheter/2026-01-30-ny-rapport---gemensamt-federationsprotokoll-for-chatt-i-offentlig-sektor.html

Report https://www.esamverka.se/download/18.2eb33fa919b2c04ecba7dcb/1769777961813/ES2025-20%20Common%20Federation%20Protocol%20for%20Chat%20in%20the%20Public%20Sector.pdf

Appendices https://www.esamverka.se/download/18.2eb33fa919b2c04ecba7dcd/1769777982072/dSam%20All%20appendices%20A-J%20ES2025-20.pdf

Continue reading…

Matrix on Cloudflare Workers

2026-01-28 — GeneralMatthew Hodgson

There’s been a lot of attention over Cloudflare publishing a well-intentioned but rather flawed blog post demonstrating how one might go about running a Matrix server in TypeScript on Cloudflare Workers as a serverless architecture.

On the Matrix side, we’d like to welcome Cloudflare to the ecosystem anyway - we just wish it had been a smoother entrance! Thank you for building on Matrix. The good news is that the demo successfully serves its purpose to illustrate how Cloudflare Workers operate, and the code could certainly be used as the basis for a working server in future. Meanwhile, there’s a whole host of other places where Matrix and Cloudflare could play nice together - e.g. td’s proof of concept for using Cloudflare Calls as a MatrixRTC backend, and meanwhile Cloudflare’s CDN has been invaluable in protecting matrix.itmanbu.com’s web traffic over the years.

We’re deeply flattered that a company with the size and reputation of Cloudflare is paying attention to Matrix and publishing implementations - and the post is a very cool demo, and does demonstrate effectively how you might go about implementing a Matrix server on Workers. On the other hand, it’s unfortunate that the post severely overclaimed the scope of the project: to be clear, the code doesn’t yet implement any of Matrix’s core features which allow you to federate safely, and so doesn’t yet constitute a functional Matrix server, let alone a production-grade one which you should consider deploying. It doesn’t model rooms as a replicated graph of events; it doesn’t check permissions or uphold power levels: it’s the equivalent of a filesystem which ignores permissions, or a blockchain which doesn’t implement a consensus mechanism.

Honestly, we feel a bit bad for the author: if you’re using an LLM to prototype an implementation of an unfamiliar protocol, you might not know where to check where the agent is overstating the truth - and you might not be aware how sensitive folks are to problems caused by overenthusiastic use of LLMs, especially if they have invested lots of time and effort into understanding and building functional Matrix implementations themselves. And while some criticism is justified here, we’re not at all fans of the pile-on which has happened, and we sincerely hope the author can bounce back stronger from this.

Finally, it’s worth noting that The Matrix Foundation depends entirely on membership fees to fund our work to build out the missing communication layer of the open Web - a mission which is more important today than ever before. And while the number of organisational members has doubled in the last year, the Foundation is not yet financially sustainable - seriously undermining our ability to fund work on improving the spec, improving our trust & safety tooling, or supporting and growing a healthy and broad Matrix ecosystem. All it takes is for a few large organisations like Cloudflare who benefit from Matrix to join the Foundation as members and we will be able to accelerate once more - to the direct benefit of everyone in the ecosystem. So, we sincerely hope that folks like Cloudflare who see the value in using Matrix to promote and power their products will consider joining up, and so help accelerate Matrix to the point that it can truly provide a mainstream alternative to the centralised incumbents.

This Week in Matrix 2026-01-23

2026-01-23 — This Week in MatrixThib

🔗Matrix Live S11E20 – Sharing Encrypted History

🔗Dept of Events and Talks 🗣️

🔗Matrix at FOSDEM

HarHarLinks announces

We're excited that by this time next week, a lot of us will have gathered in Brussels for FOSDEM!

Check out our initial blog post for some photos of how this looked in 2025!

🔗Hackathon

We are looking forward to filling Hackerspace Brussels with beyond 100 Matrix hackers who signed up! We start at 9:00 in the morning and will finish the day with a round of lightning presentations at 17:00. Watch the banner on matrix.itmanbu.com and join the chat below for possible live stream announcements! 👀

This hackathon is a friendly place for Matrix newcomers just as well as veterans who will offer their mentorship. If you are interested in sponsoring lunch, dinner, livestream, or prizes, please reach out. Learn more on the blog and join us in #fosdem-2026-hackathon:matrix.itmanbu.com to stay informed!

🔗Booth

Booths all over the campus buildings allow a great diversity of projects to present themselves, and this includes Matrix. Visit us in building AW!

The booth is staffed by volunteers, and few shifts remain available! You can self-register using our shift management platform to join the fun and meet other Matrixers! On top, booth staff will receive one of a kind Matrix-at-FOSDEM-2026 T-shirts!

Whether you join the team or not, we are always looking for projects to put on display! Please reach out to #events-wg:matrix.itmanbu.com or via email with your ideas: your project, demo, stickers, or more!

🔗Devroom

Devrooms at FOSDEM are themed tracks, and we are organising the Decentralised Communications devroom. You can find the schedule on FOSDEM's website.

The devroom is hosted by a stage host introducing the speakers and a video technician ensuring the right camera or slides are shown on stream and recording. If you are interested in joining the team in either position, please reach out to #events-wg:matrix.itmanbu.com or via email.

Continue reading…

This Week in Matrix 2026-01-16

2026-01-16 — This Week in MatrixThib

🔗Matrix Live

🔗Dept of Events and Talks 🗣️

Michael @matrix / away in 🇯🇵 Japan until Jan, 19 says

Hi people, we (@bboett:matrix.itmanbu.com & @michaelmicheal:matrix.itmanbu.com) are doing a Stammtisch like meeting in Tokyo on 17th January 2026 @19:00 JST. We call it "Matrix Pop-up meeting Tokyo". All people around an interested to join please go to room #matrix-popup-tokyo:pwl.social

Continue reading…

This Week in Matrix 2026-01-05

2026-01-05 — This Week in MatrixThib

🔗Dept of Events and Talks 🗣️

🔗FOSDEM

Thib announces

🔗Hackathon

We're excited that more than 50 people have signed up for our Hackathon before FOSDEM, including some seasoned developers who are willing to mentor newcomers. We're looking forward to meeting everyone there!

If your organisation wants to support the Matrix community for this event and get brand recognition for it, please reach out to [email protected] to sponsor the prizes, lunch, dinner, or drinks!

🕐️ Friday, 30th January, 09:00 - 17:00 CET (local time)
🏢 HSBXL, Rue Osseghem 53, 1080 Molenbeek
🎫 Free registration here
Join us in #fosdem-2026-hackathon:matrix.itmanbu.com to stay informed!

🔗Booth

We'll have a booth for both FOSDEM days, on Sat. 31st Jan. and Sun. 1st Feb. We already have a solid team staffing the booth, but there are a few remaining slots if you want to lend us a hand and leave FOSDEM with a limited edition volunteer T-shirt! (Little birds told me this year the T-shirts would be Spezicolored!)

Find us in building AW!

🔗Devroom

We're coordinating the Decentralised Communications Devroom. We have a pretty cool line-up with focusing on T&S, Matrix, XMPP, ActivityPub, AT and more.

Joins us to get up to speed on what's happening in the decentralised communications world, and why not help cross-pollinate between projects 🐝

🕐️ Sunday, 1st February, 09:00 - 17:00 CET (local time) 🏢 Room AW1.126

Continue reading…