<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:base="https://blog.cryptpad.org">
  <title>CryptPad Blog</title>
  <subtitle>News from the end-to-end encrypted collaboration suite</subtitle>
  <link href="https://blog.cryptpad.org/atom.xml" rel="self"/>
  <link href="https://blog.cryptpad.org"/>
  <updated>2026-06-24T00:00:00Z</updated>
  <id>https://blog.cryptpad.org</id>
  <author>
    <name>CryptPad Team</name>
    <email>contact@cryptpad.org</email>
  </author>
  <entry>
    <title>2026.2 security fixes and our new security policy</title>
    <link href="https://blog.cryptpad.org/2026/06/24/2026.2-security-issues/"/>
    <updated>2026-06-24T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/06/24/2026.2-security-issues/</id>
    <summary xml:lang="en" type="html">Follow up regarding two security issues impacting CryptPad, post-mortem on our Jan 28th outage and our new security policy.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;In 2025.2.0 and 2025.2.1 there has been security fixes that are published in the
following Common Vulnerabilities and Exposures (CVEs):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://nvd.nist.gov/vuln/detail/CVE-2025-51846&quot;&gt;CVE-2025-51846&lt;/a&gt;: “Unbounded
WebSocket Frame Flood Enables Remote Denial of Service (DoS)”. CVSS3.1: 7.5
(High)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cve.org/CVERecord?id=CVE-2026-26028&quot;&gt;CVE-2026-26028&lt;/a&gt;: “Sanitizer
Bypass in Diffmarked.js Allows Arbitrary HTML Injection and Potential XSS”
(Cross-Site Scripting, blocked by our content security policy (CSP)). CVSS3.1:
6.1 (moderate)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this blog post we will explain these security vulnerabilities in turn,
explaining their impact and the measures we took to address them.&lt;/p&gt;
&lt;p&gt;One of the vulnerabilities, CVE-2025-51846, was exploited against our flagship
instance as part of a DoS attack on January 28th 2026 that led to a service
outage. This blog post also serves as a post-mortem for this incident.&lt;/p&gt;
&lt;h2&gt;1. Frame flooding enabling Denial of Service&lt;/h2&gt;
&lt;h3&gt;Context&lt;/h3&gt;
&lt;p&gt;Since we were taking part in the &lt;a href=&quot;https://www.opendesk.eu/en&quot;&gt;OpenDesk project&lt;/a&gt;,
CryptPad code has been audited for security by Uni Systems at the request of the
&lt;em&gt;Bundesamt für Sicherheit in der Informationstechnik&lt;/em&gt;
(&lt;a href=&quot;https://www.bsi.bund.de/EN/Home/home_node.html&quot;&gt;BSI&lt;/a&gt;). This audit was part of
an initiative for code analysis for open source software
(&lt;a href=&quot;https://www.bsi.bund.de/DE/Service-Navi/Publikationen/Studien/Projekt_P486/projekt_P486.html&quot;&gt;CAOS&lt;/a&gt;,
in German). We are thankful to them for that!&lt;/p&gt;
&lt;p&gt;Most reported vulnerabilities did not fall in the scope of our &lt;a href=&quot;https://blueprints.cryptpad.org/document/threatmodel/&quot;&gt;threat
model&lt;/a&gt;. However, one
vulnerability was found to be serious enough to warrant a :
&lt;a href=&quot;https://nvd.nist.gov/vuln/detail/CVE-2025-51846&quot;&gt;CVE-2025-51846&lt;/a&gt;. If you are
interested in more technical details, please see the &lt;a href=&quot;https://github.com/JohnPerifanis/cryptpad-cve-2025-51846-advisory/blob/main/README.md&quot;&gt;full advisory&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this post, we will explain what this vulnerability means, how it impacted us,
and the changes we made, both in our code and in our way of dealing with
security reports.&lt;/p&gt;
&lt;h3&gt;The vulnerability&lt;/h3&gt;
&lt;p&gt;CryptPad relies on websocket connections to exchange data between the client and
the server, for instance to get your encrypted data for collaboration or the
encrypted content of your drive.&lt;/p&gt;
&lt;p&gt;However, these connections were not rate-limited in any way. This meant that it
was possible to use them to repeatedly send over and over again some known
websocket frames that would be accepted and processed by the server. Even if
they have no effect, they still require some computing and keeping a connection
open. It thus leads to ressource overload, effectively resulting in a
denial-of-service attack.&lt;/p&gt;
&lt;p&gt;To protect against such attacks, nginx (the web server we use) has rate-limiting
features. We have now added the appropriate directives to our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/blob/358858d0732d141ff174fbc73351aed1d43368e7/docs/example-advanced.nginx.conf&quot;&gt;example
configuration&lt;/a&gt;
as well as the one we use in production for &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;.&lt;/p&gt;
&lt;h4&gt;For instance administrators&lt;/h4&gt;
&lt;p&gt;If you are using CryptPad behind nginx with a variation of our nginx advanced
configuration, please update it with our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/blob/main/docs/example-advanced.nginx.conf&quot;&gt;latest
version&lt;/a&gt;
as soon as possible.&lt;/p&gt;
&lt;p&gt;The details of the changes can be seen in this
&lt;a href=&quot;https://github.com/cryptpad/cryptpad/commit/1e0c06ad8a0c5dab795f85f9730ec2693320c62e&quot;&gt;commit&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Consequences&lt;/h3&gt;
&lt;p&gt;As we were slow to respond to this looming threat, &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; was targeted by a
&lt;a href=&quot;https://social.xwiki.com/@CryptPad/115974705329016378&quot;&gt;distributed denial-of-service
attack&lt;/a&gt; on January 28th
2026. The incident was resolved in under 3 hours. However, the server was
already under high load from legitimate users, and we did not notice the issue
immediately.&lt;/p&gt;
&lt;p&gt;The fix has been included in our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.2.1&quot;&gt;Winter fix release
(2026.2.1)&lt;/a&gt;. In line
with the discussion between our team and the security researchers, we embargoed
this disclosure for 90 days after the release to give instance administrators
time to update their instances. However in this case, the reporter disputed the
validity of the embargo as it was not written clearly in our security policy.
The CVE was thus published on April 30th, which is 34 days after the 2024.2.1
release.&lt;/p&gt;
&lt;h3&gt;Our response&lt;/h3&gt;
&lt;p&gt;Consequently, we wanted to avoid putting instance administrators under the risk
of a public vulnerability without having the time to upgrade their instances in
the future. We also wanted to ensure that instances on our &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;public
list&lt;/a&gt; aren&#39;t exposed to attacks through known
vulnerabilities.&lt;/p&gt;
&lt;p&gt;To this end, we wrote a &lt;a href=&quot;https://cryptpad.org/security/&quot;&gt;new security policy&lt;/a&gt;
to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Explicitly state the length of the embargo period to protect third-party
instances;&lt;/li&gt;
&lt;li&gt;Clearly list the channels available to report vulnerabilities to us;&lt;/li&gt;
&lt;li&gt;Explain the specificities of CryptPad and what falls into our threat model;&lt;/li&gt;
&lt;li&gt;Be transparent about the security processes that our team follows, and the
verification steps on our code and external dependencies we also do on our
side.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We hope that this new policy will improve the security practices around
CryptPad, and make it easier for our team and community to build more secure
software.&lt;/p&gt;
&lt;h2&gt;2. Sanitizer bypass&lt;/h2&gt;
&lt;p&gt;As stated in the introduction, the security advisory
&lt;a href=&quot;https://github.com/cryptpad/cryptpad/security/advisories/GHSA-g2g4-47gv-p72v&quot;&gt;GHSA-g2g4-47gv-p72v&lt;/a&gt;
describing &lt;a href=&quot;https://www.cve.org/CVERecord?id=CVE-2026-26028&quot;&gt;CVE-2026-26028&lt;/a&gt; has
recently been published on GitHub.&lt;/p&gt;
&lt;p&gt;We are thankful to user &lt;a href=&quot;https://github.com/ixSly&quot;&gt;@ixSly&lt;/a&gt; on GitHub, for
reporting it to us.&lt;/p&gt;
&lt;p&gt;We use iframes in multiple ways in CryptPad, one of them is to embed external
ressources (for example encrypted PDFs). As they are a common attack vector, the
source of these iframes is sanitized in CryptPad to only allow authorized
sources. However, we missed the possible use of the &lt;code&gt;srcdoc&lt;/code&gt; attribute to inject
arbitrary HTML in an iframe.&lt;/p&gt;
&lt;p&gt;Fortunately, this does not lead to exploitable attacks, as CryptPad’s
content-security policy (CSP) blocks it at the browser’s level. However, in
order not to rely on CSPs for security, we fixed this issue by improving our
sanitizer with the removal of iframes containing these attributes before
rendering the page.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="postmortem" scheme="https://blog.cryptpad.org/tags/postmortem/"/>
  </entry>
  <entry>
    <title>A shared vision for encryption and privacy: A conversation with Tuta</title>
    <link href="https://blog.cryptpad.org/2026/06/23/2026-06-a-conversation-with-tuta/"/>
    <updated>2026-06-23T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/06/23/2026-06-a-conversation-with-tuta/</id>
    <summary xml:lang="en" type="html">An interview with Tuta CEO Hanna Bozakov as part of a cross-blog collaboration</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/tuta.png&quot; alt=&quot;screenshot of Tuta applications: email, calendar, and drive shown in various screen sizes&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Tuta and CryptPad share a common vision: end-to-end encrypted, open-source tools built in Europe to respect user privacy rather than turning personal data into a business model.&lt;/p&gt;
&lt;p&gt;As part of a new collaboration, we spoke to &lt;strong&gt;Hanna Bozakov&lt;/strong&gt;, CEO of &lt;a href=&quot;https://tuta.com/&quot;&gt;Tuta&lt;/a&gt;, an encrypted email service. We explored the values Tuta and CryptPad share, the role of encryption and open source in protecting privacy online, and what&#39;s next for Tuta. Read on to learn more about the people behind Tuta and discover a special offer for the CryptPad community.&lt;/p&gt;
&lt;p&gt;For anyone looking to bring the same commitment to privacy and end-to-end encryption to their inbox, Tuta offers a compelling alternative to mainstream email providers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Get 25% off Tuta Mail and Tuta Calendar!&lt;/strong&gt; Use this link &lt;a href=&quot;https://tuta.com/?t-src=cryptpad&quot;&gt;https://tuta.com/?t-src=cryptpad&lt;/a&gt;  when signing up to automatically receive 25% off a paid yearly plan. On the CryptPad side, use the code PRIVACY25 to get a 25% discount on any first purchase. Both promotions run for one month until 23rd July.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/tuta-team.jpg&quot; alt=&quot;photo of the Tuta team&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Can you briefly introduce yourself and your role at Tuta?&lt;/h2&gt;
&lt;p&gt;I’m Hanna. I started working at &lt;a href=&quot;https://tuta.com/&quot;&gt;Tuta&lt;/a&gt; in 2014 when we launched our encrypted mail service Tutanota – and I’ve never looked back. At Tuta, we see ourselves as freedom fighters: When we launched, the Snowden leaks were still fresh, and slowly everyone became aware of how problematic general mass surveillance is, how it undermines freedom and democracy, and how only encryption can protect oneself against any kind of snooping. Be it from the government, from malicious attackers, or from tech services that abuse users’ data.&lt;/p&gt;
&lt;p&gt;Today, these topics are still there – maybe with a different framing, but the digital sphere still makes surveillance very easy, and cheap. We at Tuta want to build a different internet, one where everyone is respected and where people’s and businesses’ data is not being abused.&lt;/p&gt;
&lt;p&gt;My role at Tuta is to spread this message far and wide – first as Marketing and Communications Manager, and today as part of the management team. Tuta has evolved greatly since its first launch, and so has our team. We’re now ready to take on Big Tech – and it’s about time to!&lt;/p&gt;
&lt;h2&gt;If someone asked you, ‘What is Tuta, and why should I care?’, how would you answer?&lt;/h2&gt;
&lt;p&gt;Tuta is not just a product, but a statement against Big Tech. We at Tuta follow one essential rule in everything we do: protect users’ data as well as possible and make sure their privacy is being respected, always. We make sure to achieve this not only by end-to-end encrypting as much data as possible, but also by making sure we do not use third-party products that undermine this high level of security. For instance, we do not use Google Push on Android (contrary to other secure email services) because doing so would leak data to Google.&lt;/p&gt;
&lt;p&gt;The product, Tuta, now offers much more than quantum-safe encrypted email. Today, it is comprised of Tuta Mail, Tuta Calendar, and Tuta Drive. All of Tuta’s tools are quantum-safe, end-to-end encrypted, open source, and built and hosted in Germany, using 100% renewable electricity.&lt;/p&gt;
&lt;p&gt;At Tuta, we believe that everyone deserves privacy and the right to communicate freely, which is why we provide end-to-end encrypted email and calendars for free, globally.&lt;/p&gt;
&lt;p&gt;There’s a popular saying, “I have nothing to hide” but if you replied to this with “Okay, let me go through your phone” naturally people would say, “No”. The act of having someone go through your phone would feel like an invasion of your privacy.&lt;/p&gt;
&lt;p&gt;Unfortunately, people don’t realize that when they use products owned by tech giants like Google, Microsoft, or Meta - there is an invasion of privacy taking place behind the scenes, constantly.&lt;/p&gt;
&lt;p&gt;This highlights why people must care about their privacy and adopt products that are privacy-focused and put the user first – like CryptPad and Tuta Mail.&lt;/p&gt;
&lt;h2&gt;What do your users love most about Tuta? What pain points does it solve?&lt;/h2&gt;
&lt;p&gt;Tools that are end-to-end encrypted are often misunderstood to be too technical to use or too complex to set up. This is where we stands out, and this is why users love Tuta. We offer end-to-end encryption made easy. There is no complex setup. There is no technical knowledge needed. Yet, all data is kept secure, and the user feels respected.&lt;/p&gt;
&lt;p&gt;We are a community-driven project, and we listen closely to community feedback. Users can get involved by sharing their feedback on social media, by completing our yearly user survey, or even by localizing Tuta to their language. It is amazing to see how our users love to get involved, and it pushes our development teams to go the extra mile – for instance when we built our own notification service on Android – even when it is more work for us than taking a shortcut. Our entire team is passionate about privacy, and we love to share this passion with our users.&lt;/p&gt;
&lt;p&gt;In terms of products, Tuta’s apps are easy to use and ensure data security and privacy. This is what the Tuta community loves most about our tools – especially Tuta Mail. All you have to do is sign up for an account (which takes less than one minute) and voilà, you have an end-to-end encrypted mailbox. The next step, sending an end-to-end encrypted email, is also easy. If you’re emailing another Tuta Mail user, you just need to click send and the encryption is automatic, and if you want to email an external user (for example, a Gmail user), you can use a shared password for encrypting the email.&lt;/p&gt;
&lt;h2&gt;Who uses Tuta today? Are there specific use cases or communities where it really shines?&lt;/h2&gt;
&lt;p&gt;We have over 10 million users around the world, and Tuta is currently being adopted by more business customers. Today, Tuta is not only used by “techies”, so to say, but also the everyday internet user, and I think there are many reasons for this. For example, since the beginning of last year we have been seeing a huge growth in sign-ups due to political activity in the US, and the growing trend of people choosing European, digitally sovereign products. Surprisingly, this trend is also happening in the US where many people also feel that it’s time to stop supporting Big Tech, and choose more ethical solutions.&lt;/p&gt;
&lt;p&gt;Tuta Mail is especially important for journalists, activists, and non-profit organizations such as those that help protect threatened groups in need of protection. But our general user base is much broader than this. Of course, in the beginning, the early adopters often were IT-savvy because these people know about the threats online and how easy it is to scan a normal email. But today, we have users from all parts of society because the understanding that protecting one’s privacy is important has become common knowledge. This proves what we have been saying from the start: Once people can get privacy and security easily, they will start using these products – and turning their backs on Big Tech. It’s great to see this happen on a larger scale!&lt;/p&gt;
&lt;h2&gt;Tuta is known for going all-in on end-to-end encryption. What makes this approach stand out and why is it so important today?&lt;/h2&gt;
&lt;p&gt;Regular email providers like Gmail and Outlook claim that they’re private and secure, but in reality, this is “privacy washing&amp;quot;. These providers have access to the users’ data because they do not provide end-to-end encryption. At Tuta, we are different: we do not abuse our users’ data. Instead we focus on protecting it with zero-access encryption. While we have zero access, our users have full control over their data, because we at Tuta encrypt as much data as possible end-to-end.&lt;/p&gt;
&lt;p&gt;We released Tuta Mail twelve years ago, and we have not stopped developing and improving Tuta’s security since. Thanks to our dedicated team of cryptography experts, we were able to become the first email provider to implement quantum-safe algorithms, ensuring we protect all our users from the threat of “Harvest now, decrypt later”.&lt;/p&gt;
&lt;p&gt;For us, offering the most advanced and secure end-to-end encryption matters because user privacy is at the heart of everything we do. Our approach stands out because we take care of encryption and security first, and then add products to the encrypted framework. This way, we can make sure that all possible data is protected, and nothing is left at risk.&lt;/p&gt;
&lt;h2&gt;Were there moments when taking a privacy-first approach felt risky or unpopular? How did you navigate that?&lt;/h2&gt;
&lt;p&gt;Yes, when Tuta was first released in 2014, using end-to-end encrypted tools was only for techies, and it was a niche product. During this time, it was more of a challenge to make people aware of the importance of using secure communication channels, let alone convince them to switch email providers.&lt;/p&gt;
&lt;p&gt;But over the years, with each scandal that unfolded (think Edward Snowden or the Cambridge Analytica Scandal), people have started to wake up and realize the threat from Big Tech, (foreign) governments, and anyone else trying to get hold of your data.&lt;/p&gt;
&lt;p&gt;Luckily, we never gave up. We continued to deliver private and secure email, while developing our other encrypted tools. At the same time, we made sure to keep our human approach - we are not a large corporate company - and I believe that our users appreciate this.&lt;/p&gt;
&lt;p&gt;Today, we are a growing and successful company with more people choosing Tuta than ever before.&lt;/p&gt;
&lt;h2&gt;What new features or improvements are you excited about?&lt;/h2&gt;
&lt;p&gt;There are many, but I will just mention the latest one! We have just released our quantum-secure cloud, Tuta Drive, in closed beta. This has been a highly anticipated product for Tuta users and an exciting development for us at Tuta.&lt;/p&gt;
&lt;p&gt;For now, we have a group of people testing the drive and giving us feedback while we continue to develop, fix, and improve it. Tuta Drive is currently available in our desktop clients for Linux, MacOS, and Windows, as well as through ouir web client. Soon we will also have standalone Tuta Drive apps available for Android and iOS.&lt;/p&gt;
&lt;p&gt;In the upcoming months, we will release Tuta Drive in public beta and we cannot wait for more Tuta users to start using it.&lt;/p&gt;
&lt;h2&gt;Is there a privacy-first or open-source tool you trust enough to recommend to our readers?&lt;/h2&gt;
&lt;p&gt;CryptPad. We love what you are doing at CryptPad and XWiki, and we use CryptPad ourselves as well. We also like Nextcloud and currently work on an integration with Nextcloud so that you can combine your self-hosted Nextcloud suite with Tuta Mail as your encrypted email provider. We believe that within the privacy-focused ecosystem, it’s important to work together, use each others’ products and recommend them. We are all fighting the good fight, and it’s great to see how we can join forces and achieve so much together. We’re excited to build a better web, and the more open-source projects joining in this fight, the better. &lt;a href=&quot;https://tuta.com/blog/tutanota-for-open-source-teams&quot;&gt;That’s also why we donate Tuta Mail to open source projects. So if you are an open source developer reading this, do get in touch&lt;/a&gt;!&lt;/p&gt;
&lt;h2&gt;Tuta and CryptPad share a strong focus on privacy and open-source. From your perspective, what stands out most?&lt;/h2&gt;
&lt;p&gt;Both. Privacy and open source go hand in hand. You can’t offer a securely encrypted product if it’s not open source. If you did, no one could verify that you actually do what you promise: protect users’ data. Any responsible privacy-first tool publishes it’s code as open source, just like Tuta and CryptPad do. It’s essential, and everyone with a tiny bit of tech knowledge understands this.&lt;/p&gt;
&lt;h2&gt;And finally, looking at CryptPad from the outside, what do you think it gets right about privacy and collaboration?&lt;/h2&gt;
&lt;p&gt;CryptPad is a great tool that makes secure collaboration possible, and it’s free. From the outside, the only thing that I would like to see is that more and more people start adopting it, and for CryptPad to become more widely known beyond the tech-savvy bubble. Speaking as someone who has been part of Tuta Mail&#39;s journey for more than 12 years now, I know how hard this is, but I also know that it’s possible, and I’m very optimistic for the future!&lt;/p&gt;
</content>
    <category term="interview" scheme="https://blog.cryptpad.org/tags/interview/"/>
    <category term="tuta" scheme="https://blog.cryptpad.org/tags/tuta/"/>
  </entry>
  <entry>
    <title>May 2026 status</title>
    <link href="https://blog.cryptpad.org/2026/06/03/status-2026-05/"/>
    <updated>2026-06-03T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/06/03/status-2026-05/</id>
    <summary xml:lang="en" type="html">Spring release, FossNorth, Journées du Logiciel Libre</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We are catching up with monthly status posts after missing last month.&lt;/p&gt;
&lt;h2&gt;🌷 Spring Release&lt;/h2&gt;
&lt;p&gt;This month we launched the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.5.0&quot;&gt;CryptPad Spring 2026 release (2026.5.0)&lt;/a&gt; with some improvements to the Diagram app among other fixes.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2026-spring-release-diagram-preview.png&quot; alt=&quot;screenshot of the diagram app with a drawing: welcome to the Sketch theme! surrounded by connected shapes: Easy, Powerful, can be changed, New theme switcher! pointing to the new button in the toolbar&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The diagram now defaults to a simpler user-interface theme called &amp;quot;sketch&amp;quot;. This makes Diagram shine as an infinite canvas whiteboarding app by highlighting only a few keys features such as shapes, arrows, and freehand drawing. For the uses that require full bells and whistles, such as the many shape libraries available, we include a menu to switch between 3 themes.&lt;/p&gt;
&lt;p&gt;We  added additional fixes for office documents and user-registry/SSO in a &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.5.1&quot;&gt;🌷🩹 Spring fix release (2026.5.1)&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🎤 FossNorth&lt;/h2&gt;
&lt;p&gt;Ludovic presented CryptPad at the foss-north conference on April 27th: &lt;a href=&quot;https://foss-north.se/2026/speakers-and-talks.html#ldubost&quot;&gt;End to End encrypted collaboration can be easy to use&lt;/a&gt;. The recording is now available on &lt;a href=&quot;https://peertube.anduin.net/w/vnNZQJpgMQZKLqkhz9Upxz&quot;&gt;Peertube&lt;/a&gt; and other platforms if you would like to catch up with it.&lt;/p&gt;
&lt;h2&gt;🎤 Journées du Logiciel Libre&lt;/h2&gt;
&lt;p&gt;Fabrice presented &lt;a href=&quot;https://pretalx.jdll.org/jdll2026/talk/8YP33K/&quot;&gt;last news from CryptPad&lt;/a&gt; on May 30th at “Journées du Logiciel Libre” (FOSS days) in Lyon. The recording will be available soon, however the &lt;a href=&quot;https://cryptpad.fr/file/#/2/file/OSlpeSeT0T4epaAIWxJZ3cxA/&quot;&gt;slide deck&lt;/a&gt; is there if you want to catch up from them (in French).&lt;/p&gt;
&lt;p&gt;We are always happy to meet our community at such events and appreciate your ongoing support!&lt;/p&gt;
&lt;h2&gt;📰 In the news&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;CryptPad features in an article from Clubic about the &lt;a href=&quot;https://www.clubic.com/telecharger/actus-logiciels/article-842687-1-meilleur-logiciels-desintoxiquer-google.html&quot;&gt;50 best alternatives to Google services to reclaim your data&lt;/a&gt; (in French)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🔭 Up next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Users on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; will be happy to learn that our support team will be better staffed going forward. We are currently welcoming a new hire to the XWiki support team that will be helping with CryptPad support.&lt;/li&gt;
&lt;li&gt;Fabrice will present &lt;a href=&quot;https://cfp.pass-the-salt.org/pts2026/talk/MV83GM/&quot;&gt;post-quantum experiments on CryptPad&lt;/a&gt; on July 1st at &lt;a href=&quot;https://2026.pass-the-salt.org/&quot;&gt;Pass the Salt&lt;/a&gt; conference in Lille.&lt;/li&gt;
&lt;li&gt;The team is now working on the Summer release that may be focused on smaller fixes as we wrap up our Scalable Server re-write. We will confirm an expected release date in the coming weeks!&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>March 2026 status</title>
    <link href="https://blog.cryptpad.org/2026/04/08/status-2026-03/"/>
    <updated>2026-04-08T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/04/08/status-2026-03/</id>
    <summary xml:lang="en" type="html">Scalable server in production, Winter fix releases, Mathilde leaving the team, Mexican education program, April</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;⚖️🚀 Scalable server in production&lt;/h2&gt;
&lt;p&gt;We had planned to deploy the &lt;a href=&quot;https://blog.cryptpad.org/2025/12/10/status-2025-11/&quot;&gt;complete rewrite of our server focused on scalability&lt;/a&gt; at the start of April at the earliest. However an new influx of users pushed &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; beyond a threshold (see &amp;quot;Mexican education program&amp;quot;). This made an already bad situation worse and the flagship instance became basically unusable on a daily basis when timezones in Europe and the Americas overlap.&lt;/p&gt;
&lt;p&gt;The team made the decision to deploy the new code that had already been extensively tested, taking the chance a few weeks earlier than planned. We deployed on March 4th and had a few adjustments days following that. Since then we are happy to report that the flaship seems to be running much better, providing a smoother and more reliable experience for all users of &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will continue to refine and test the new scalable server towards full documentation and open-source release in the next few weeks/months as we complete our &lt;a href=&quot;https://nlnet.nl/project/Cryptpad-scaling/&quot;&gt;NLNet funded project for this work&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;❄️ 🩹🩹 Winter fix releases&lt;/h2&gt;
&lt;p&gt;This month we had two rounds of bug fixes to the 2026 Winter Release. The first one &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.2.1&quot;&gt;2026.2.1&lt;/a&gt; had important  fixes for office documents, security, and other areas. However we made a mistake in the numbering of that version, so we made &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.2.2&quot;&gt;2026.2.2&lt;/a&gt; with an additional fix to history in office apps and the right number. Since these releases contain security fixes we encourage all administrators to upgrade their instances as soon as possible.&lt;/p&gt;
&lt;h2&gt;👋 Mathilde leaving the team&lt;/h2&gt;
&lt;p&gt;We are sad to officially announce that Mathilde has left the team after 3.5 years. This has been effective for a few weeks but stuck in French administrative limbo which is now over. The whole team joins in thanking Mathilde for the huge contributions she has made to CryptPad in these years. From support to community, infrastructure, documentation, forum, Mathilde was a key part of the team and her presence will be missed. We respect her choice and wish her the very best in future projects.&lt;/p&gt;
&lt;h2&gt;📼 April lightning talk presentation [FR]&lt;/h2&gt;
&lt;p&gt;Our very own Fabrice gave a &lt;a href=&quot;https://peertube.xwiki.com/w/uMn4T4fxMpsoBpcvdUDpfx&quot;&gt;lightning talk presentation&lt;/a&gt; at French free software organisation &lt;a href=&quot;https://www.april.org/&quot;&gt;April&lt;/a&gt; which CryptPad is a member of.&lt;/p&gt;
&lt;h2&gt;📺 Webinar&lt;/h2&gt;
&lt;p&gt;David will present CryptPad and answer any questions you may have in an &lt;a href=&quot;https://xwiki.com/en/webinars/CryptPad-encrypted-alternative-collaboration-suite&quot;&gt;online webinar&lt;/a&gt; on April 28th at 4pm CEST, please &lt;a href=&quot;https://xwiki.com/en/webinars/CryptPad-encrypted-alternative-collaboration-suite&quot;&gt;register&lt;/a&gt; if you plan to attend!&lt;/p&gt;
&lt;h2&gt;🎓 Mexican education program&lt;/h2&gt;
&lt;p&gt;We were delighted to learn that The Mexican government includes CryptPad in its &lt;a href=&quot;https://dgb.sep.gob.mx/storage/recursos/2025/09/Funa9XEQmp-MCC_CULTURA-DIGITAL.pdf&quot;&gt;programme for digital culture&lt;/a&gt; aimed at high school students. We also noticed a couple of instructional videos: &lt;a href=&quot;https://www.youtube.com/watch?v=Fw7Ce8ofFJw&quot;&gt;CryptPad: Simultaneous Documents / Digital Culture II&lt;/a&gt; and &lt;a href=&quot;https://www.youtube.com/watch?v=AM3Pn-UozO8&quot;&gt;Cómo se diseñó la planeación de Cultura Digital II&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As mentioned above, this was the influx of users that pushed our flagship instance over the edge. But this is because it was already beyond capacity, and an educational drive for high school students could not have been a better challenge for us to rise to.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We have been delayed by the server deployment and bugfix releases. Work is well under way for the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/milestone/18&quot;&gt;Spring Release&lt;/a&gt; that we&#39;ll be finalising in the next few weeks.&lt;/li&gt;
&lt;li&gt;Moreover, we are happy to inform you that Fabrice will present CryptPad in Lyon (France) at &lt;a href=&quot;https://jdll.org/&quot;&gt;Journées du Logiciel Libre&lt;/a&gt; at the end of May (in French). We will give you more information next time!&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
  </entry>
  <entry>
    <title>February 2026 status</title>
    <link href="https://blog.cryptpad.org/2026/03/09/status-2026-02/"/>
    <updated>2026-03-09T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/03/09/status-2026-02/</id>
    <summary xml:lang="en" type="html">Winter release, FOSDEM, ELFA, Keep Android Open, In use &amp; in the news</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;❄️ Winter release&lt;/h2&gt;
&lt;p&gt;We were happy to announce our overdue Winter release (2026.2.0).This release upgrades our office applications with OnlyOffice 9 and brings the  history browsing feature of office apps on par with other applications. We also include a redesigned folder tree in the drive, and many other improvements and fixes as detailed in the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.2.0&quot;&gt;release notes&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🏫 FOSDEM&lt;/h2&gt;
&lt;p&gt;We attended the &lt;a href=&quot;https://fosdem.org/&quot;&gt;FOSDEM&lt;/a&gt; conference which is an European meeting of open-source software developpers and enthusiasts. We were glad to meet you all there!&lt;/p&gt;
&lt;p&gt;Ludovic gave a talk about recent news in CryptPad that is available on our &lt;a href=&quot;https://peertube.xwiki.com/w/8c3WxbRTsJw5THVVEZSV87&quot;&gt;PeerTube instance&lt;/a&gt;. You can also watch our previous talks about CryptPad there,  in &lt;a href=&quot;https://peertube.xwiki.com/w/p/rDc8oKm84abjq46jiifRkJ&quot;&gt;English&lt;/a&gt; or in &lt;a href=&quot;https://peertube.xwiki.com/w/p/vS5Z7gQSUj4Ra3PnYvQmv9&quot;&gt;French&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;📜 ELFA&lt;/h2&gt;
&lt;p&gt;We are delighted to be part of the &lt;a href=&quot;https://elfaconsortium.eu/&quot;&gt;ELFA consortium&lt;/a&gt; that was recently awarded a Horizon grant by the European Union. This is an ambitious effort to build an ecosystem of local-first collaborative applications. CryptPad is on board for the initial 3 year grant. We will be prototyping with the protocol and ensuring CryptPad is compatible with it as ELFA grows. If you develop collaborative applications, keep an eye on &lt;a href=&quot;https://fosstodon.org/@elfa/&quot;&gt;ELFA social media&lt;/a&gt; for the sub-granting program that will be managed by the NLNet Foundation.&lt;/p&gt;
&lt;h2&gt;✍️ Keep Android Open&lt;/h2&gt;
&lt;p&gt;While we don&#39;t develop Android apps, we care about people&#39;s full ownership of their mobile devices, including the choice of what applications to install. This is coming under threat by Google&#39;s plans to make all developers register to their restrictive program.&lt;/p&gt;
&lt;p&gt;We are proud signatories of &lt;a href=&quot;https://keepandroidopen.org/open-letter/&quot;&gt;the open letter to Keep Android Open&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;📰 In use / in the news&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.clubic.com/actualite-591346-si-nous-voulons-des-logiciels-libres-nous-devons-les-payer---interview-cryptpad.html&quot;&gt;&amp;quot;Si nous voulons des logiciels libres, nous devons les payer&amp;quot;&lt;/a&gt; interview with CEO Ludovic Dubost by Guillaume Belfiore for &lt;em&gt;Clubic&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Honorable mentions, we are delighted to be featured in
&lt;ul&gt;
&lt;li&gt;Wired Magazine&#39;s &lt;a href=&quot;https://www.wired.com/story/how-to-organize-safely-in-the-age-of-surveillance/&quot;&gt;How to Organize Safely in the Age of Surveillance&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Bon Pote&#39;s &lt;a href=&quot;https://bonpote.com/quelles-alternatives-aux-gafam/&quot;&gt;Quelles alternatives aux GAFAM ?&lt;/a&gt; [FR]&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Tutorials &amp;amp; listings
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://awesome-privacy.xyz/productivity/cloud-productivity-suites/cryptpad&quot;&gt;Listing on Awesome Privacy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://videos.ikacode.com/w/o3npnLg8QWFL7aHCrbo1yn&quot;&gt;Présentation de Cryptpad, Suite collaborative opensource sécurisée&lt;/a&gt; Ikacode [FR]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ubapar.bzh/spip.php?article5564&quot;&gt;Actus du Num : CryptPad&lt;/a&gt; UBAPAR
(Union Bretonne pour l’Animation des PAys Ruraux) [FR]&lt;/li&gt;
&lt;li&gt;Cryptpad software libre en linea para trabajo colaborativo - &lt;a href=&quot;https://www.youtube.com/watch?v=xBYwQkmiSJU&quot;&gt;Parte 1&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=8PIFFOEVhys&quot;&gt;Parte 2&lt;/a&gt;,
FreeSoftwareFan [ES]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=PP2D94nOj38&quot;&gt;Seguridad digital para quienes defienden DDHH&lt;/a&gt; [ES]&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.howtogeek.com/this-secure-form-builder-is-my-google-forms-replacement/&quot;&gt;This secure form builder is my Google Forms replacement&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Deployments &amp;amp; Admin
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.bunk.computer/announcing-scuppernong-a-private-cloud-drive-for-western-north-carolina&quot;&gt;Announcing Scuppernong: a private cloud drive for Western North Carolina&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.hofstede.it/self-hosted-cryptpad-on-freebsd-with-vnet-jails-and-caddy/&quot;&gt;Self-Hosted CryptPad on FreeBSD with VNET Jails and Caddy&lt;/a&gt; Larvitz Blog&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wiki.blablalinux.be/fr/installation-cryptpad-lxc-docker-proxmox&quot;&gt;Installation de Cryptpad en LXC Docker&lt;/a&gt;, by BlablaLinux, maintainer of an instance on our &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;public list&lt;/a&gt; [FR]&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🔭 Up Next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We deployed the new CryptPad server to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; last week. This is a full re-write to be much more scalable and better deal with the high usage that has been causing slowness in recent months. We will have a full update about this in the next status.&lt;/li&gt;
&lt;li&gt;We are also working on our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/milestone/18&quot;&gt;Spring release&lt;/a&gt;. This will likely contain improvements to the Diagram application and improvements and fixes.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="FOSDEM" scheme="https://blog.cryptpad.org/tags/FOSDEM/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
  </entry>
  <entry>
    <title>CryptPad Funding Status January 2026</title>
    <link href="https://blog.cryptpad.org/2026/02/18/CryptPad-Funding-Status-2026/"/>
    <updated>2026-02-18T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/02/18/CryptPad-Funding-Status-2026/</id>
    <summary xml:lang="en" type="html">A summary of our budget for the year 2025 and planning for 2026</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2026-budget-chart.png&quot; alt=&quot;bar chart summarising the CryptPad budget to date since 2016&quot; /&gt;&lt;/p&gt;
&lt;p&gt;With the start of 2026, it is time for another update on the funding of the CryptPad project, following the status we did &lt;a href=&quot;https://blog.cryptpad.org/2025/01/28/CryptPad-Funding-Status-January-2025/&quot;&gt;last year&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;What happened with CryptPad&#39;s funding in 2025&lt;/h2&gt;
&lt;p&gt;You can see in this table the details of the funding of the CryptPad project we expected for 2025, and what really happened.&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Subscriptions  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Donations  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Client Roadmap   &lt;br /&gt;Funding  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other Client Revenue   &lt;br /&gt;(Cloud / Support)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Research Projects  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;French Research   &lt;br /&gt;Tax Cut (CIR)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;% Recurring Revenue&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;46.5&lt;/td&gt;
&lt;td&gt;12.7&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;98&lt;/td&gt;
&lt;td&gt;257&lt;/td&gt;
&lt;td&gt;23%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;54.5&lt;/td&gt;
&lt;td&gt;25.7 + 12 Unexpected revenue (*)&lt;/td&gt;
&lt;td&gt;223&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;216&lt;/td&gt;
&lt;td&gt;73.5&lt;/td&gt;
&lt;td&gt;614.7&lt;/td&gt;
&lt;td&gt;11.5%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;16,4&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;408&lt;/td&gt;
&lt;td&gt;111&lt;/td&gt;
&lt;td&gt;644&lt;/td&gt;
&lt;td&gt;17%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;100 to 120&lt;/td&gt;
&lt;td&gt;20 to 30&lt;/td&gt;
&lt;td&gt;10 to 30&lt;/td&gt;
&lt;td&gt;10 to 30&lt;/td&gt;
&lt;td&gt;340 to 380&lt;/td&gt;
&lt;td&gt;88&lt;/td&gt;
&lt;td&gt;568 to 678&lt;/td&gt;
&lt;td&gt;23 to 26%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Real)&lt;/td&gt;
&lt;td&gt;121&lt;/td&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;14.3&lt;/td&gt;
&lt;td&gt;27.2&lt;/td&gt;
&lt;td&gt;388&lt;/td&gt;
&lt;td&gt;28.5 (1)&lt;/td&gt;
&lt;td&gt;608&lt;/td&gt;
&lt;td&gt;30%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr /&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;B2C Revenue&lt;/th&gt;
&lt;th&gt;B2B Revenue&lt;/th&gt;
&lt;th&gt;Research Related Revenue&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Year&lt;/td&gt;
&lt;td&gt;Subscriptions  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Donations  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Client Roadmap   &lt;br /&gt;Funding  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Other Client Revenue   &lt;br /&gt;(Cloud / Support)  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Research Projects  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;46.5&lt;/td&gt;
&lt;td&gt;12.7&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;54.5&lt;/td&gt;
&lt;td&gt;25.7 + 12 Unexpected revenue (*)&lt;/td&gt;
&lt;td&gt;223&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;216&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;16,4&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;408&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;100 to 120&lt;/td&gt;
&lt;td&gt;20 to 30&lt;/td&gt;
&lt;td&gt;10 to 30&lt;/td&gt;
&lt;td&gt;10 to 30&lt;/td&gt;
&lt;td&gt;340 to 380&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Real)&lt;/td&gt;
&lt;td&gt;121&lt;/td&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;14.3&lt;/td&gt;
&lt;td&gt;27.2&lt;/td&gt;
&lt;td&gt;388&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; A change of French law in early 2025 made us lose a benefit for &amp;quot;Young PhD employees&amp;quot; where the state was giving us an extra subsidy for a PhD in their first two years. For CryptPad, this extra subsidy was supposed to last until end of October 2025, but was stopped mid-February 2025, impacting our revenue by &lt;strong&gt;37K Euros.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On the spending side, we expected and did the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Number of Employees   &lt;br /&gt;(Full-time Equivalent)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Team Salaries incl.   &lt;br /&gt;cost increase  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;272&lt;/td&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;307&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;6.4&lt;/td&gt;
&lt;td&gt;527&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;628&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;7.2&lt;/td&gt;
&lt;td&gt;477&lt;/td&gt;
&lt;td&gt;105&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;582&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;7.5&lt;/td&gt;
&lt;td&gt;520&lt;/td&gt;
&lt;td&gt;114&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;634&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Real)&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;508&lt;/td&gt;
&lt;td&gt;111.5&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;619.5&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Note 1:&lt;/strong&gt; We have made small adjustment to the data from prior years as our budget estimations got better.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note 2:&lt;/strong&gt; We are not including contributions from other XWiki SAS teams in the salary costs, these include: marketing, infrastructure, and our CEO. Human resources and a small part of the hosting of CryptPad.fr are included under &amp;quot;Other costs&amp;quot;.&lt;/p&gt;
&lt;p&gt;And the following balance:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Total Revenue  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total Costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Balance  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2019&lt;/td&gt;
&lt;td&gt;153.5&lt;/td&gt;
&lt;td&gt;160&lt;/td&gt;
&lt;td&gt;-6,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2020&lt;/td&gt;
&lt;td&gt;236.5&lt;/td&gt;
&lt;td&gt;242&lt;/td&gt;
&lt;td&gt;-5,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2021&lt;/td&gt;
&lt;td&gt;267&lt;/td&gt;
&lt;td&gt;254&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;257.2&lt;/td&gt;
&lt;td&gt;307&lt;/td&gt;
&lt;td&gt;-49,8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;614.7&lt;/td&gt;
&lt;td&gt;628&lt;/td&gt;
&lt;td&gt;-14&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;644&lt;/td&gt;
&lt;td&gt;582&lt;/td&gt;
&lt;td&gt;+62&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;568 to 678&lt;/td&gt;
&lt;td&gt;634&lt;/td&gt;
&lt;td&gt;-66 to 44&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Real)&lt;/td&gt;
&lt;td&gt;608&lt;/td&gt;
&lt;td&gt;619.5&lt;/td&gt;
&lt;td&gt;-11&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; Overall, we are close to the balance, and we have balanced CryptPad&#39;s funding.&lt;/p&gt;
&lt;p&gt;The key point of this year is that we have a significant growth of the client revenue:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CryptPad.fr subscriptions: +60% to 121k Euros&lt;/li&gt;
&lt;li&gt;Donations: +80% to 29k Euros&lt;/li&gt;
&lt;li&gt;CryptPad Enterprise and Cloud: +30% to 41.5k Euros&lt;/li&gt;
&lt;li&gt;All client revenue: +53% to 191.5k Euros&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Client recurring revenue in 2025 has reached 30% of our financial resources, compared to 17% in 2024. This is great progress for the project, especially as we unexpectedly lost 37k Euros due to a change of the French tax law for 2025.&lt;/p&gt;
&lt;p&gt;At the end of 2025, we have reached &lt;strong&gt;1,540 paying accounts&lt;/strong&gt; (versus less than 1,000 last year). This makes the flagship instance the main source of client revenue for the project, and also the one that has the most potential to grow in the next few years. In January, we had 143 new subscribers to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;, which is a record.&lt;/p&gt;
&lt;p&gt;On the donation side, we have also seen progress, with 80% more donations, reaching 29k Euros. While this is not yet enough to sustain the project, it does matter a lot and contributes to the financial capacity of the project. We now have 150 monthly or yearly donators and 334 one-time donators in 2025.&lt;/p&gt;
&lt;p&gt;Overall this means more than &lt;strong&gt;2,000 people supporting us in 2025&lt;/strong&gt;, coming from all around the world. We have seen in 2025 a significant growth of revenue coming from the United States, reaching now more than 50% of new subscriptions coming from the United States.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Thank you to all of our supporters. This continued help is key for the team, especially to insure future sustainability of the project.&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;CryptPad sustainability&lt;/h2&gt;
&lt;p&gt;This year, we have reached 30% of our funding and spending that is coming from recurrent client revenue which is the most sustainable part of our revenue from one year to another. We also have some French state research subsidy (CIR) which we consider sustainable also for the years to come representing around 20%.&lt;/p&gt;
&lt;p&gt;This means that overall we are at about &lt;strong&gt;50% of our revenue that can be relied on from one year to another&lt;/strong&gt;. For the remainder of our budget we have less visibility. However, we have been successful at finding projects that can continue to fund CryptPad: in the last years we have had the chance to be supported by NGI/NLNet projects and now this January, we have received the news that the ELFA project, which is a collaboration with NextGraph, BlockNote, and others, has been accepted, bringing us some additional funding for 3 years.&lt;/p&gt;
&lt;p&gt;However, this does not yet make us fully sustainable in future years. Additionally, if we want to invest more in CryptPad, we will need to continue to grow our funding. Tackling Big Tech is tough with a budget of 600k and a staff of only 9 people.&lt;/p&gt;
&lt;p&gt;In order to sustain and grow the project, we have estimated that the &lt;strong&gt;most achievable strategy is to focus on both &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; subscriptions and on donations&lt;/strong&gt;. Also, in order to make up for the expiring funding in the future, we need to &lt;strong&gt;quadruple these subscriptions and donations over the next 2 to 3 years&lt;/strong&gt;.&lt;/p&gt;
&lt;h2&gt;2026 funding &amp;amp; budget&lt;/h2&gt;
&lt;p&gt;On the revenue side, we expect the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;B2C Revenue&lt;/th&gt;
&lt;th&gt;B2B Revenue&lt;/th&gt;
&lt;th&gt;Research Related Revenue&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Year&lt;/td&gt;
&lt;td&gt;Subscriptions  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Donations  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Client Roadmap   &lt;br /&gt;Funding  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Other Client Revenue   &lt;br /&gt;(Cloud / Support)  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;td&gt;Research Projects  &lt;br /&gt;(k€)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;16.4&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;408&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025&lt;/td&gt;
&lt;td&gt;121&lt;/td&gt;
&lt;td&gt;29&lt;/td&gt;
&lt;td&gt;14.3&lt;/td&gt;
&lt;td&gt;27.2&lt;/td&gt;
&lt;td&gt;388&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026 (Expected)&lt;/td&gt;
&lt;td&gt;200&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;45&lt;/td&gt;
&lt;td&gt;415&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2027 (Expected)&lt;/td&gt;
&lt;td&gt;250&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;17&lt;/td&gt;
&lt;td&gt;60&lt;/td&gt;
&lt;td&gt;154&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We have included both the 2026 and 2027 estimates, as there is a big difference with the end of a French research funding in 2027. Fortunately, the ELFA project has been accepted and will help us get close to balance.&lt;/p&gt;
&lt;p&gt;On the spending side, we plan the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Number of Employees   &lt;br /&gt;(Full-time Equivalent)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Team Salaries incl.   &lt;br /&gt;cost increase  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;7,2&lt;/td&gt;
&lt;td&gt;477&lt;/td&gt;
&lt;td&gt;105&lt;/td&gt;
&lt;td&gt;582&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;508&lt;/td&gt;
&lt;td&gt;111.5&lt;/td&gt;
&lt;td&gt;619.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026 (Expected)&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;602&lt;/td&gt;
&lt;td&gt;131&lt;/td&gt;
&lt;td&gt;733&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2027 (Expected)&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;609&lt;/td&gt;
&lt;td&gt;132&lt;/td&gt;
&lt;td&gt;741&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; We are not including contributions from other XWiki SAS teams in the salary costs, these include: marketing, infrastructure and our CEO. Human resources and a small part of the hosting of CryptPad.fr are included under &amp;quot;Other costs&amp;quot;.&lt;/p&gt;
&lt;p&gt;And the following balance:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Total Revenue  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total Costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Balance  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2024&lt;/td&gt;
&lt;td&gt;644&lt;/td&gt;
&lt;td&gt;582&lt;/td&gt;
&lt;td&gt;+62&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025&lt;/td&gt;
&lt;td&gt;608&lt;/td&gt;
&lt;td&gt;619.5&lt;/td&gt;
&lt;td&gt;-11&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2026 (Expected)&lt;/td&gt;
&lt;td&gt;730&lt;/td&gt;
&lt;td&gt;733&lt;/td&gt;
&lt;td&gt;-2&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2027 (Expected)&lt;/td&gt;
&lt;td&gt;653&lt;/td&gt;
&lt;td&gt;741&lt;/td&gt;
&lt;td&gt;-95&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;With the current team and projected revenues, even with expected growth that would double revenue within 2 years, we are not yet able to fully fund the team without additional research project funding.&lt;/p&gt;
&lt;p&gt;We estimate that we would need to reach 400k of subscriptions and donations in 2027 to balance the spending. It would be nice to achieve this by then, but depends on the success of CryptPad.fr and exceeds the growth rates we are currently seeing.&lt;/p&gt;
&lt;p&gt;We will look at additional possibilities to both grow the client revenue, and receive additional research funding, in order to be able to grow the team and extend our ambition.&lt;/p&gt;
&lt;h2&gt;What we did in 2025 with our funding and plan for 2026&lt;/h2&gt;
&lt;p&gt;Our funders deserve to know what we have done with their support.&lt;/p&gt;
&lt;p&gt;The best way to see all the work is to check &lt;a href=&quot;https://blog.cryptpad.org/2026/02/16/cryptpad-overview-2025/&quot;&gt;the recap blog post&lt;/a&gt; prepared by our team which lists many of the achievements of the team during the year.&lt;/p&gt;
&lt;p&gt;It is also possible to view the blog articles under the &lt;a href=&quot;https://blog.cryptpad.org/tags/status-update/&quot;&gt;status-update tag&lt;/a&gt;, and also check the &lt;a href=&quot;https://fosdem.org/2026/schedule/event/3VB7H8-cryptpad_updates_latest_in_private_real-time_collaboration/&quot;&gt;recent FOSDEM presentation&lt;/a&gt; which shows a review of 2025.&lt;/p&gt;
&lt;p&gt;In addition to the work on the CryptPad software we have also maintained &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; which is the main sustainable source of funding for the team and has seen more than 50% growth in 2025.&lt;/p&gt;
&lt;p&gt;Here are some statistics of usage of the &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; instance. Note that based on IP addresses we are able to have a source &amp;quot;country&amp;quot; for our users, knowing that this data can be wrong. Additionally the usage of Unique IP to identify number of users, is also subject to biases as a user can change IP address during the month and multiple users can share the same IP address. Also we remove the last digits of IP addresses. These statistics also show what &amp;quot;metadata&amp;quot; a CryptPad server can record.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2026-access-chart.png&quot; alt=&quot;usage charts for CryptPad.fr as seen from server logs metrics&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Below you can see the metrics of January 2026 which as shown in the graph below is bringing a new spike of usage, especially coming from the United States&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2026-metrics-chart.png&quot; alt=&quot;metrics dashboard for cryptpad.fr&quot; /&gt;&lt;/p&gt;
&lt;p&gt;These statistics show that &lt;strong&gt;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; has grown more than 50% during the year&lt;/strong&gt;, consistent with the number of subscribers.&lt;/p&gt;
&lt;p&gt;In January more than 10,000 users registered on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;, 3M pads have been opened from 367k internet addresses and 142k IPs have seen a CryptPad Form.&lt;/p&gt;
&lt;p&gt;Also, as we have opened Office compatible docs for free on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;, these docs have joined sheets and rich text pads and forms to a similar usage level.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Also CryptPad installations have almost doubled from 1,100 to 2,000 in one year.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;Our 2026 plan&lt;/h3&gt;
&lt;p&gt;As the statistics of &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; are showing, we are experiencing a high growth of &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. Also, for the sustainability of the CryptPad project, &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; is currently crucial for the regular funding of the project, outside of research projects. Our performance analysis also show that we have reached a wall in terms of performance optimization we can do on the current architecture of the server. We currently already have some hours (5pm–7pm) of very high load, during which our server struggles to server our users. This is why we have started last year to work on the &lt;a href=&quot;https://github.com/cryptpad/scalable-server&quot;&gt;CryptPad Scalable Server&lt;/a&gt;, for which we have also received NGI/NLNet&#39;s financial help.&lt;/p&gt;
&lt;p&gt;Our key objective for the first semester of 2026, is to finish the delivery of the Scalable Server and deploy it on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;, and later also provide it as part of the standard CryptPad package.&lt;/p&gt;
&lt;p&gt;We won&#39;t stop other developments which we detail below in the summary of the activities for 2026:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CryptPad Scalable Server, funded by NLNet (first semester 2026) and &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; upgrade to the Scalable Server&lt;/li&gt;
&lt;li&gt;CryptPad Notes, funded by NLNet (Starting April 2026)&lt;/li&gt;
&lt;li&gt;OnlyOffice module, CryptPad embedding API funded by BPI France&lt;/li&gt;
&lt;li&gt;ELFA (Starting during the second semester 2026), funded by the European Community as part of Open Internet Stack. This will supplement the CryptPad Notes funding.&lt;/li&gt;
&lt;li&gt;UI / UX and mobile Improvements&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Besides the development activities, we also need to do:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; infrastructure maintenance&lt;/li&gt;
&lt;li&gt;Support of our users (paying users and free users, as a best effort)&lt;/li&gt;
&lt;li&gt;Deal with technical debt and maintenance of the code base, including end of life dependency, regular refactoring for modularization&lt;/li&gt;
&lt;li&gt;Maintenance and regular upgrade of the CryptPad Cloud offering&lt;/li&gt;
&lt;li&gt;Marketing activities to make the project known
&lt;ul&gt;
&lt;li&gt;Regular communications online&lt;/li&gt;
&lt;li&gt;Presentation at open-source events&lt;/li&gt;
&lt;li&gt;Website improvements to present CryptPad (First quarter of 2026)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Improvements to our subscription and donations process to increase our funding&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For the last item, we are considering implementing some donation buckets for specific areas of development. At FOSDEM, we were encouraged to try a different approach to donations. Instead of a single campaign, we could run separate crowdfunding efforts for specific areas like accessibility, mobile improvements, or UI/UX. Based on the donations for each one, we&#39;d commit to investing more in those areas. At this point, we&#39;re not sure this approach would work. We&#39;re already trying to invest in these areas, and the current level of donations (around €30k for 2025) hasn&#39;t been high enough so far to clearly fund one area over another. If our users follow us with this, they can specifically promote our donation boxes to help grow the donations to CryptPad for an area of development that they believe is really important.&lt;/p&gt;
&lt;p&gt;We want to emphasize that we still consider these areas essential. However, it&#39;s been difficult to focus more on them while also delivering on the funding we’ve already received. Finally, we are also planning to look for specific funding for the areas where our users are asking for the most improvements.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;We want again to thank all our subscribers, donators and also users. We are proud that CryptPad can contribute to spreading open source privacy protecting solutions, which are more than needed in today&#39;s world. Having now more than 2,500 financial supporters, 2,000 installs and hundreds of thousands of users on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; motivates us in this challenge.&lt;/strong&gt;&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>2025 Recap</title>
    <link href="https://blog.cryptpad.org/2026/02/16/cryptpad-overview-2025/"/>
    <updated>2026-02-16T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2026/02/16/cryptpad-overview-2025/</id>
    <summary xml:lang="en" type="html">Discover CryptPad&#39;s new features, improvements, team activity, and main milestones that have shaped 2025.</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;Projects and funding&lt;/h2&gt;
&lt;p&gt;We kickstarted 2025 with an &lt;a href=&quot;https://blog.cryptpad.org/2025/01/28/CryptPad-Funding-Status-January-2025/&quot;&gt;analysis of how CryptPad has been funded&lt;/a&gt; and what to expect for the same year. For a comparison between our financial expectations and actual results, you can check our upcoming 2026 analysis.&lt;/p&gt;
&lt;p&gt;Moreover, we’re thrilled to share that we’ve been selected as one of the &lt;strong&gt;45 projects in the NGI Zero Commons Fund’s 7th open call&lt;/strong&gt;! Even better, we were awarded not just 1 but 2 projects this time around. We’re extremely grateful to NLNet for their continued support of CryptPad. The 2 pages for our &lt;a href=&quot;https://nlnet.nl/project/Cryptpad-scaling/&quot;&gt;Scalable Server&lt;/a&gt; and &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Notes/&quot;&gt;CryptPad Notes&lt;/a&gt; projects will be updated shortly, but in the meantime, this is what we are planning:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Scalable Server:&lt;/strong&gt; Over the past few months, some of you may have noticed the occasional slowdown on our flagship instance, &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. That’s because the current single-server setup is starting to hit its limits as the project keeps growing. The good news is that smaller instances are still running smoothly. So we’ve started a full rewrite of the CryptPad back end. The new architecture will let us spread the load across multiple nodes. This will make everything faster, more reliable, and much easier to scale. The work is already well underway, and we’ll be sharing updates with the progress we&#39;ve made. If all goes to plan, we will start rolling it out to production over the next few months.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CryptPad Notes:&lt;/strong&gt; The CryptPad Notes project will replace Rich Text, one of the most widely used applications, with a modern alternative. Rich Text relies on CKEditor 4, which reached end-of-life in July 2023 and no longer receives updates or bug fixes. Furthermore, the new version&#39;s license is not open source. After careful consideration, we chose &lt;strong&gt;BlockNote&lt;/strong&gt;, a lightweight, block-based editor that provides similar formatting and features through a simplified interface with &amp;quot;/&amp;quot; commands. This update will make collaborative note-taking and screen-based publishing faster and more intuitive.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Notable features, improvements, and milestones&lt;/h2&gt;
&lt;h3&gt;🚀 Document and Presentation open to everyone on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Many of you have asked for Office-compatible document and presentation support. In Q1 of 2025, thanks to the outstanding work of Wolfgang, our R&amp;amp;D Engineer, we launched these applications in beta &lt;strong&gt;for all users, including the free accounts&lt;/strong&gt;. After improving and stabilizing the integrations, these editors now make it even easier to collaborate while keeping your data fully private and encrypted. These new applications make CryptPad the most complete suite of collaborative tools with end-to-end encryption at its core.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/CP-document-in-action.png&quot; alt=&quot;Screenshot of the Document application in use, showing a collaborative environment with one user commenting &amp;quot;I love this!&amp;quot; on parts of the text&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;⚡ OnlyOffice 8 upgrade&lt;/h3&gt;
&lt;p&gt;The &lt;strong&gt;OnlyOffice 8&lt;/strong&gt; brought multiple upgrades to Documents, Presentations, and Spreadsheets. This version introduced support for right-to-left languages, a cleaner user interface, and an intuitive Design tab in Presentations. It also brought &lt;strong&gt;the much awaited real-time Undo in collaborative mode&lt;/strong&gt;, spell checking, and more. These improvements make day-to-day collaboration easier and inclusive. This is especially true if your team works in a multilingual setting or if you&#39;re seeking a privacy-respecting editing experience.&lt;/p&gt;
&lt;h3&gt;📦 Moved out of Fosstodon to our own Mastodon instance&lt;/h3&gt;
&lt;p&gt;In 2022, we had chosen Fosstodon as our home on the Fediverse after an internal debate on whether to run our own Mastodon instance. Back in 2025, people confronted the Fosstodon admins about some problematic positions taken by a member of their moderation team. Instead of acknowledging the issue, the team doubled down leading to a wave of instance administrators either de-federating straight away or announcing their intention to do so after 7 days of notice period. The Fosstodon admins have since &lt;a href=&quot;https://hub.fosstodon.org/were-not-shutting-down&quot;&gt;stepped down&lt;/a&gt; and &lt;a href=&quot;https://hub.fosstodon.org/update-from-gina&quot;&gt;announced a replacement&lt;/a&gt; indicating a &lt;a href=&quot;https://hub.fosstodon.org/fosstodon-community-statement&quot;&gt;possible change of course&lt;/a&gt;. However, it was too late to stop the de-federations.&lt;/p&gt;
&lt;p&gt;Since the start of the project, CryptPad communication has been “Fediverse first”. Mastodon is the social media that is most aligned with our values. It&#39;s also where we have our biggest community. Therefore, we decided to take a step towards greater autonomy. &lt;a href=&quot;https://social.xwiki.com/&quot;&gt;Social.xwiki.com&lt;/a&gt; became our new home on the Fediverse, managed by our parent company that hosts us at &lt;a href=&quot;https://social.xwiki.com/@CryptPad&quot;&gt;@CryptPad@xwiki.com&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;🏆 OW2 Community Award&lt;/h3&gt;
&lt;p&gt;We attended &lt;a href=&quot;https://www.ow2con.org/view/2025/&quot;&gt;OW2con&#39;25&lt;/a&gt; back in June and were honored to receive the &lt;a href=&quot;https://www.ow2con.org/view/2025/Awards_Results&quot;&gt;OW2 Community Award&lt;/a&gt;. Building an open-source platform where collaboration doesn’t compromise privacy isn’t always easy. But it&#39;s moments like this one that remind us why it’s absolutely worthwhile and needed.&lt;/p&gt;
&lt;h3&gt;📱 Murena vault&lt;/h3&gt;
&lt;p&gt;We were thrilled to see &lt;strong&gt;Murena&lt;/strong&gt;, the team behind &lt;strong&gt;/e/ OS&lt;/strong&gt;, integrating CryptPad into their release. Their &lt;a href=&quot;https://doc.e.foundation/murena-vault&quot;&gt;&lt;strong&gt;Murena Vault&lt;/strong&gt;&lt;/a&gt; service for subscribers runs on a customized CryptPad instance. It&#39;s a step forward to see our product being deployed in new privacy-focused ecosystems. Real change happens when we work together to build open, ethical alternatives to Big Tech.&lt;/p&gt;
&lt;h3&gt;✨ Accounts redesign launch&lt;/h3&gt;
&lt;p&gt;Last summer, we gave &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;the subscription management section of CryptPad.fr&lt;/a&gt; a long overdue makeover. Plans (including &lt;strong&gt;drives&lt;/strong&gt; for users or teams) are now easier to see and manage, with storage and other benefits up front. When you sign up, you will notice a quick step that allows you to choose a plan. &amp;quot;Free&amp;quot; is still an option, but we&#39;d like to emphasize that subscribers keep CryptPad sustainable and growing.&lt;/p&gt;
&lt;h3&gt;🧪 Post-quantum research&lt;/h3&gt;
&lt;p&gt;After a 6-month internship, &lt;a href=&quot;https://github.com/Iulian-Tudor&quot;&gt;Iulian Scutaru&lt;/a&gt; wrapped up his work on integrating post-quantum cryptography (PQC) into CryptPad. PQC uses new algorithms that run on today’s computers, but are designed to stay secure even if attackers have quantum computers. Iulian compared the main options from the NIST standardization process, and we chose the Crystals suite (ML-KEM and ML-DSA) for its speed and strong security research.&lt;/p&gt;
&lt;p&gt;The first results look promising, but there are still some technical and usability blockers to overcome before we can roll this out. On the plus side, Iulian also added crypto-agility, a refactor that makes it easy for CryptPad to switch between cryptographic libraries in the future. Independently of quantum safety, &lt;strong&gt;it&#39;s an important security feature for CryptPad users&lt;/strong&gt;.&lt;/p&gt;
&lt;h3&gt;✍️ Open letter against Chat Control&lt;/h3&gt;
&lt;p&gt;Last October, we added our signature (and that of our parent company XWiki SAS) to an &lt;a href=&quot;https://tuta.com/blog/open-letter-against-chat-control&quot;&gt;open letter&lt;/a&gt; against the Chat Control EU regulation. We thank our friends at Tuta, Proton, and Mailfence for writing it.&lt;/p&gt;
&lt;p&gt;For years, the CryptPad team and many other privacy advocates have spoken out against a proposed EU regulation on Child Sexual Abuse (CSA), often called “Chat Control.” This policy would affect encrypted platforms like CryptPad by requiring something called &lt;a href=&quot;https://www.internetsociety.org/resources/doc/2020/fact-sheet-client-side-scanning/&quot;&gt;client-side scanning&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In practice, this means providers would have to install code on your device. This code will allow them to use your own encryption keys to scan your private messages and files. If the system finds something that matches government-defined rules, it would report it back to the provider. And all of this could happen without a court order or any specific suspicion.&lt;/p&gt;
&lt;h3&gt;♿ Accessibility&lt;/h3&gt;
&lt;p&gt;We&#39;ve made major progress toward the &lt;strong&gt;WCAG compliance&lt;/strong&gt; in the first quarter, with improvements across the platform to support keyboard navigation, screen readers, and responsive design. These changes make CryptPad more inclusive and ensure everyone can collaborate securely and comfortably:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The notifications page, login/registration flows, modals, markdown toolbars, and Kanban tags are now keyboard-accessible.&lt;/li&gt;
&lt;li&gt;We expanded the screen reader support, with proper automatic announcements, accurate roles, and checkbox states.&lt;/li&gt;
&lt;li&gt;We refined visual contrast and mobile responsiveness to enhance usability for all.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;🛠 Improvements and fixes&lt;/h3&gt;
&lt;h4&gt;#1 Icons update&lt;/h4&gt;
&lt;p&gt;We’ve finally said goodbye to Font Awesome 4.7 (dating back to 2016) and our old hacky CryptPad Tools web font. In their place, we’ve introduced a new fork of &lt;strong&gt;&lt;a href=&quot;https://lucide.dev/&quot;&gt;Lucide icons&lt;/a&gt;&lt;/strong&gt;, complete with app-specific icons and customizations. Updating all the icons was a big job, since they appear everywhere in the CryptPad interface. But the good news is that future updates will be much easier. They&#39;ll only require editing one file.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/before-after-comp.png&quot; alt=&quot;screenshots of the file menu before and after the icon change&quot; /&gt;&lt;/p&gt;
&lt;h4&gt;#2 Faster loading and smoother mobile experience&lt;/h4&gt;
&lt;p&gt;In March 2025, we rolled out &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.3.0&quot;&gt;major improvements to how CryptPad loads your data&lt;/a&gt;. This is especially helpful if you use it often, access it on mobile, or have a large drive. If that sounds like you, you probably noticed the difference right away.&lt;/p&gt;
&lt;p&gt;Before this update, everything loaded at once: your drive, team drives, or shared folders. After March 2025, CryptPad loads what you need first and takes care of the rest in the background. This means you can &lt;strong&gt;open documents faster, start working sooner, and enjoy a smoother experience overall&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;These changes also prepared the ground for what comes next. By refactoring this part of the system, we made it easier to build future features, like a JavaScript API that will let other apps connect to CryptPad beyond just the web interface.&lt;/p&gt;
&lt;h4&gt;#3 Touch screen improvements to Kanban and Forms&lt;/h4&gt;
&lt;p&gt;We&#39;ve received feedback about the need for mobile improvements of our app, and we&#39;ve set this as a priority. Therefore, we&#39;ve &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.9.0&quot;&gt;fixed issues in Kanban and Forms&lt;/a&gt; for an improved user experience.&lt;/p&gt;
&lt;h4&gt;#4 Simplified loading screen&lt;/h4&gt;
&lt;p&gt;In the 4th quarter, we focused on &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.9.0&quot;&gt;simplifying the loading screen&lt;/a&gt;. It’s often the first thing new users see, so we gave it a cleaner, more polished look that clearly highlights CryptPad’s end-to-end encryption.&lt;/p&gt;
&lt;h4&gt;#5 New CryptPad integration API&lt;/h4&gt;
&lt;p&gt;This &lt;a href=&quot;https://github.com/cryptpad/cryptpad-api-examples&quot;&gt;&lt;strong&gt;CryptPad integration API&lt;/strong&gt;&lt;/a&gt; allows developers to embed collaborative editing into any file storage system, &lt;strong&gt;with full end-to-end encryption preserved&lt;/strong&gt;. All CryptPad document formats are supported, including real-time editing for text, spreadsheets, and slides. To see how this works, we&#39;ve created a &lt;a href=&quot;https://api-examples.dev.cryptpad.net/&quot;&gt;CryptPad integration API demo page&lt;/a&gt; for your you test it out.&lt;/p&gt;
&lt;p&gt;Whether you&#39;re building a secure cloud workspace or integrating editing into a SaaS platform, this API opens new possibilities for encrypted collaboration.&lt;/p&gt;
&lt;h4&gt;#6 Internal seminar: hackathon projects&lt;/h4&gt;
&lt;h5&gt;Webxdc CryptPad&lt;/h5&gt;
&lt;p&gt;The team produced a prototype for using the &lt;a href=&quot;https://webxdc.org/&quot;&gt;Webxdc&lt;/a&gt; API within CryptPad. This simple file format for applications is designed to be lightweight and take advantage of the offline-first and end-to-end encryption capabilities of the platform hosting it. (For example, a messenger such as &lt;a href=&quot;https://delta.chat/&quot;&gt;Delta Chat&lt;/a&gt;.)&lt;/p&gt;
&lt;p&gt;The team managed to port and integrate &lt;a href=&quot;https://github.com/ArcaneCircle/chess&quot;&gt;a simple chess game&lt;/a&gt; into CryptPad.&lt;/p&gt;
&lt;h5&gt;CryptPad CLI&lt;/h5&gt;
&lt;p&gt;Ludovic Dubost, our CEO, experimented with a command-line client for CryptPad. He managed to connect a CryptPad account and browse the drive using commands like &lt;strong&gt;cd&lt;/strong&gt; and &lt;strong&gt;ls&lt;/strong&gt;.&lt;/p&gt;
&lt;h5&gt;Cristal in CryptPad&lt;/h5&gt;
&lt;p&gt;XWikier Pierre Jeanjean experimented with an integration of the new XWiki user-interface &lt;a href=&quot;https://cristal.xwiki.org/xwiki/bin/view/Main/WebHome&quot;&gt;Cristal&lt;/a&gt; as a CryptPad application. This leveraged both Cristal&#39;s wiki support capabilities and CryptPad&#39;s secure sharing and file support. This PoC integration lets you create and manage a shareable encrypted wiki. It can include any document type supported by your CryptPad instance by embedding the corresponding editor.&lt;/p&gt;
&lt;h3&gt;🎟️ End-of-year funding campaign&lt;/h3&gt;
&lt;p&gt;During our December fundraising on Open Collective, many of you stepped up with donations, and we’re incredibly grateful for every single one!&lt;/p&gt;
&lt;p&gt;We were also excited to welcome new subscribers through our 50% discount campaign, and to see existing subscribers renew their plans. Whether you contributed through a subscription or a donation, you’re helping keep CryptPad independent and sustainable.&lt;/p&gt;
&lt;p&gt;Information&lt;/p&gt;
&lt;p&gt;If you’d like to support us going forward, individual users can donate via &lt;a href=&quot;https://opencollective.com/cryptpad/contribute&quot;&gt;&lt;strong&gt;Open Collective&lt;/strong&gt;&lt;/a&gt; or subscribe to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. Organizations can also contribute through &lt;a href=&quot;https://cryptpad.org/pricing/#full&quot;&gt;&lt;strong&gt;subscriptions&lt;/strong&gt;&lt;/a&gt; or feature sponsorships. We’re committed to being fully transparent about how we’re funded, and we publish annual financial updates on the &lt;a href=&quot;http://blog.cryptpad.org/2025/01/28/CryptPad-Funding-Status-January-2025/&quot;&gt;&lt;strong&gt;CryptPad blog&lt;/strong&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;💌 CryptPad newsletter&lt;/h2&gt;
&lt;p&gt;2025 was also the year we launched our newsletter. That’s how we began sharing updates with our growing community about what’s happening in the world of privacy-focused collaboration. We’re grateful for your interest in the updates we’ve shared over the last year: new releases, the launch of CryptPad Cloud, product improvements, mentions in publications, or interviews with members of our team.&lt;/p&gt;
&lt;p&gt;If you’re not subscribed yet, we’d love to have you join us. &lt;a href=&quot;https://news.xwiki.com/cryptpadpreferencecenteren&quot;&gt;&lt;strong&gt;Sign up for our newsletter&lt;/strong&gt;&lt;/a&gt; to stay up-to-date with the latest news, features, and insights from the CryptPad team.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/CP-newsletter-preview.png&quot; alt=&quot;screenshots of the CryptPad newsletter&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Events and media&lt;/h2&gt;
&lt;p&gt;On top of all the work done, and constant improvements brought to CryptPad, the team has also taken part in various talks and conferences. CryptPad was also in the spotlight with featured articles and reviews.&lt;/p&gt;
&lt;h3&gt;🎙️ Conferences and talks&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FOSDEM 2025: &lt;a href=&quot;https://xwiki.com/en/Blog/Fabrice-Mouhartem-R-D-Engineer/&quot;&gt;Fabrice&lt;/a&gt;&lt;/strong&gt;, our R&amp;amp;D Engineer, shared the latest privacy enhancements in CryptPad, in a talk called &lt;strong&gt;CryptPad: Recent advances in privacy and collaboration&lt;/strong&gt;. He showed how real-time collaboration can remain secure and user-friendly, even as new features are introduced. You can watch the full video on &lt;a href=&quot;https://peertube.xwiki.com/w/fL96CjcPs3VJFfEhTPq7Wg&quot;&gt;our PeerTube channel&lt;/a&gt;. In addition, &lt;strong&gt;Ludovic&lt;/strong&gt;, our CEO and founder, also held a presentation on &lt;strong&gt;20 years of hacking open-source funding.&lt;/strong&gt; He tackled the real challenge of sustaining open-source projects in a world dominated by multi-billion-dollar companies. His talk is also available on &lt;a href=&quot;https://peertube.xwiki.com/w/gSienTSznmfp3RaiNdb71o&quot;&gt;PeerTube&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CryptPad Enterprise webinar:&lt;/strong&gt; Back in March, &lt;strong&gt;Ludovic&lt;/strong&gt; hosted &lt;strong&gt;the first CryptPad webinar&lt;/strong&gt; dedicated to enterprise customers. The presentation and demo were followed by a Q&amp;amp;A session. It addressed concerns shared by potential CryptPad users in an enterprise context. &lt;a href=&quot;https://xwiki.com/en/Blog/webinar-overview-cryptpad-enterprise/&quot;&gt;All of this content&lt;/a&gt; is now available in case you missed the event.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Journées du Logiciel Libre: Fabrice&lt;/strong&gt; attended the event in Lyon and gave a talk on &lt;a href=&quot;https://peertube.xwiki.com/w/eNUghLVhrFKsk5SwsrifeJ&quot;&gt;&lt;strong&gt;CryptPad and data privacy&lt;/strong&gt;&lt;/a&gt; (in French). He was also around to connect and chat about the project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NGI Forum: Ludovic&lt;/strong&gt; represented us at this EU’s flagship event for the Next Generation Internet initiative. The 2025 focus was on open internet infrastructure, digital commons, and Europe’s path to digital sovereignty. Ludovic presented CryptPad as an NGI-supported project. He spoke on the role of open-source tools in building a more secure and privacy-friendly internet.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;OW2con&#39;25:&lt;/strong&gt; Besides receiving the &lt;strong&gt;OW2 Community Award 2025&lt;/strong&gt;, our team was represented by Fabrice. He joined several conversations with developers and contributors about privacy-focused alternatives in collaborative software.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Paris JUG:&lt;/strong&gt; &lt;strong&gt;Fabrice and Ludovic&lt;/strong&gt; presented CryptPad to the Paris Java Users Group, 9 years after the initial demo. They talked about what changed in the project&#39;s first decade, and demonstrated the client-side API. &lt;a href=&quot;https://peertube.xwiki.com/w/tKLzwGvUtXFrHD7HukYAWA&quot;&gt;The video of the presentation&lt;/a&gt; is available in French.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Capitole du Libre:&lt;/strong&gt; In his talk called &lt;a href=&quot;https://peertube.xwiki.com/w/3U3GUCdHa97nZLedfUQLAd&quot;&gt;&lt;strong&gt;Security by design through end-to-end encryption&lt;/strong&gt;&lt;/a&gt; (available in French), &lt;strong&gt;Fabrice&lt;/strong&gt; explained how CryptPad is built around cryptography, so privacy does not come at the cost of usability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Open Source Experience (OSXP):&lt;/strong&gt; Back in December, &lt;strong&gt;Fabrice&lt;/strong&gt; attended this major open-source event to present the recent advances in CryptPad. His &lt;a href=&quot;https://peertube.xwiki.com/w/sNtzAD7iz7AumehqmjMier&quot;&gt;talk&lt;/a&gt; and &lt;a href=&quot;https://cryptpad.fr/file/#/2/file/EXqMaOb-+02VqEDN6YDcBWMp/&quot;&gt;presentation slides&lt;/a&gt; are both available in French if you want to check them out.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;🗞️ Coverage&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;CryptPad in use at the United Nations:&lt;/strong&gt; We were extremely proud to see the United Nations using CryptPad Forms to gather endorsements for their &lt;a href=&quot;https://unite.un.org/news/sixteen-organizations-endorse-un-open-source-principles&quot;&gt;Open Source principles&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FOSS Force article&lt;/strong&gt;: Following the news that the United Nations have been using CryptPad, Larry Cafiero had &lt;a href=&quot;https://fossforce.com/2025/04/un-drops-google-for-cryptpad-an-encrypted-open-source-office-suite/&quot;&gt;an in-depth conversation with CEO Ludovic Dubost about CryptPad&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Review on Privacy Guides:&lt;/strong&gt; We were delighted to read the in-depth &lt;a href=&quot;https://www.privacyguides.org/articles/2025/02/07/cryptpad-review/&quot;&gt;review of CryptPad&lt;/a&gt; by staff writer &lt;a href=&quot;https://www.privacyguides.org/articles/author/em/&quot;&gt;Em&lt;/a&gt;. This very accessible and thorough guide is a great introduction to CryptPad. The article covers all the practical information and unique quirks that come with end-to-end encryption.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le Monde&lt;/strong&gt;: We were very happy to see journalists at Le Monde using (once again) CryptPad. They shared their sources for &lt;a href=&quot;https://www.lemonde.fr/international/video/2025/04/16/comment-les-drones-fpv-revolutionnent-le-champ-de-bataille-en-ukraine-le-premier-episode-de-notre-serie-video-tactiques_6596656_3210.html&quot;&gt;an article about drone warfare in Ukraine&lt;/a&gt; and for a &lt;a href=&quot;https://www.lemonde.fr/videos/video/2025/10/16/gaza-le-d9-israelien-un-bulldozer-de-guerre-au-service-de-l-aneantissement-de-l-enclave_6647187_1669088.html&quot;&gt;video documentary&lt;/a&gt; about the militarized D9 Bulldozer used in the Gaza Strip.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bearstech&lt;/strong&gt;: The French open-source cooperative Bearstech &lt;a href=&quot;https://mamot.fr/@bearstech/114512086526972934&quot;&gt;has echoed CryptPad news&lt;/a&gt;. Their software recommendations are widely followed, so we were happy to be featured in their &lt;a href=&quot;https://www.linkedin.com/pulse/la-veille-des-ours-n61-bearstech-ifirf/&quot;&gt;open-source newsletter&lt;/a&gt; (in French).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Tuta’s de-Google list&lt;/strong&gt;: We have a lot of appreciation for Tuta&#39;s work on privacy-respecting email. We were very glad to notice CryptPad in &lt;a href=&quot;https://tuta.com/blog/how-to-leave-google-gmail&quot;&gt;their list of recommendations for Google alternatives&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;CC2tv&lt;/strong&gt;: In &lt;a href=&quot;https://www.youtube.com/watch?v=HBjkjFUGE3c&quot;&gt;episode #402&lt;/a&gt;, CC2tv, one of Germany’s longest-running tech shows, now a YouTube channel, discussed CryptPad’s privacy-first approach to online collaboration. The episode (in German) showcased our end-to-end encrypted office suite as a compelling alternative to Big Tech tools.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Our team&lt;/h2&gt;
&lt;p&gt;Like in previous years, the team continued to be hard at work. Everyone&#39;s dedication made all the updates you discovered above possible. Back in September, we paused a bit and met offline for our yearly team building, organized by our parent company. We also welcomed &lt;a href=&quot;https://xwiki.com/en/Blog/Iulian-Software-Development-Engineer-Intern/&quot;&gt;&lt;strong&gt;Iulian&lt;/strong&gt;&lt;/a&gt;, who joined the team for 6 months to prototype post-quantum cryptography in CryptPad. This should improve the security of CryptPad against future threats.&lt;/p&gt;
&lt;h2&gt;What to look forward to in 2026&lt;/h2&gt;
&lt;p&gt;Exciting things are ahead for this year:&lt;/p&gt;
&lt;p&gt;❄️ The &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2026.2.0&quot;&gt;Winter release&lt;/a&gt; is just out, with the upgrade of the office apps and the redesign of the Drive tree.&lt;/p&gt;
&lt;p&gt;🚀 Working on the 2 NLNet projects: Scalable Server which will make &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; more performant as our user-base grows, and CryptPad Notes, that will replace the outdated Rich Text app&lt;/p&gt;
&lt;p&gt;🛠️ Continue working on our office apps&lt;/p&gt;
&lt;p&gt;🎙️ New webinar coming soon&lt;/p&gt;
&lt;p&gt;📅 Attending events, always a great chance to interact in person with our users and the open-source community&lt;/p&gt;
</content>
    <category term="retrospective" scheme="https://blog.cryptpad.org/tags/retrospective/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
  </entry>
  <entry>
    <title>November 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/12/10/status-2025-11/"/>
    <updated>2025-12-10T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/12/10/status-2025-11/</id>
    <summary xml:lang="en" type="html">2 new NLNet projects, End-of-year funding campaign, In the news, and more</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🎁🎁 2 new NLNet projects: CryptPad Notes and Scalable Server&lt;/h2&gt;
&lt;p&gt;We are delighted to be included in the &lt;a href=&quot;https://nlnet.nl/news/2025/20251127-45-NGI0-CommonsFund.html&quot;&gt;45 selected projects for the NGI Zero Commons Fund seventh open call&lt;/a&gt;. We have been granted not one but &lt;em&gt;two&lt;/em&gt; important projects so we are immensely grateful to NLNet for their renewed support of CryptPad. The two pages for our &lt;a href=&quot;https://nlnet.nl/project/Cryptpad-scaling/&quot;&gt;Scalable Server&lt;/a&gt; and &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Notes/&quot;&gt;CryptPad Notes&lt;/a&gt; projects will be updated shortly, but in the meantime this is what we are planning:&lt;/p&gt;
&lt;h3&gt;Scalable Server&lt;/h3&gt;
&lt;p&gt;This project is a complete rewrite of the CryptPad backend. It will allow the service to operate across multiple physical or logical nodes (for example virtual machines) to distribute ressources and avoid performance bottlenecks.&lt;/p&gt;
&lt;p&gt;The work is already well underway. In the last few months performance issues have regularly affected users on our flagship instance (&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;), to our knowledge by far the largest in terms of users and activity. While CryptPad performs very well on smaller instances, we have reached a ceiling for the single-node architecture that is hindering the project&#39;s growth.&lt;/p&gt;
&lt;p&gt;We thank everyone for bearing with us, and are very happy to receive support to complete this work as fast as possible so that it can reach production in the next few months!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/scalable-server-architecture.png&quot; alt=&quot;diagram of the scalable server architecture. user nodes connect to a load balancer node that connects to WebSocket nodes. 2 Additional layers underneath show a main component with core nodes inside, and a Storage component with storage nodes. The websocket, core, and storage nodes are all connected with dotted lines.&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;CryptPad Notes&lt;/h3&gt;
&lt;p&gt;This project will replace Rich Text, one of the most used applications in CryptPad, with a much more contemporary alternative. The Rich Text application relies on &lt;a href=&quot;https://ckeditor.com/ckeditor-4/&quot;&gt;CKEditor 4&lt;/a&gt;, a library that reached end-of-life in July 2023. It does not receive further updates or fixes and the new version&#39;s license is not open-source. Meanwhile, the Document application has started to fulfill many of the more office-like functions that Rich Text also offers. When considering a replacement we therefore leaned towards a more lightweight and screen-based solution suited for quick collaborative note taking and publishing on screens.&lt;/p&gt;
&lt;p&gt;After carefully studying our options we opted for &lt;a href=&quot;https://www.blocknotejs.org/&quot;&gt;BlockNote&lt;/a&gt;, a simple yet powerful block-based editor that offers similar fomratting and features to Rich Text but through a much simplified interface using &amp;quot;&lt;code&gt;/&lt;/code&gt;&amp;quot; commands. We&#39;re looking forward to updating the suite with this long awaited alternative!&lt;/p&gt;
&lt;h2&gt;🎟️ End-of-year funding campaign&lt;/h2&gt;
&lt;p&gt;As the year comes to a close, we are reminding everyone to support CryptPad if it has been useful to them this year. We will be asking for &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations on Open Collective&lt;/a&gt;, if every active user gave 5 EUR in December, the project could be funded for all of 2026 without external grants.&lt;/p&gt;
&lt;p&gt;For more solid support you can also &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;subscribe on cryptpad.fr&lt;/a&gt;. We will be announcing some end of year discounts on December 15th so keep an eye on our socials if you are thinking of subscribing!&lt;/p&gt;
&lt;h2&gt;🗞️ In the news&lt;/h2&gt;
&lt;p&gt;We are happy to see some coverage of CryptPad this month:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Linux, LibreOffice, CryptPad—these names can sound intimidating to newcomers used to the comfort of Microsoft or Google ecosystems. But Triquet, of &lt;em&gt;Reporterre&lt;/em&gt;, insists that even the most technophobic staff adapt quickly.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cjr.org/tow_center/editorial-independence-means-technological-independence.php&quot;&gt;&lt;em&gt;Editorial Independence Means Technological Independence&lt;/em&gt;&lt;/a&gt;, translated from &lt;a href=&quot;https://www.medianes.org/lindependance-des-redactions-passe-aussi-par-leurs-outils/&quot;&gt;a French piece&lt;/a&gt; by Owen Huchon. CryptPad is mentionned as a tools that helps independent journalists do their work at outlets such as &lt;a href=&quot;https://reporterre.net/&quot;&gt;Reporterre&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.jesperjuul.net/ludologist/2025/05/20/docs-office-alternatives/&quot;&gt;&lt;em&gt;A Student/Worker’s Guide to European Google Docs / Office 365 Alternatives&lt;/em&gt;&lt;/a&gt;, on The Ludologist blog by Jesper Juul&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://medium.com/@shouke.wei/cryptpad-the-privacy-first-revolution-in-collaborative-editing-0926f18766c0&quot;&gt;&lt;em&gt;CryptPad: The Privacy-First Revolution in Collaborative Editing&lt;/em&gt;&lt;/a&gt;, by Dr. Shouke Wei [💲 &amp;quot;Members only&amp;quot; Medium post]&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🎙️ Recent conferences&lt;/h2&gt;
&lt;p&gt;Fabrice had the pleasure to exchange with people at &lt;a href=&quot;https://capitoledulibre.org/&quot;&gt;Capitole du Libre&lt;/a&gt; in Toulouse earlier in November, and also at &lt;a href=&quot;https://www.opensource-experience.com/&quot;&gt;Open Source Experience&lt;/a&gt; in Paris this week to present the recent advances in CryptPad. Videos from these talks should be available shortly, we will mirror them on our &lt;a href=&quot;https://peertube.xwiki.com/c/cryptpad_channel/videos&quot;&gt;Peertube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Meanwhile, you can find the slideshow there:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptpad.fr/file/#/2/file/B2+sAbwxmnviF39YPMuTijcr/&quot;&gt;Capitole du Libre (in French 🇫🇷)&lt;/a&gt;;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptpad.fr/file/#/2/file/EXqMaOb-+02VqEDN6YDcBWMp/&quot;&gt;Open Source Experience (in French 🇫🇷)&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🔭 Up next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Winter release
&lt;ul&gt;
&lt;li&gt;With our last cycle running late and our team being under-staffed this quarter, we are now looking at a January release date. We aim to launch it time to discuss it all at &lt;a href=&quot;https://fosdem.org/2026/&quot;&gt;FOSDEM 26&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;We are looking at the following improvements: Drive UI, new UI modes for Diagrams, broadcast messages, office applications&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>October 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/11/04/status-2025-10/"/>
    <updated>2025-11-04T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/11/04/status-2025-10/</id>
    <summary xml:lang="en" type="html">Autumn release (icons!), CryptPad in use</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🍁 Autumn release (2025.9.0)&lt;/h2&gt;
&lt;p&gt;This quarter&#39;s release was delayed by a couple weeks due to the annual seminar that took place late September. We needed the extra time to test as this release comes with a major update that touches nearly every part of CryptPad: icons!&lt;/p&gt;
&lt;p&gt;We finally let go of Fontawesome 4.7 (released in 2016) and our hacky custom web-font CP Tools, in favour of &lt;a href=&quot;https://github.com/cryptpad/icons&quot;&gt;our new fork&lt;/a&gt; of &lt;a href=&quot;https://lucide.dev/&quot;&gt;Lucide Icons&lt;/a&gt; that includes applications icons and other customizations.&lt;/p&gt;
&lt;p&gt;The work to replace the icons was substantial as they are used in almost every part of the CryptPad interface. We implemented this upgrade in a way that makes any future change much easier, as only one file would need to be edited.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/before-after-comp.png&quot; alt=&quot;screenshots of the file menu before and after the icon change&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The release also includes a simplified loading screen. This is the first point of contact with CryptPad for a lot of people, for example when being sent a link to a shared document. We updated this screen to feel more simple and polished, while clearly stating that the platform is end-to-end encrypted.&lt;/p&gt;
&lt;p&gt;Please see the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.9.0&quot;&gt;release notes&lt;/a&gt; for a full list of fixes and improvements in the release.&lt;/p&gt;
&lt;h2&gt;📰 CryptPad in use&lt;/h2&gt;
&lt;h3&gt;Huminfra conference&lt;/h3&gt;
&lt;p&gt;We spotted that researcher Elizabeth Ashley Fox-Jensen &lt;a href=&quot;https://www.linkedin.com/posts/elizabethashleyfox_glad-to-share-that-i-will-be-presenting-activity-7389705367116464128-RF4s/&quot;&gt;mentions CryptPad&lt;/a&gt; in the upcoming paper: &amp;quot;Beyond Big Tech Dependencies: Building Collaborative and Accessible Digital Tools for Participatory Art Historical Research&amp;quot; that will be part of the &lt;a href=&quot;https://www.huminfra.se/HiC-2025&quot;&gt;Huminfra HiC 25 conference&lt;/a&gt;. We hope to catch the proceedings!&lt;/p&gt;
&lt;h3&gt;Tactiques, Le Monde&lt;/h3&gt;
&lt;p&gt;Le Monde journalists are once again using CryptPad to list their sources, this time for a &lt;a href=&quot;https://www.lemonde.fr/videos/video/2025/10/16/gaza-le-d9-israelien-un-bulldozer-de-guerre-au-service-de-l-aneantissement-de-l-enclave_6647187_1669088.html&quot;&gt;video documentary about the militarized D9 Bulldozer used in the Gaza strip&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Between the delay in the last release and the holiday season coming up the team is left with a shorter release-cycle than usual. Everyone is still hard at work though, as we figure out what we can achieve in the time we have:
&lt;ul&gt;
&lt;li&gt;OnlyOffice work is still progressing so we may see a version upgrade (to be confirmed)&lt;/li&gt;
&lt;li&gt;We have discovered a new mode in the Diagram app which is promising&lt;/li&gt;
&lt;li&gt;We will continue to improve the look and feel of CryptPad, this time looking at the Drive&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>September 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/10/10/status-2025-09/"/>
    <updated>2025-10-10T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/10/10/status-2025-09/</id>
    <summary xml:lang="en" type="html">Hackathon 2025 prototypes, ParisJug Tools in Action Video</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month was the annual XWiki seminar where most of our team got to meet IRL in Romania for a week. This shifted some of our usual deadlines such as the publication of this post and the Autumn Release (2025.9.0), basically everything is a couple of weeks late so thank you for bearing with us!&lt;/p&gt;
&lt;h2&gt;🌲 Seminar and hackathon&lt;/h2&gt;
&lt;p&gt;Each year a fixture of the seminar is a day of Hackathon where the team gets to work on wildcard projects, experiments, or prototypes. This year we have a great selection!&lt;/p&gt;
&lt;h3&gt;Webxdc CryptPad&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/hackathon-2025-webxdc.png&quot; alt=&quot;screenshot of a chess game application with a CryptPad toolbar&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The team produced a prototype for using the &lt;a href=&quot;https://webxdc.org/&quot;&gt;Webxdc&lt;/a&gt; API within CryptPad. This simple file format for applications is designed to be lightweight and take advantage of the offline-first and end-to-end encrytpion capabilities of the platform hosting it (for example a messenger such as &lt;a href=&quot;https://delta.chat/&quot;&gt;Delta Chat&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;The team managed to port and integrate &lt;a href=&quot;https://github.com/ArcaneCircle/chess&quot;&gt;a simple chess game&lt;/a&gt; into CryptPad.&lt;/p&gt;
&lt;h3&gt;CryptPad CLI&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/hackathon-2025-cli.png&quot; alt=&quot;screenshot of a terminal showing a cryptpad client navigating a drive with cd and ls commands&quot; /&gt;&lt;/p&gt;
&lt;p&gt;XWiki CEO Ludovic Dubost experimented with a command-line client for CryptPad. He managed to connect a CryptPad account and browse the drive using commands like &lt;code&gt;cd&lt;/code&gt; and &lt;code&gt;ls&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;Cristal in CryptPad&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/hackathon-2025-cristal.png&quot; alt=&quot;screenshot of the Cristal interface inside CryptPad&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/hackathon-2025-cristal2.png&quot; alt=&quot;screenshot of the Cristal interface inside CryptPad shown with an active text editor&quot; /&gt;&lt;/p&gt;
&lt;p&gt;XWikier Pierre Jeanjean experimented with an integration of the new XWiki user-interface &lt;a href=&quot;https://cristal.xwiki.org/xwiki/bin/view/Main/WebHome&quot;&gt;Cristal&lt;/a&gt; as a CryptPad application. This leveraged both Cristal&#39;s wiki support capabilities and CryptPad&#39;s secure sharing and file support. This PoC integration offers the capability to create and manage a shareable encrypted wiki, that can contain any pad type supported by the CryptPad instance by embedding the corresponding editor.&lt;/p&gt;
&lt;h2&gt;📹 ParisJug Tools in Action Video&lt;/h2&gt;
&lt;p&gt;Fabrice &amp;amp; Ludovic presented CryptPad to the Paris Java Users Group, 9 years after the initial demo. They talked about what changed in the project&#39;s first decade, and demonstrated the clientside API. &lt;a href=&quot;https://peertube.xwiki.com/w/tKLzwGvUtXFrHD7HukYAWA&quot;&gt;The video of the presentation&lt;/a&gt; is now available (in French).&lt;/p&gt;
&lt;h2&gt;🔭 Up Next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are working on the delayed Autumn Release (2025.9.0) with some big user-interface improvements. We hope to release this in the next couple of weeks.&lt;/li&gt;
&lt;li&gt;We will be present at Capitole du Libre in Toulouse (in French): &lt;a href=&quot;https://capitoledulibre.org/programme/&quot;&gt;https://capitoledulibre.org/programme/&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;Private collaboration with CryptPad
&lt;ul&gt;
&lt;li&gt;Fabrice on Saturday Nov. 15&lt;sup&gt;th&lt;/sup&gt;, from 4:30PM to 4:55MP in room A201&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;20 ans de &amp;quot;hacking&amp;quot; du financement de XWiki et CryptPad
&lt;ul&gt;
&lt;li&gt;Ludovic on Saturday Nov. 15&lt;sup&gt;th&lt;/sup&gt; from 3PM to 3:55PM in room A002&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;CryptPad booth
&lt;ul&gt;
&lt;li&gt;Please find our spot to discuss anything XWiki/CryptPad related&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="prototypes" scheme="https://blog.cryptpad.org/tags/prototypes/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>Europe&#39;s future is at stake: Open letter against Chat Control</title>
    <link href="https://blog.cryptpad.org/2025/10/07/open-letter-against-chat-control/"/>
    <updated>2025-10-07T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/10/07/open-letter-against-chat-control/</id>
    <summary xml:lang="en" type="html">European SMEs have united to direct a strong open letter to urge ministers of EU member states to oppose Chat Control and to defend privacy and a strong European tech industry.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Today we are adding our signature (and that of our parent company XWiki SAS) to a &lt;a href=&quot;https://tuta.com/blog/open-letter-against-chat-control&quot;&gt;new open letter&lt;/a&gt;  against the so-called &amp;quot;Chat Control&amp;quot; EU regulation. We thank our friends at Tuta, Proton and Mailfence for writing it.&lt;/p&gt;
&lt;p&gt;For years the CryptPad team and many other privacy advocates have been voicing their opposition to the proposed EU regulation on Child Sexual Abuse (CSA), also known as &amp;quot;Chat Control&amp;quot;. This policy would extend to providers of encrypted platforms (like CryptPad) through a practice known as &lt;a href=&quot;https://www.internetsociety.org/resources/doc/2020/fact-sheet-client-side-scanning/&quot;&gt;client-side scanning&lt;/a&gt;. In this approach, encrypted platform providers are expected to deploy code to your device which will access and use your encryption keys against you, analyzing your private content and reporting back to the provider if it matches a set of rules defined by a government agency. All of this would be applied indiscriminantly with no need for a court order or reasonable suspicion.&lt;/p&gt;
&lt;p&gt;We started &lt;a href=&quot;https://blog.cryptpad.org/2022/05/19/against-chatcontrol/&quot;&gt;writing about this back in May 2022&lt;/a&gt;, and nothing has really changed since then.
See the &lt;a href=&quot;https://fightchatcontrol.eu/&quot;&gt;Fight Chat Control website&lt;/a&gt; to be updated on how to take action against this policy in your EU country, and to follow the latest developments.&lt;/p&gt;
&lt;p&gt;Read the full letter below and learn why Europe should oppose it.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/stop-chat-control.webp&quot; alt=&quot;Stop Chat Control! poster, blue background with a tall person in the background, a camera instead of the head, looking at someone&#39;s computer from behind their shoulder&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Open letter to EU Member States on the proposed CSA regulation&lt;/h2&gt;
&lt;p&gt;Dear Ministers and Ambassadors of EU Member States,&lt;/p&gt;
&lt;p&gt;We, the undersigned European enterprises, as well as the European DIGITAL SME Alliance - which represents more than 45.000 digital SMEs across Europe, write to you with deep concern regarding the proposed Regulation on Child Sexual Abuse (CSA). Protecting children and ensuring that everyone is safe on our services and on the internet in general is at the core of our mission as privacy-focused companies. We see privacy as a fundamental right, one that underpins trust, security and freedom online for adults and children alike. However, we are convinced that the current approach followed by the Danish Presidency would not only make the internet less safe for everyone, but also undermine one of the EU’s most important strategic goals: progressing towards higher levels of digital sovereignty.&lt;/p&gt;
&lt;h3&gt;Digital sovereignty is Europe’s strategic future&lt;/h3&gt;
&lt;p&gt;In an increasingly unstable world, Europe needs to be able to develop and control its own secure digital infrastructure, services, and technologies in line with European values. The only way to mitigate these risks is to empower innovative European technology providers.&lt;/p&gt;
&lt;p&gt;Digital sovereignty matters for two key reasons:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Economic independence&lt;/strong&gt;: Europe’s digital future depends on the competitiveness of its own businesses. But forcing European services to undermine their security standards by scanning all messages, even encrypted ones, using client-side scanning would undermine users’ safety online, rand go against Europe’s high data protection standards. Therefore European users - individuals and businesses alike - and global customers will lose trust in our services and turn to foreign providers. This will make Europe even more dependent on American and Chinese tech giants that currently do not respect our rules, undermining the bloc’s ability to compete.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;National security&lt;/strong&gt;: Encryption is essential for national security. Mandating what would essentially amount to backdoors or other scanning technologies inevitably creates vulnerabilities that can and will be exploited by hostile state actors and criminals. For this exact reason, governments exempted themselves from the proposed CSA scanning obligations. Nevertheless, a lot of sensitive information from businesses, politicians and citizens will be at risk, should the CSA Regulation move forward. It will weaken Europe’s ability to protect its critical infrastructure, its companies, and its people.&lt;/p&gt;
&lt;h3&gt;The CSA Regulation will undermine trust in European businesses&lt;/h3&gt;
&lt;p&gt;Trust is Europe’s competitive advantage. Thanks to the GDPR and Europe’s strong data protection framework, European companies have built services that users worldwide rely on for data protection, security, and integrity. This reputation is hard-earned and gives European-based services a unique selling point Big Tech monopolies will never be able to match. This is one of the few, if not the only competitive advantage Europe has over the US and China in the tech sector but the CSA Regulation risks reversing this success.&lt;/p&gt;
&lt;p&gt;This legal text would undermine European ethical and privacy-first services by forcing them to weaken the very security guarantees that differentiate European businesses internationally. This is particularly problematic in a context where the US administration explicitly forbids its companies to weaken encryption, even if mandated to do so by EU law.&lt;/p&gt;
&lt;p&gt;Ultimately, the CSA Regulation will be a blessing for US and Chinese companies, as it will make Europe kill its only competitive advantage and open even wider the doors to Big Tech.&lt;/p&gt;
&lt;h3&gt;Contradictions weaken Europe’s digital ambitions&lt;/h3&gt;
&lt;p&gt;The EU has committed itself to strengthening cybersecurity through measures such as NIS2, the Cyber Resilience Act, and the Cybersecurity Act. These policies recognize encryption as essential to Europe’s digital independence. The CSA Regulation, however, must not undermine these achievements by effectively mandating systemic vulnerabilities.&lt;/p&gt;
&lt;p&gt;It is incoherent for Europe to invest in cybersecurity with one hand, while legislating against it with the other.&lt;/p&gt;
&lt;h3&gt;European SMEs will be hit the hardest&lt;/h3&gt;
&lt;p&gt;Small and medium-sized enterprises (SMEs) would be hit hardest if obliged to implement client-side scanning. Unlike large technology corporations, SMEs often do not have the financial and technical resources to develop and maintain intrusive surveillance mechanisms, meaning compliance would impose prohibitive costs or force market exit. Moreover, many SMEs build their unique market position on offering the highest levels of data protection and privacy; which particularly in Europe is a decisive factor for many to choose their products over the counterparts of Big Tech. Mandating client-side scanning would undermine this core value proposition of many European companies.&lt;/p&gt;
&lt;p&gt;This will suffocate European innovation and cement the dominance of foreign providers. Instead of building a vibrant, independent digital ecosystem, Europe risks legislating its own companies out of the market.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For these reasons, we call on you to&lt;/strong&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Reject measures that would force the implementation of client-side scanning, backdoors, or mass surveillance of private communications, such as we currently see in the Danish proposal for a Council position on the CSA Regulation.&lt;/li&gt;
&lt;li&gt;Protect encryption to strengthen European cybersecurity and digital sovereignty.&lt;/li&gt;
&lt;li&gt;Preserve the trust that European businesses have built internationally.&lt;/li&gt;
&lt;li&gt;Ensure that EU regulation strengthens, rather than undermines, the competitiveness of European SMEs.&lt;/li&gt;
&lt;li&gt;Pursue child protection measures that are effective, proportionate, and compatible with Europe’s strategic goal of digital sovereignty.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Digital sovereignty cannot be achieved if Europe undermines the security and integrity of its own businesses by mandating client-side scanning or other similar tools or methodologies designed to scan encrypted environments, which technologists have once again confirmed cannot be done without weakening or undermining encryption. To lead in the global digital economy, the EU must protect privacy, trust, and encryption.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Signatories&lt;/strong&gt;:&lt;/p&gt;
&lt;p&gt;Blacknight (Ireland)&lt;/p&gt;
&lt;p&gt;Commown (France)&lt;/p&gt;
&lt;p&gt;CryptPad (France)&lt;/p&gt;
&lt;p&gt;Ecosia (Germany)&lt;/p&gt;
&lt;p&gt;Element (Germany)&lt;/p&gt;
&lt;p&gt;E-Foundation (France)&lt;/p&gt;
&lt;p&gt;European Digital SME Alliance (EU trade association representing 45.000 EU SMEs)&lt;/p&gt;
&lt;p&gt;Fabiano Law Firm (Italy)&lt;/p&gt;
&lt;p&gt;FlokiNET (Iceland)&lt;/p&gt;
&lt;p&gt;FFDN (France)&lt;/p&gt;
&lt;p&gt;Gentils Nuages (France)&lt;/p&gt;
&lt;p&gt;Hashbang (France)&lt;/p&gt;
&lt;p&gt;Heinlein Group (Germany)&lt;/p&gt;
&lt;p&gt;LeBureau coop (France)&lt;/p&gt;
&lt;p&gt;Logilab (France)&lt;/p&gt;
&lt;p&gt;mailbox (Germany)&lt;/p&gt;
&lt;p&gt;Mailfence (Belgium)&lt;/p&gt;
&lt;p&gt;Mailo (France)&lt;/p&gt;
&lt;p&gt;Murena (France)&lt;/p&gt;
&lt;p&gt;Nextcloud (Germany)&lt;/p&gt;
&lt;p&gt;Nord Security (Lithuania)&lt;/p&gt;
&lt;p&gt;Nym (France / Switzerland)&lt;/p&gt;
&lt;p&gt;Octopuce (France)&lt;/p&gt;
&lt;p&gt;Olvid (France)OpenCloud (Germany)&lt;/p&gt;
&lt;p&gt;OpenTalk (Germany)&lt;/p&gt;
&lt;p&gt;Phoenix R&amp;amp;D (Germany)&lt;/p&gt;
&lt;p&gt;Proton (Switzerland)&lt;/p&gt;
&lt;p&gt;Serendipiware (Greece)&lt;/p&gt;
&lt;p&gt;Skylabs (Ireland)&lt;/p&gt;
&lt;p&gt;SMSPool (Netherlands)&lt;/p&gt;
&lt;p&gt;Sorware Ay (Finland)&lt;/p&gt;
&lt;p&gt;Soverin (Netherlands)&lt;/p&gt;
&lt;p&gt;Startmail (Netherlands)&lt;/p&gt;
&lt;p&gt;Surfshark (Netherlands)&lt;/p&gt;
&lt;p&gt;TeleCoop (France)&lt;/p&gt;
&lt;p&gt;The Good Cloud (Netherlands)&lt;/p&gt;
&lt;p&gt;Threema (Switzerland)&lt;/p&gt;
&lt;p&gt;Tuta Mail (Germany)&lt;/p&gt;
&lt;p&gt;Volla Systeme GmbH (Germany)&lt;/p&gt;
&lt;p&gt;WEtell (Germany)&lt;/p&gt;
&lt;p&gt;Wire (Switzerland)&lt;/p&gt;
&lt;p&gt;XWiki SAS (France)&lt;/p&gt;
&lt;p&gt;zeitkapsl (Austria)&lt;/p&gt;
</content>
    <category term="chatcontrol" scheme="https://blog.cryptpad.org/tags/chatcontrol/"/>
  </entry>
  <entry>
    <title>Summer 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/09/05/status-2025-08/"/>
    <updated>2025-09-05T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/09/05/status-2025-08/</id>
    <summary xml:lang="en" type="html">Accounts redesign, Post-quantum research, Fight Chat Control</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We are back after skipping a month over the summer while the team operated on reduced numbers.&lt;/p&gt;
&lt;h2&gt;✨🎟️ Accounts redesign launch&lt;/h2&gt;
&lt;p&gt;This summer we gave &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;the subscription management section of CryptPad.fr&lt;/a&gt; a long overdue makeover. Our plans include a number of &amp;quot;drives&amp;quot; that can be assigned to users or teams. We made this benefit and others such as storage easier to see and manage. We are also hoping to encourage people to subscribe as they create a new account, for this we added a step to choose a plan as part of the registration process. While &amp;quot;Free&amp;quot; remains an option we hope that having to explicitly choose it makes it clearer that CryptPad needs subscribers to become sustainable.&lt;/p&gt;
&lt;p&gt;We hope that this update will encourage more people to subscribe and allow supporters to make the most out of their plans. Please let us know if you have feedback on the new design!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/accounts-redesign.png&quot; alt=&quot;screenshot of the accounts redesign showing a Duo plan with storage bar and one drive left to assign to a user or team drive&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;🧪 Post-quantum research&lt;/h2&gt;
&lt;p&gt;After six months, &lt;a href=&quot;https://github.com/Iulian-Tudor&quot;&gt;Iulian Scutaru&lt;/a&gt; finished his internship on post-quantum cryptography (PQC) integration in CryptPad.
Post-quantum cryptography is the field of cryptography that studies &lt;em&gt;classical&lt;/em&gt; algorithms (that can run on your computer) which provide security guarantees against an attacker owning a quantum computer.&lt;/p&gt;
&lt;p&gt;Iulian started with benchmarking the different &lt;a href=&quot;https://csrc.nist.gov/News/2024/postquantum-cryptography-fips-approved&quot;&gt;standardised solutions&lt;/a&gt; from the &lt;a href=&quot;https://csrc.nist.gov/Projects/post-quantum-cryptography&quot;&gt;NIST post-quantum standardisation process&lt;/a&gt;. Following this preliminary analysis, we decided on the &lt;a href=&quot;https://pq-crystals.org/index.shtml&quot;&gt;Crystals&lt;/a&gt; suite (&lt;code&gt;ML-KEM&lt;/code&gt; and &lt;code&gt;ML-DSA&lt;/code&gt;) both for their performances and well-studied security assumptions.&lt;/p&gt;
&lt;p&gt;The results of the implementation of PQC in CryptPad are encouraging. However, there are still some blockers, both from a low-level and UX perspectives, preventing us from deployment in the near future.
On a positive note, Iulian also implemented crypto-agility for CryptPad in order to switch from classical to quantum-resilient cryptography easily. Crypto-agility was studied since the &lt;a href=&quot;https://blueprints.cryptpad.org/review/agility/&quot;&gt;blueprints&lt;/a&gt; project. It is a refactor of the code to allow switching crypto-libraries more easily. Independently of quantum-safety, it is an important security feature for CryptPad users!&lt;/p&gt;
&lt;p&gt;Stay tuned as there will be more details about the results of this post-quantum experiment on this blog later on.&lt;/p&gt;
&lt;h2&gt;📨 Fight Chat control&lt;/h2&gt;
&lt;blockquote&gt;
&lt;p&gt;The EU (still) wants to scan your private messages and photos&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The &amp;quot;Chat Control&amp;quot; EU proposal is now supported by 15 EU member states despite warnings from experts in encryption and child-protection. We &lt;a href=&quot;https://blog.cryptpad.org/2022/05/19/against-chatcontrol/&quot;&gt;have long been against&lt;/a&gt; this proposal and welcome the opening of &lt;a href=&quot;https://fightchatcontrol.eu/&quot;&gt;Fight Chat Control&lt;/a&gt;, a new website that clearly communicates the arguments against the proposal and helps people contact their representatives. Please take a moment to email your Member of the European Parliament (MEP) especially if your country currently supports Chat Control. The implementation of such a measure would do very little to protect children while putting everyone&#39;s privacy at risk.&lt;/p&gt;
&lt;h2&gt;📹 FOSDEM talk video&lt;/h2&gt;
&lt;p&gt;At FOSDEM this year, Fabrice gave an overview of what’s new in CryptPad in 2024. &lt;a href=&quot;https://peertube.xwiki.com/w/fL96CjcPs3VJFfEhTPq7Wg&quot;&gt;The video recording&lt;/a&gt; is available on our &lt;a href=&quot;https://peertube.xwiki.com/c/cryptpad_channel/videos&quot;&gt;peertube channel&lt;/a&gt;. Feel free to explore the channel where we re-upload our different interventions.&lt;/p&gt;
&lt;p&gt;There will soon be, once available, the recording of the &lt;a href=&quot;https://www.parisjug.org/events/2025/07-01-tools-in-action/&quot;&gt;Tools in Action&lt;/a&gt; talk from Fabrice and Ludovic about CryptPad API! There will aslo be future talks, such as Fabrice’s presentation at &lt;a href=&quot;https://www.opensource-experience.com/en/&quot;&gt;OSXP&lt;/a&gt; in December about CryptPad’s cryptography.&lt;/p&gt;
&lt;h2&gt;📰 In use and in the news&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pcworld.com/article/2857908/de-google-your-life-these-17-privacy-obsessed-apps-will-set-you-free.html&quot;&gt;De-Google your life: These 17 privacy-obsessed apps will set you free&lt;/a&gt; - PC World&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://thecommandline.net/2025/05/24/cryptpad/&quot;&gt;Collaboration with Our Own Cryptpad&lt;/a&gt; - The Command Line&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cybernews.com/google-docs-alternatives-for-currentyear/&quot;&gt;Google Docs alternatives for (2025)&lt;/a&gt; - Cybernews&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🔭 Up next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We will be presenting at this year&#39;s &lt;a href=&quot;https://www.opensource-experience.com/&quot;&gt;Open Source Experience&lt;/a&gt; summit in December&lt;/li&gt;
&lt;li&gt;The team is currently at work on the Autumn Release which is planned for early October&lt;/li&gt;
&lt;li&gt;Most of the team will meet IRL for a week at the end of September for the yearly XWiki seminar&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="accounts" scheme="https://blog.cryptpad.org/tags/accounts/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="post-quantum" scheme="https://blog.cryptpad.org/tags/post-quantum/"/>
    <category term="chatcontrol" scheme="https://blog.cryptpad.org/tags/chatcontrol/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>June 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/07/02/status-2025-06/"/>
    <updated>2025-07-02T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/07/02/status-2025-06/</id>
    <summary xml:lang="en" type="html">Summer release, OW2 Community Award, Murena Vault</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🌻 Summer Release (2025.6.0)&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/badges-demo.png&quot; alt=&quot;screenshot of the badge feature showing some guest users, a user called Problem and another called &amp;quot;here to help&amp;quot; wtih a support badge&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We have just deployed the latest version of CryptPad to our &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;flagship instance&lt;/a&gt;. This version includes:&lt;/p&gt;
&lt;p&gt;🏅 New badges to identify instance administrators and moderation/support accounts. Subscribers on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; also have a new badge if they want to show their support. Badges are opt-in, enabled in the new Profile section in user settings.&lt;/p&gt;
&lt;p&gt;🕰️ Improvements to Diagram history and export&lt;/p&gt;
&lt;p&gt;♿ 📱 Many more improvements to accessibility and mobile usage&lt;/p&gt;
&lt;p&gt;Please see the full list on GitHub, if all goes well we will tag the Summer Release there within the next week.&lt;/p&gt;
&lt;h2&gt;🏆 OW2 Community Award&lt;/h2&gt;
&lt;p&gt;We attended &lt;a href=&quot;https://www.ow2con.org/view/2025/&quot;&gt;OW2con 25&lt;/a&gt; earlier this month and were honored to receive the &lt;a href=&quot;https://www.ow2con.org/view/2025/Awards_Results&quot;&gt;OW2 Community Award&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/OW2con25-collage.jpg&quot; alt=&quot;Photos of the CryptPad team recieving their award on stage and showing it&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;📱🔒 Murena vault&lt;/h2&gt;
&lt;p&gt;Murena, a French de-googled mobile company that develops open-source /e/ OS, has integrated CryptPad in their latest release. The new &lt;a href=&quot;https://doc.e.foundation/murena-vault&quot;&gt;Murena Vault&lt;/a&gt; service for subscribers is based on a customized CryptPad instance. We&#39;re happy to see CryptPad deployed in this new setting and to be &lt;a href=&quot;https://www.zdnet.com/article/i-replaced-my-ipad-with-a-de-googled-android-tablet-for-a-week-heres-my-buying-advice/&quot;&gt;mentioned in Murena&#39;s press coverage&lt;/a&gt;. We&#39;ll need to join forces if we are to propose viable alternatives to Big Tech.&lt;/p&gt;
&lt;h2&gt;📰 CryptPad in use and in the news&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Make Tech Easier&lt;/em&gt; has &lt;a href=&quot;https://www.maketecheasier.com/encrypt-collaborate-on-documents-with-cryptpad/&quot;&gt;nice write-up and tutorial&lt;/a&gt; onboarding people to CryptPad&lt;/li&gt;
&lt;li&gt;Former German TV show turned YouTube channel &lt;a href=&quot;https://cc2.tv/daten/20250621100000.php&quot;&gt;CC2&lt;/a&gt; has &lt;a href=&quot;https://www.youtube.com/watch?v=HBjkjFUGE3c&quot;&gt;an episode about CryptPad&lt;/a&gt; (in German)&lt;/li&gt;
&lt;li&gt;Humanitarian project &lt;a href=&quot;https://freedomflotilla.org/i-want-to-help/&quot;&gt;The Freedom Flotilla&lt;/a&gt; uses CryptPad to gather expressions of interest&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The team is now staring work on the Autumn Release and will be setting priorities for the next few months&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="award" scheme="https://blog.cryptpad.org/tags/award/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>2024.12.0 security issues</title>
    <link href="https://blog.cryptpad.org/2025/06/18/2024.12.0-security-issues/"/>
    <updated>2025-06-18T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/06/18/2024.12.0-security-issues/</id>
    <summary xml:lang="en" type="html">Follow up regarding two security issues impacting CryptPad reported earlier this year</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Hello everyone!&lt;/p&gt;
&lt;p&gt;A few months ago, Lachlan Davidson from &lt;a href=&quot;https://carapace.nz/&quot;&gt;Carapace&lt;/a&gt;, made us aware of two security issues impacting CryptPad 2024.12.0 source code:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cryptpad/cryptpad/security/advisories/GHSA-vq9h-x3gr-v8rj&quot;&gt;Dom-Based Cross-Site Scripting (XSS) Vector - Link Bouncer&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/cryptpad/cryptpad/security/advisories/GHSA-xq5x-wgcm-3p33&quot;&gt;2FA Bypass&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Both issues were fixed in version &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.3.0&quot;&gt;2025.3.0&lt;/a&gt; (now superseded by 2025.3.1). In this article we will share his findings, we will also explain the impact of such issues in CryptPad and how we fixed them.&lt;/p&gt;
&lt;h2&gt;Dom-Based Cross-Site Scripting (XSS) Vector&lt;/h2&gt;
&lt;p&gt;Cross-Site Scripting is a family of security vulnerabilities that allow the execution of remote code, allowing in some cases bypassing access control and policies. This may open a breach to the website and exfiltrate data without the user consent.&lt;/p&gt;
&lt;p&gt;In our case, the XSS happens in a sand-boxed domain, thus not having access to the actual data storage of CryptPad and is prevented by our strong content-security policies (&lt;strong&gt;CSP&lt;/strong&gt;). In the eventuality of an attacker bypassing our CSP rules, they still cannot access the decrypted data from CryptPad. However, it may allow attackers to execute code on your browser. This is part of our security measures against XSS attacks. More details about this can be found in our &lt;a href=&quot;https://docs.cryptpad.org/en/dev_guide/basics.html#content-security-policy-csp-and-security&quot;&gt;documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The security vulnerability stemmed from our code, where the sanitization happened too little too late in some cases. This happens in some early allow in the code in the case of same domain links:&lt;/p&gt;
&lt;p&gt;↳ See &lt;a href=&quot;https://github.com/cryptpad/cryptpad/blob/15c81aa8ccb737a9a1167481f4a699af331364bb/www/bounce/main.js#L64-L95&quot;&gt;impacted source code here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;However, a maliciously crafted URI, such as &lt;code&gt;javascript://main.cryptpad.internal/%250dalert(document.domain)&lt;/code&gt;, will appear to have the same &lt;em&gt;host name&lt;/em&gt; value as  the instance&#39;s (in this case, &lt;code&gt;main.cryptpad.internal&lt;/code&gt;), and follow this early allow.&lt;/p&gt;
&lt;p&gt;As described in the security report, this has minimal impact, as it only give access to the sandbox domain and the default content security policy is quite strong. However it may create an entry point for further attacks down the road and had to be addressed.&lt;/p&gt;
&lt;p&gt;To fix this, we moved the validation of same-domain redirection after XSS-sanitization.&lt;/p&gt;
&lt;h2&gt;2FA Bypass&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.cryptpad.org/2024/01/09/tutorial-two-factor-authentication/&quot;&gt;Multifactor authentication&lt;/a&gt; is an important security feature for CryptPad. It protects users against their username/password leaking by providing a temporal factor into logging in.&lt;/p&gt;
&lt;p&gt;In our case, the issue was from the way we were handling the 2FA detection. Indeed, 2FA is enforced by the server, and we cannot have it done on the client side as the server holds the TOTP secret. However, there was a case where it was possible to submit a valid authentication request that needs 2FA without having the server to trigger the 2FA validation. This loophole was fixed in 2025.3.0.&lt;/p&gt;
&lt;p&gt;This detection issue takes root in the following code block:&lt;/p&gt;
&lt;p&gt;↳ See &lt;a href=&quot;https://github.com/cryptpad/cryptpad/blob/15c81aa8ccb737a9a1167481f4a699af331364bb/lib/http-worker.js#L356-L364&quot;&gt;impacted source code here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;For context, when you log in to CryptPad, your credentials are used to derive several cryptographic keys. Your browser then requests a file from the server, known as the “&lt;a href=&quot;https://docs.cryptpad.org/en/dev_guide/general.html#registration-login-and-block&quot;&gt;block&lt;/a&gt;”. The block is identified by one of your &lt;a href=&quot;https://en.wikipedia.org/wiki/Base64&quot;&gt;Base64&lt;/a&gt;-encoded public keys, and only you can decrypt it. We implement 2FA verification by requiring that you complete a 2FA challenge before the server lets you access your block.&lt;/p&gt;
&lt;p&gt;It would completely skip the 2FA verification if the block length was different from 44 (which would normally won’t be valid and the rest of the code was supposed to fail). However, replacing the base64 padding symbol (&lt;code&gt;=&lt;/code&gt;) with its &lt;a href=&quot;https://en.wikipedia.org/wiki/Percent-encoding&quot;&gt;URL-encoded&lt;/a&gt; equivalent (&lt;code&gt;%3d&lt;/code&gt;) would lead to a valid block file name, but because it is longer than 44 characters, it would bypass the 2FA verification. This allows an attacker to log in knowing only the username and password.&lt;/p&gt;
&lt;p&gt;We fixed that by raising an error whenever there is a request with invalid length.&lt;/p&gt;
&lt;p&gt;Note that to mount such an attack, the username and password of the targeted user still needs to be compromised. However, it totally rendered moot the extra protection that &lt;a href=&quot;https://ssd.eff.org/glossary/two-factor-authentication&quot;&gt;2FA&lt;/a&gt; was supposed to provide.&lt;/p&gt;
&lt;p&gt;This is also a good reminder that having 2FA enabled does not mean that you can skip refreshing your passphrases regularly. If you are reading this blog post, we may assume that you are interested in security. Now would be as good as a time as any to regenerate your passphrases.&lt;/p&gt;
&lt;p&gt;Cover photo by &lt;a href=&quot;https://unsplash.com/@thecedfox&quot;&gt;Cedric Fox&lt;/a&gt; on &lt;a href=&quot;https://unsplash.com/photos/brown-turtle-between-grasses-1tIkmgkpfNQ&quot;&gt;Unsplash&lt;/a&gt;.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
  </entry>
  <entry>
    <title>May 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/06/03/status-2025-05/"/>
    <updated>2025-06-03T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/06/03/status-2025-05/</id>
    <summary xml:lang="en" type="html">CryptPad 2025.3.1 with OnlyOffice 8, CryptPad in use and in the news </summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 2025.3.1 with OnlyOffice 8&lt;/h2&gt;
&lt;p&gt;This month we released &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.3.1&quot;&gt;CryptPad 2025.3.1&lt;/a&gt; with the much anticipated upgrade to OnlyOffice 8.3 for the Document, Spreadsheet, and Presentation applications. The upgrade includes improved support for right-to-left languages, a more compact user-interface, and many more features and improvements since the last version (&lt;a href=&quot;https://blog.cryptpad.org/2023/05/03/status-2023-04/&quot;&gt;7.1&lt;/a&gt;)&lt;/p&gt;
&lt;h2&gt;📰 CryptPad in use and in the news&lt;/h2&gt;
&lt;h3&gt;Bearstech&lt;/h3&gt;
&lt;p&gt;We are happy to see French open-source cooperative Bearstech &lt;a href=&quot;https://mamot.fr/@bearstech/114512086526972934&quot;&gt;echo CryptPad news&lt;/a&gt;. Their software recommendations are widely followed and always great so we are in good company in their &lt;a href=&quot;https://www.linkedin.com/pulse/la-veille-des-ours-n61-bearstech-ifirf/&quot;&gt;&amp;quot;Open-Source watch&amp;quot; bulletin&lt;/a&gt; (in French).&lt;/p&gt;
&lt;h3&gt;Tuta’s de-google list&lt;/h3&gt;
&lt;p&gt;We have a lot of appreciation for Tuta&#39;s work on privacy-respecting email. We were very glad to notice CryptPad in &lt;a href=&quot;https://tuta.com/blog/how-to-leave-google-gmail&quot;&gt;their list of recommendations for Google alternatives&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Désarmer Bolloré&lt;/h3&gt;
&lt;p&gt;Another one from France, we were happy to see &lt;a href=&quot;https://desarmerbollore.net/news/ne-laissons-pas-Bollore-envahir-les-manuels-scolaires-et-les-cerveaux-de-nos-enfants#les-50-premi%C3%A8res-signataires&quot;&gt;a campaign to fight back against far-right billionaire influence on school manuals&lt;/a&gt; use CryptPad forms to gather signatures (in French).&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are working towards the summer release (2025.6.0) due at the end of the month!&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>April 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/05/07/status-2025-04/"/>
    <updated>2025-05-07T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/05/07/status-2025-04/</id>
    <summary xml:lang="en" type="html">Sandbox domain warnings, moving mastodon instance, and CryptPad in the news</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month&#39;s status is a bit delayed, the team has been busy dealing with urgent issues (detailed below) or being off during May bank-holiday season.&lt;/p&gt;
&lt;h2&gt;⚠️ &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; sandbox domain flagged as malicious by “Google Safe Browsing”&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/deceptive-site-warning.png&quot; alt=&quot;Screenshot of a browser warning in Firefox &amp;quot;deceptive site ahead&amp;quot; mentioning that sandbox.cryptpad.info has been reported as a deceptive site&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We received &lt;a href=&quot;https://forum.cryptpad.org/d/2431-google-safe-browsing-shows-a-warning-on-sandboxcryptpadinfo/20&quot;&gt;reports that Google Safe Browsing had flagged our sandbox domain as malicious&lt;/a&gt;. At first this only appeared when clicking a link &lt;em&gt;inside&lt;/em&gt; a CryptPad document to an outside site. This is because we have a confirmation step when leaving CryptPad, a security measure to protect against phishing attemps which redirects users through our &lt;a href=&quot;https://docs.cryptpad.org/en/admin_guide/installation.html#admin-domain-config&quot;&gt;sandbox domain&lt;/a&gt;. The warning was displayed in Google Chrome but also in other browsers that rely on Google Safe Browsing as a source for security advisories, such as Firefox.&lt;/p&gt;
&lt;p&gt;We submitted the “detection problem” form multiple times without any effect. We held off implementing other solutions at first (changing our sandbox domain) because we feared that it would make it harder to prove that our domain was flagged in error, entering into a cat and mouse game where we would have to keep changing domains.&lt;/p&gt;
&lt;p&gt;However after 10 days and no action from Google, we received more worrying reports. Anti-virus software was blocking access to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;, this time affecting the whole service instead of only link redirection. The sandbox domain is used throughout CryptPad as a security measure so it is likely that the initial advisory spread to various lists and was generalised. We decided to change the sandbox domain as an immediate fix, as some users were locked out of their drives. We were also able to submit a new request via Google&#39;s “Search Console” which was reviewed in under 12 hours, clearing our domain of any flags.&lt;/p&gt;
&lt;p&gt;Everything is now back to normal for &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; users. We will be making changes to the link redirection process in order to prevent this type of error from happening again. This did highlight that security measures can sometimes backfire, and that as web-app providers we are at the mercy of powerful gatekeepers.&lt;/p&gt;
&lt;h2&gt;📦 Moving out of Fosstodon to our own instance&lt;/h2&gt;
&lt;p&gt;In 2022 we had chosen &lt;a href=&quot;https://fosstodon.org/&quot;&gt;Fosstodon&lt;/a&gt; as our home on the Fediverse after an internal debate on whether or not to run our own Mastodon instance.&lt;/p&gt;
&lt;p&gt;In the last couple of weeks people confronted the Fosstodon admins about some problematic positions taken by a member of their moderation team. Instead of acknowledging the issue the team doubled down leading to a wave of instance administrators either de-federating straight away or announcing their intention to do so after 7 days of notice period. The Fosstodon admins have since &lt;a href=&quot;https://hub.fosstodon.org/were-not-shutting-down&quot;&gt;stepped down&lt;/a&gt; and &lt;a href=&quot;https://hub.fosstodon.org/update-from-gina&quot;&gt;announced a replacement&lt;/a&gt; indicating a &lt;a href=&quot;https://hub.fosstodon.org/fosstodon-community-statement&quot;&gt;possible change of course&lt;/a&gt; but too little too late to stop the de-federations.&lt;/p&gt;
&lt;p&gt;Since the start of the project, CryptPad communication have been “Fediverse first”. Mastodon is the social media that is most aligned with our values, it&#39;s also  where we have our biggest community so the prospect of loosing lots of followers was a scary one. This finally pushed us over the edge to reclaim control over our communications and set up our own instance. &lt;a href=&quot;https://social.xwiki.com/&quot;&gt;Social.xwiki.com&lt;/a&gt; is our new home on the Fediverse, managed by our parent company to  host us at &lt;a href=&quot;https://social.xwiki.com/@CryptPad&quot;&gt;@CryptPad@xwiki.com&lt;/a&gt; as well as their other open-source projects.&lt;/p&gt;
&lt;h2&gt;📢 Journées du Logiciel Libre&lt;/h2&gt;
&lt;p&gt;In April, Fabrice will be present at &lt;em&gt;Journées du Logiciel Libre&lt;/em&gt; in Lyon (JDLL) on May 24th and 25th. He will &lt;a href=&quot;https://pretalx.jdll.org/jdll2025/talk/8WCPHN/&quot;&gt;give a talk about CryptPad&lt;/a&gt; and more generally talk about data privacy on the 25th at 5PM CEST. The talk will be in French.&lt;/p&gt;
&lt;p&gt;Contrary to what have been announced last month, there won’t be any CryptPad booth this year. However, Fabrice will be present during the whole week-end if you want to talk about CryptPad.&lt;/p&gt;
&lt;h2&gt;📰 CryptPad in use &amp;amp; in the news&lt;/h2&gt;
&lt;p&gt;We were delighted to see our product receiving press coverage and/or being used by journalists this month.&lt;/p&gt;
&lt;h3&gt;FOSS Force article&lt;/h3&gt;
&lt;p&gt;Following the news that the &lt;a href=&quot;https://blog.cryptpad.org/2025/04/02/status-2025-03/&quot;&gt;United Nations have been using CryptPad Forms&lt;/a&gt;, Larry Cafiero had &lt;a href=&quot;https://fossforce.com/2025/04/un-drops-google-for-cryptpad-an-encrypted-open-source-office-suite/&quot;&gt;an in-depth conversation with CEO Ludovic Dubost about CryptPad&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This article has been echoed by a couple of other outlets such as &lt;a href=&quot;https://news.itsfoss.com/un-ditches-google-form&quot;&gt;It&#39;s FOSS&lt;/a&gt; and &lt;a href=&quot;https://news.slashdot.org/story/25/05/04/2350224/the-un-ditches-google-for-form-submissions-opts-for-open-source-cryptpad-instead&quot;&gt;Slashdot&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;The Linux Experiment&lt;/h3&gt;
&lt;p&gt;We&#39;re very happy to see that Nick, the host of this popular show about Linux, has &lt;a href=&quot;https://mastodon.social/@thelinuxEXP/114386510996420376&quot;&gt;started using CryptPad Forms to gather feedback from his audience&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Radio CSIRT&lt;/h3&gt;
&lt;p&gt;Many thanks to this cyber-security podcast for mentioning our latest release in their &lt;a href=&quot;https://www.radiocsirt.org/podcast/votre-actu-cybersecurite-du-samedi-19-avril-2025-ep-260/&quot;&gt;19th April episode&lt;/a&gt; (in French).&lt;/p&gt;
&lt;h3&gt;XDA Developers (again)&lt;/h3&gt;
&lt;p&gt;We&#39;re delighted to see another piece from XDA about CryptPad, this time highlighting &lt;a href=&quot;https://www.xda-developers.com/reasons-why-use-cryptpad-instead-google-docs/&quot;&gt;5 reasons to use CryptPad instead of Google Docs&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Le Monde&lt;/h3&gt;
&lt;p&gt;Finally we are very happy to see journalists at Le Monde using CryptPad (once again) to share their sources for &lt;a href=&quot;https://www.lemonde.fr/international/video/2025/04/16/comment-les-drones-fpv-revolutionnent-le-champ-de-bataille-en-ukraine-le-premier-episode-de-notre-serie-video-tactiques_6596656_3210.html&quot;&gt;an article about drone warfare in Ukraine&lt;/a&gt; (in French).&lt;/p&gt;
&lt;h2&gt;🔭 Next Up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are still hard at work on the upgrade to OnlyOffice 8. We have hit a few blocking bugs but hope to release 2025.3.1 in the coming weeks.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="postmortem" scheme="https://blog.cryptpad.org/tags/postmortem/"/>
    <category term="social media" scheme="https://blog.cryptpad.org/tags/social media/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>March 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/04/02/status-2025-03/"/>
    <updated>2025-04-02T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/04/02/status-2025-03/</id>
    <summary xml:lang="en" type="html">Spring Release, Enterprise webinar, WEBCAT, United Nations, XDA article, JDLL 2025</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;💐 2025.3.0 Release&lt;/h2&gt;
&lt;p&gt;The CryptPad Spring 2025 release (2025.3.0) is now available on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; and &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.3.0&quot;&gt;GitHub&lt;/a&gt;. This version marks the start of an important refactoring of the CryptPad code to make it more modular and efficient. Users with large drives and team-drives will notice much faster loading times since we now avoid loading all of your drives and shared folders before opening a document. The bigger picture is that this approach paves the way for much bigger improvements in the future, working towards a full CryptPad API that clients other than our web app will be able to use.&lt;/p&gt;
&lt;p&gt;The release also contains many other fixes and improvements, for example improving touch screen experience in the Kanban and Forms applications. Please see the full list in the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.3.0&quot;&gt;release notes&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;📹 Enterprise webinar&lt;/h2&gt;
&lt;p&gt;On March 26th, our CEO Ludovic Dubost hosted the first CryptPad webinar aimed at enterprise customers. The presentation and demo was followed by a questions and answers session adressing many concerns shared by potential CryptPad users in an enterprise context. &lt;a href=&quot;https://xwiki.com/en/Blog/webinar-overview-cryptpad-enterprise/&quot;&gt;All of this content&lt;/a&gt; is now available to catch up on if you missed the event.&lt;/p&gt;
&lt;h2&gt;🐈 WEBCAT&lt;/h2&gt;
&lt;p&gt;End-to-end encryption (E2EE) is a necessary step for any software protecting its users’ privacy. However, the realization of E2EE in web application such as CryptPad requires a great deal of trust from users. They indeed have to trust both the service provider not to serve malicious code, and the browser to faithfully execute the code. We are well aware of these limitations that are described in our &lt;a href=&quot;https://docs.cryptpad.org/en/FAQ.html#how-secure-is-cryptpad&quot;&gt;threat model&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To mitigate this issue, the &lt;a href=&quot;https://freedom.press/&quot;&gt;Freedom of the Press foundation&lt;/a&gt; proposes a framework named &lt;a href=&quot;https://securedrop.org/news/introducing-webcat-web-based-code-assurance-and-transparency/&quot;&gt;WEBCAT&lt;/a&gt; (Web-based Code Assurance and Transparency), that is part of their secure document platform for whistle-blowers &lt;a href=&quot;https://securedrop.org/&quot;&gt;SecureDrop&lt;/a&gt;. WEBCAT would thus block unverified (meaning unsigned) code from being executed by the browser, hence ensuring that running code has been &lt;!-- is? --&gt; validated by developers.&lt;/p&gt;
&lt;p&gt;From users’ perspective, this verification is provided through a &lt;a href=&quot;https://github.com/freedomofpress/webcat/tree/main/extension&quot;&gt;browser extension&lt;/a&gt;. Meanwhile, developers distribute the code signatures in a manifest file for their web application.&lt;/p&gt;
&lt;p&gt;Keep in mind that it is &lt;strong&gt;still experimental&lt;/strong&gt;! However we are happy to see that CryptPad &lt;a href=&quot;https://github.com/freedomofpress/webcat/tree/main/apps/cryptpad&quot;&gt;is part of&lt;/a&gt; their initial test run and we really appreciate their trust in our software.&lt;/p&gt;
&lt;p&gt;All in all, we are fully supportive of this endeavour. It would eventually help make the web a more secure place by greatly helps developers to provide certified web apps, as well as protecting the users.&lt;/p&gt;
&lt;h2&gt;📰 4 reasons CryptPad is the best privacy-focused alternative to Google Drive, Docs, and Sheets&lt;/h2&gt;
&lt;p&gt;We are delighted to be featured on XDA Developers with a &lt;a href=&quot;https://www.xda-developers.com/reasons-cryptpad-best-privacy-focused-alternative-google/&quot;&gt;write-up pitching CryptPad as an alternative to Big Tech platforms&lt;/a&gt;. Adam Conway makes a great case for our product, thoughtfully presenting well researched arguments. Many thanks Adam!&lt;/p&gt;
&lt;h2&gt;🇺🇳 CryptPad in use at the United Nations&lt;/h2&gt;
&lt;p&gt;We are proud to see the United Nations using CryptPad Forms to gather endorsements for their &lt;a href=&quot;https://unite.un.org/news/sixteen-organizations-endorse-un-open-source-principles&quot;&gt;Open Source principles&lt;/a&gt;. We were not the only ones to rejoice as &lt;a href=&quot;https://fosstodon.org/@cryptpad/114234197713107222&quot;&gt;our Mastodon post about it&lt;/a&gt; is one of our most viral ever!&lt;/p&gt;
&lt;p&gt;Note: We noticed an error in the original post, which said the UN was using &amp;quot;Google Forms&amp;quot; before it began using CryptPad Forms. However, this is incorrect as the previous forms was on &amp;quot;Microsoft 365&amp;quot;. Unforunately we cannot correct this post as we have since migrated our account to another Mastodon server.&lt;/p&gt;
&lt;h2&gt;📣 CryptPad at JDLL 2025&lt;/h2&gt;
&lt;p&gt;This year, at &lt;a href=&quot;https://jdll.org/&quot;&gt;&lt;em&gt;Journées du logiciel libre&lt;/em&gt;&lt;/a&gt;, Fabrice will be present at the XWiki/CryptPad stand to discuss and give an outreach talk about data privacy and how cryptography, and CryptPad, can help us achieve it. It is a French-speaking event around free and open-source software in Lyon, France, that will take place in May 24th and 25th.&lt;/p&gt;
&lt;p&gt;The schedule is not fixed yet, but feel free to save the date and to &lt;a href=&quot;https://cryptpad.org/contact/&quot;&gt;get in touch&lt;/a&gt; if you want to exchange about CryptPad!&lt;/p&gt;
&lt;p&gt;If you miss it, don’t worry, the talk will be recorded and will be made available on our &lt;a href=&quot;https://peertube.xwiki.com/c/cryptpad_channel/videos&quot;&gt;peertube channel&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;As explained in the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2025.3.0&quot;&gt;Spring Release notes&lt;/a&gt;, we were not able to include the planned OnlyOffice 8 upgrade into the release. We will be working on correcting remaining bugs in the coming weeks and will release the updated apps as &lt;code&gt;2025.3.1&lt;/code&gt; when they are ready.&lt;/li&gt;
&lt;li&gt;We are also starting on our Summer Release cycle and will share more about this roadmap in due course.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>February 2025 status</title>
    <link href="https://blog.cryptpad.org/2025/03/04/status-2025-02/"/>
    <updated>2025-03-04T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/03/04/status-2025-02/</id>
    <summary xml:lang="en" type="html">Document and Presentation available to everyone on Cryptpad.fr, Privacy guides article, Iulian joins the team</summary>
    <content xml:lang="en" type="html">&lt;p&gt;With the yearly budget update taking the spotlight last month, this is our first real status update of 2025. We have an announcement that we have been wanting to make for a very long time:&lt;/p&gt;
&lt;h2&gt;🚀 Document and Presentation are now open to everyone on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/3-OO-apps.png&quot; alt=&quot;&amp;quot;3 windows of OnlyOffice SPreasheet, Document, and Presentation&amp;quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When we first introduced the Document and Presentation OnlyOffice applications in &lt;a href=&quot;https://blog.cryptpad.org/2021/10/21/Announcing-new-apps/&quot;&gt;October 2021&lt;/a&gt; we opted for an &amp;quot;early-access&amp;quot; release in order to test their stability. The applications were available to anyone self-hosting CryptPad, but had to be explicitly enabled. On &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; we displayed a caution warning to users and limited the creation of new Documents and Presentations to subscribers. Our aim was to limit the influx of reports to our support team, which did not exist at the time. While the applications were workable, we regularly received reports of corrupted documents, especially in collaborative settings, and we were not able to reliably reproduce errors. We stayed in this limbo for a few years, not really reaching a state stable enough to change the status quo.&lt;/p&gt;
&lt;p&gt;At the end of 2024, thanks to the tireless work of Wolfgang Ginolas on our team, we finally broke through and dramatically improved the stability of Document and Presentation in our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.12.0&quot;&gt;last release&lt;/a&gt;. Since then we have been monitoring the situation closely and we are now confident enough to open the Document and Presentation applications to all users on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;We have already soft-launched this for nearly a month so we encourage everyone to try the applications. We&#39;re working on a number of &lt;a href=&quot;https://github.com/cryptpad/cryptpad/issues?q=is%3Aissue%20state%3Aopen%20label%3AOnlyOffice&quot;&gt;issues and features&lt;/a&gt;, and known problems with document conversion when using Safari. We are working to upgrade to version 8 of OnlyOffice in the upcoming CryptPad Spring release planned for the end of the month.&lt;/p&gt;
&lt;h2&gt;🗞️ Privacy guides article&lt;/h2&gt;
&lt;p&gt;We were delighted to read the in-depth &lt;a href=&quot;https://www.privacyguides.org/articles/2025/02/07/cryptpad-review/&quot;&gt;review of CryptPad on Privacy Guides&lt;/a&gt; by staff writer &lt;a href=&quot;https://www.privacyguides.org/articles/author/em/&quot;&gt;Em&lt;/a&gt;. This very accessible and thorough guide is a really great introduction to CryptPad. The articles makes the case for switching, covering all of the practical information and unique quirks that come with end-to-end encryption.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/privacy-guide-cover.png&quot; alt=&quot;&amp;quot;Cover of the privacy guide article, google docs icon with arrow to the CryptPad icon&amp;quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Illustration: Jordan Warne / Privacy Guides | Photo: Christin Hume / Unsplash&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 Iulian joins the team as an intern&lt;/h2&gt;
&lt;p&gt;We are happy to welcome Iulian, who is joining the team for the next six months to prototype post-quantum cryptography in CryptPad. This should improve the security of CryptPad against future threats.&lt;/p&gt;
&lt;h2&gt;📺 FOSDEM Talks Videos&lt;/h2&gt;
&lt;p&gt;The videos from our FOSDEM talks are now online&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fabrice Mouhartem &lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5033-cryptpad-recent-advances-in-privacy-and-collaboration/&quot;&gt;CryptPad: Recent Advances in Privacy and Collaboration&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ludovic Dubost &lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-4601-20-years-of-hacking-the-funding-of-xwiki-and-cryptpad/&quot;&gt;20 Years of Hacking the Funding of XWiki and CryptPad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;⚠️ Appeal to admins of &lt;a href=&quot;http://notes.dunst.be/&quot;&gt;notes.dunst.be&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;Unfortunately the ComputerLiebe CryptPad instance, which used to be listed on &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;https://cryptpad.org/instances/&lt;/a&gt;, has been unresponsive for a few weeks. Affected users have contacted us wondering how they can recover their data. We have tried to contact the administrators through the email we have, with no success.&lt;/p&gt;
&lt;p&gt;We therefore ask our community: if anyone knows the admins of &lt;a href=&quot;https://notes.dunst.be/&quot;&gt;https://notes.dunst.be/&lt;/a&gt; please help us get in touch with them and/or urge them directly to rectify this situation. Please boost our &lt;a href=&quot;https://fosstodon.org/@cryptpad/114080910894052799&quot;&gt;mastodon post&lt;/a&gt; if you can to help give this visibility.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;p&gt;The team is hard at work on the Spring release (2025.3.0) planned for the end of March, more on this in the next status!&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="onlyoffice" scheme="https://blog.cryptpad.org/tags/onlyoffice/"/>
  </entry>
  <entry>
    <title>CryptPad Funding Status January 2025</title>
    <link href="https://blog.cryptpad.org/2025/01/28/CryptPad-Funding-Status-January-2025/"/>
    <updated>2025-01-28T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/01/28/CryptPad-Funding-Status-January-2025/</id>
    <summary xml:lang="en" type="html">A summary of our budget for the year 2024 and planning for 2025</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2025-budget-chart.png&quot; alt=&quot;Chart showing the progression of the CryptPad budget over the years&quot; /&gt;&lt;/p&gt;
&lt;p&gt;With the start of 2025 it is time for another update on the funding of the CryptPad project, following the status we did &lt;a href=&quot;https://blog.cryptpad.org/2024/03/08/CryptPad-Funding-Status-January-2024/&quot;&gt;last year&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;What happened with CryptPad&#39;s funding in 2024&lt;/h2&gt;
&lt;p&gt;You can see in this table the details of the funding of the CryptPad project we expect for 2024, and what really happened&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Subscriptions  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Donations  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Research Projects  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Client Roadmap Funding  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other Client Revenue (Cloud / Support)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Crédit Impôt Recherche Tax Cut  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Extra Crédit Impôt Recherche (PHD)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;46.5&lt;/td&gt;
&lt;td&gt;12.7&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;257&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;54.5&lt;/td&gt;
&lt;td&gt;25.7 + 12 Unexpected revenue (*)&lt;/td&gt;
&lt;td&gt;216&lt;/td&gt;
&lt;td&gt;223&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;25.5&lt;/td&gt;
&lt;td&gt;614.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Expected)&lt;/td&gt;
&lt;td&gt;65&lt;/td&gt;
&lt;td&gt;30&lt;/td&gt;
&lt;td&gt;293&lt;/td&gt;
&lt;td&gt;50 to 150&lt;/td&gt;
&lt;td&gt;0 to 100&lt;/td&gt;
&lt;td&gt;24&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;513 to 763&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Real)&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;16,4&lt;/td&gt;
&lt;td&gt;408&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;645.4&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;On the spending side we expected and did the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Number of Employees (Full-time Equivalent)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Team Salaries incl. cost increase  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Extra hires  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;272&lt;/td&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;0 (*)&lt;/td&gt;
&lt;td&gt;307&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;528&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;0 (*)&lt;/td&gt;
&lt;td&gt;629&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Expected)&lt;/td&gt;
&lt;td&gt;8 to 9&lt;/td&gt;
&lt;td&gt;523&lt;/td&gt;
&lt;td&gt;80&lt;/td&gt;
&lt;td&gt;50 to 100&lt;/td&gt;
&lt;td&gt;653 to 703&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Real)&lt;/td&gt;
&lt;td&gt;8.5&lt;/td&gt;
&lt;td&gt;482&lt;/td&gt;
&lt;td&gt;106&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;588&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;And the following balance:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Total Revenue  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total Costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Balance  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2019&lt;/td&gt;
&lt;td&gt;153.5&lt;/td&gt;
&lt;td&gt;160&lt;/td&gt;
&lt;td&gt;-6,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2020&lt;/td&gt;
&lt;td&gt;236.5&lt;/td&gt;
&lt;td&gt;242&lt;/td&gt;
&lt;td&gt;-5,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2021&lt;/td&gt;
&lt;td&gt;267&lt;/td&gt;
&lt;td&gt;254&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;257.2&lt;/td&gt;
&lt;td&gt;307&lt;/td&gt;
&lt;td&gt;-49,8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;614.7&lt;/td&gt;
&lt;td&gt;614&lt;/td&gt;
&lt;td&gt;0.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Expected)&lt;/td&gt;
&lt;td&gt;563 to 763&lt;/td&gt;
&lt;td&gt;603 to 703&lt;/td&gt;
&lt;td&gt;+40 to  &lt;br /&gt;+100&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Real)&lt;/td&gt;
&lt;td&gt;645.4&lt;/td&gt;
&lt;td&gt;588&lt;/td&gt;
&lt;td&gt;+57&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Overall, while we have growing revenue level from 2023 to 2024, we are a bit disappointed by our ability to grow the CryptPad Client revenue. The big project in Germany which we counted for 2024, took time to be relaunched by the ZenDis organization and did not bring roadmap funding as we hoped it could. Also as we have been quite busy delivering on the French Cloud project, we took more time that we expected to launch the CryptPad Cloud project, which we hope can bring some higher Enterprise revenue to the CryptPad project.&lt;/p&gt;
&lt;p&gt;Now we have been able to grow 40% the &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://cryptpad.fr&lt;/a&gt; flagship instance revenue. We are now almost at &lt;strong&gt;1000 paying accounts on this instance&lt;/strong&gt;, which is our main client revenue aside from the research project revenue.&lt;/p&gt;
&lt;p&gt;On the donations side, while we value a lot of the donations we are receiving, they unfortunately account for just a little part of what we need, and went down a bit this year as we did not receive a large donation like we received last year from Binance. However we wanted to mention a 1000 Euros donation from &lt;a href=&quot;https://futo.org/&quot;&gt;FUTO&lt;/a&gt; which the FUTO team announced on their &lt;a href=&quot;https://peertube.futo.org/w/169654c7-cf94-484e-b83e-bf9eed1e3827&quot;&gt;peertube&lt;/a&gt;. We want to particularly mention it here as it feels good to be supported by a team having a similar mission to ours. We are also very happy to have a regular donation from &lt;a href=&quot;https://opencollective.com/dsncon-gmbh&quot;&gt;DSNCON Gmbh&lt;/a&gt; and the &lt;a href=&quot;https://c4dt.epfl.ch/&quot;&gt;C4DT lab from EPFL&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;And more importantly, as we were not able to pick up Enterprise revenue, we needed some research project funding. For this we have been extremely happy that the &lt;a href=&quot;http://nlnet.nl/&quot;&gt;NLNet Foundation&lt;/a&gt; has awarded us 135k of funding as part of their NGI Assure fund, which has allowed us to work on improving the CryptPad code base in 3 important areas:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Accessibility, with many accessibility issues fixed during the year&lt;/li&gt;
&lt;li&gt;Authentication and 2FA (SSO and 2FA)&lt;/li&gt;
&lt;li&gt;Testing with the creation of an end to end test suite allowing to verify the quality of the CryptPad software.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We&#39;d like to thank NLNet and the &lt;a href=&quot;http://ngi.eu/&quot;&gt;NGI research program&lt;/a&gt; for this funding which has been key this year to be able to continue to improve the quality of the CryptPad software this year. We feel it&#39;s particularly important to show the impact of the Next Generation Internet initiative, as it seems unclear if this initiative will continue, at least with the same structure. CryptPad would not be what it is today, without the NGI funding from the European Community.&lt;/p&gt;
&lt;h2&gt;What did we do in 2024 with our funding&lt;/h2&gt;
&lt;p&gt;You can find all the statuses of the Year 2024 on our blog under the &lt;a href=&quot;https://blog.cryptpad.org/tags/status-update/&quot;&gt;status-update tag&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;In particular in 2024 we have worked on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We released 8 versions of CryptPad: 5 major and 3 minor and these are now following a &lt;a href=&quot;https://blog.cryptpad.org/2024/03/29/status-2024-03/&quot;&gt;date-based numbering&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;We finished the NLNet Blueprints project funded by NGI Entrust, publishing a new &lt;a href=&quot;https://blueprints.cryptpad.org/&quot;&gt;R&amp;amp;D website for CryptPad&lt;/a&gt; that includes our whitepaper, threat model, prototypes, and many other research outputs.&lt;/li&gt;
&lt;li&gt;We&#39;ve continued to &lt;a href=&quot;https://github.com/orgs/cryptpad/projects/5/views/2&quot;&gt;improve accessibility&lt;/a&gt; with 29 issues closed this year&lt;/li&gt;
&lt;li&gt;We improved 2 factor authentication, &lt;a href=&quot;https://github.com/cryptpad/sso&quot;&gt;single-sign-on&lt;/a&gt; and user management.&lt;/li&gt;
&lt;li&gt;We created and published an &lt;a href=&quot;https://github.com/cryptpad/e2e-test-suite&quot;&gt;end-to-end test suite&lt;/a&gt; to automate CryptPad testing for each release.&lt;/li&gt;
&lt;li&gt;We separated the OnlyOffice code from the cryptpad code, allowing to reduce the size of the cryptpad server when you don&#39;t need the OnlyOffice features. It will also reduce the size of the server as it will also be possible to not carry old versions of the OnlyOffice code for new installs.&lt;/li&gt;
&lt;li&gt;We started work on an API allowing to use CryptPad as a document editors for document stored outside of CryptPad. This work is not fully finished but well advanced as it works in our test environments. This API will have two versions:
&lt;ul&gt;
&lt;li&gt;one compatible with the OnlyOffice API allowing to use CryptPad as an OnlyOffice server to edit documents.&lt;/li&gt;
&lt;li&gt;another support end to end encryption and allowing to build an integration between Zero Knowledge storage servers and CryptPad editors&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;We have worked on performance and made significant improvements, with the &lt;a href=&quot;https://github.com/cryptpad/cryptpad-sodium-plugin&quot;&gt;CryptPad Sodium Plugin&lt;/a&gt;, and also added performance measurement. This allowed us to divide by 2 the CPU used on our flagship instance &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, allowing us to scale more and have less downtimes and slowness.&lt;/li&gt;
&lt;li&gt;As part of the integration API project and the CryptPad Sodium plugin project, we also worked on a plugin API which is for now undocumented but will allow better extensibility of CryptPad.&lt;/li&gt;
&lt;li&gt;We have made many improvements and fixes, closing 147 issues during the year with more than 1296 commits in the core repository but also other repositories such as sso, nextcloud-open-in-cryptpad, helm and our onlyoffice repositories: &lt;a href=&quot;https://github.com/cryptpad/&quot;&gt;https://github.com/cryptpad/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2024 Funding &amp;amp; Budget&lt;/h2&gt;
&lt;p&gt;Last year, we were waiting for the finalization of the French BPI projects which were finally signed in the mid-year. XWiki SAS is happy to be &lt;a href=&quot;https://xwiki.com/en/Blog/France-2030-funding-XWiki-and-CryptPad/&quot;&gt;part of the three projects selected&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks to these projects we have funding for the next 3 years for the CryptPad project which allows to have a basis for the team, however we also have a lot of engagement associated to that funding. The funding is very much directed towards the integration APIs and the OnlyOffice integration in the project.&lt;/p&gt;
&lt;p&gt;Also CryptPad was selected to join the German &amp;quot;Sovereign Workplace&amp;quot; project, &lt;a href=&quot;https://xwiki.com/en/Blog/XWiki-joins-OpenDesk/&quot;&gt;now called openDesk&lt;/a&gt;. During 2023 we have received significant funding, in particular for the Diagram application, the NextCloud integration, but also security and accessibility. For 2024, however we don&#39;t know if we&#39;ll get funding. The project is currently more in deployment mode and also in transition to the ZenDis organization (Zentrum Digitale Soveränität).&lt;/p&gt;
&lt;p&gt;We also hope to be able to receive more funding through the &amp;quot;CryptPad Cloud&amp;quot; offer and also through CryptPad support contracts. If you are a &lt;a href=&quot;https://cryptpad.org/use-case/enterprise/&quot;&gt;company&lt;/a&gt;, &lt;a href=&quot;https://cryptpad.org/use-case/education/&quot;&gt;educational institution&lt;/a&gt; or a &lt;a href=&quot;https://cryptpad.org/use-case/nonprofit/&quot;&gt;nonprofit&lt;/a&gt; and wish to run your own CryptPad instance, check our &lt;a href=&quot;https://cryptpad.org/pricing/&quot;&gt;cloud and support offerings&lt;/a&gt;. Subscribing to these offers will help the CryptPad project improve.&lt;/p&gt;
&lt;p&gt;Your support through &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;Open-Collective&lt;/a&gt; or subscriptions on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; is also very important as useful as it creates an independent revenue stream directly from our users.&lt;/p&gt;
&lt;h2&gt;Expected funding for 2025&lt;/h2&gt;
&lt;p&gt;You can see in this table the details of the funding of the CryptPad project we expect for 2025:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Subscriptions  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Donations  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Research Projects  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Client Roadmap Funding  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other Client Revenue (Cloud / Support)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Crédit Impôt Recherche Tax Cut  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Extra Crédit Impôt Recherche (PHD)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;46,5&lt;/td&gt;
&lt;td&gt;12,7&lt;/td&gt;
&lt;td&gt;100&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;58&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;257&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;54,5&lt;/td&gt;
&lt;td&gt;25,7 + 12k Exceptional revenue (*)&lt;/td&gt;
&lt;td&gt;216&lt;/td&gt;
&lt;td&gt;223&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;48&lt;/td&gt;
&lt;td&gt;25.5&lt;/td&gt;
&lt;td&gt;614.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Real)&lt;/td&gt;
&lt;td&gt;76&lt;/td&gt;
&lt;td&gt;16.4&lt;/td&gt;
&lt;td&gt;408&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;12&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;645.4&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;100 to 120&lt;/td&gt;
&lt;td&gt;20 to 30&lt;/td&gt;
&lt;td&gt;340 to 380&lt;/td&gt;
&lt;td&gt;10 to 30&lt;/td&gt;
&lt;td&gt;10 to 30&lt;/td&gt;
&lt;td&gt;38&lt;/td&gt;
&lt;td&gt;50&lt;/td&gt;
&lt;td&gt;568 to 678&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We have guaranteed funding from the French BPI project for 2024, regular subscriptions and donations and also CIR Tax cuts. This brings us 520k of guaranteed revenue. We can then expect from 40 to 110k from extra funding through increased revenue, donations, an extra research project or client revenue through CryptPad Cloud or support.&lt;/p&gt;
&lt;p&gt;On the spending side we expect the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Number of Employees (Full-time Equivalent)  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Team Salaries incl. cost increase  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Other costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Extra hires  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;272&lt;/td&gt;
&lt;td&gt;35&lt;/td&gt;
&lt;td&gt;0 (*)&lt;/td&gt;
&lt;td&gt;307&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;7&lt;/td&gt;
&lt;td&gt;528&lt;/td&gt;
&lt;td&gt;101&lt;/td&gt;
&lt;td&gt;0 (*)&lt;/td&gt;
&lt;td&gt;629&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Real)&lt;/td&gt;
&lt;td&gt;8.5&lt;/td&gt;
&lt;td&gt;482&lt;/td&gt;
&lt;td&gt;106&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;588&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;9&lt;/td&gt;
&lt;td&gt;520&lt;/td&gt;
&lt;td&gt;114&lt;/td&gt;
&lt;td&gt;-&lt;/td&gt;
&lt;td&gt;634&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;For 2025, we want to plan for our Junior team members to all be full time in the team.&lt;/p&gt;
&lt;p&gt;And the following balance:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Year&lt;/th&gt;
&lt;th&gt;Total Revenue  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Total Costs  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;th&gt;Balance  &lt;br /&gt;(k€)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;2019&lt;/td&gt;
&lt;td&gt;153.5&lt;/td&gt;
&lt;td&gt;160&lt;/td&gt;
&lt;td&gt;-6.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2020&lt;/td&gt;
&lt;td&gt;236.5&lt;/td&gt;
&lt;td&gt;242&lt;/td&gt;
&lt;td&gt;-5.5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2021&lt;/td&gt;
&lt;td&gt;267&lt;/td&gt;
&lt;td&gt;254&lt;/td&gt;
&lt;td&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2022&lt;/td&gt;
&lt;td&gt;257.2&lt;/td&gt;
&lt;td&gt;307&lt;/td&gt;
&lt;td&gt;-49.8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2023&lt;/td&gt;
&lt;td&gt;614.7&lt;/td&gt;
&lt;td&gt;614&lt;/td&gt;
&lt;td&gt;0.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2024 (Real)&lt;/td&gt;
&lt;td&gt;645.4&lt;/td&gt;
&lt;td&gt;588&lt;/td&gt;
&lt;td&gt;57&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;2025 (Expected)&lt;/td&gt;
&lt;td&gt;568 to 678&lt;/td&gt;
&lt;td&gt;634&lt;/td&gt;
&lt;td&gt;-66 to 44&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;What does it mean for CryptPad ?&lt;/h2&gt;
&lt;p&gt;In 2024 we have continued to increase the team size which we are stabilizing. For the 2025 budget we start the year negative, but thanks to the extra revenue done last year we can cover in case things don&#39;t turn as well as we would like.&lt;/p&gt;
&lt;p&gt;Thanks to our long term project, we can have a stable team working regularly to improve CryptPad. However for the following years we have some risks and it becomes important that we find some more sustainable revenue.&lt;/p&gt;
&lt;p&gt;Also this year has shown us that it was not easy to deliver the work for the research project, and also continue to improve the core of CryptPad and the 10 pads that we have in the software. &lt;strong&gt;CryptPad is becoming a very big project&lt;/strong&gt; and maintaining and improving it is a lot of work.&lt;/p&gt;
&lt;h3&gt;You can also help CryptPad be more sustainable&lt;/h3&gt;
&lt;p&gt;On the cash flow side, XWiki SAS has also done good sales and is able to cover the short term needs. However over the long term we have risks of research funding reducing and we need to replace this funding with more sustainable funding. For this, the help of our community is more than welcome.&lt;/p&gt;
&lt;p&gt;If we want to be able to work on both Enterprise revenue and also continue to improve CryptPad features which are given for free, it is very important to bring additional, independent funding to CryptPad through &lt;strong&gt;cryptpad.fr &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;subscriptions&lt;/a&gt; or through regular (monthly or yearly) &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations&lt;/a&gt; or through &lt;a href=&quot;https://cryptpad.org/pricing/enterprise/&quot;&gt;enterprise clients&lt;/a&gt;&lt;/strong&gt;, as this would increase recurrent revenue which is greatly needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For CryptPad to be less dependent on short or medium term projects, the recurrent funding for the maintenance of the core software is &lt;strong&gt;essential.&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our users, paying users and donors are our credibility. When we discuss with potential customers or project partners, each user is key, each instance being installed, each pad being opened, each mention of CryptPad. You are our credibility.&lt;/p&gt;
&lt;p&gt;We&#39;d like to thank all of you and encourage anyone to join them on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; or &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;opencollective&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We&#39;ll also be at FOSDEM this week-end. If you&#39;d like to talk to us, come to the XWiki/CryptPad Table, check out &lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5033-cryptpad-recent-advances-in-privacy-and-collaboration/&quot;&gt;the CryptPad presentation&lt;/a&gt;, and to hear more about our funding please attend &lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-4601-20-years-of-hacking-the-funding-of-xwiki-and-cryptpad/&quot;&gt;our dedicated talk on the subject&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks&lt;/p&gt;
&lt;p&gt;Ludovic, CEO of XWiki SAS for the CryptPad team&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>December 2024 status</title>
    <link href="https://blog.cryptpad.org/2025/01/09/status-2024-12/"/>
    <updated>2025-01-09T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2025/01/09/status-2024-12/</id>
    <summary xml:lang="en" type="html">Winter release, CryptPad Cloud demos, Presence at FOSDEM 2025</summary>
    <content xml:lang="en" type="html">&lt;p&gt;At the end of December the team was hard at work on the latest release, then most took well-deserved breaks for the holiday season. This brings us to this slighthly delayed final status update for 2024, with our very best wishes for 2025!&lt;/p&gt;
&lt;h2&gt;🚀 ❄️ Winter release (2024.12.0)&lt;/h2&gt;
&lt;p&gt;We wrapped up our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.12.0&quot;&gt;Winter release&lt;/a&gt; before the end of the year. This version delivers fixes and improvements across CryptPad. We were particularly happy to release a fix of our OnlyOffice integration that could address long-standing issues with documents becoming corrupted. If confirmed at scale, this fix could dramatically improve the use of OnlyOffice apps in CryptPad. Please see the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.12.0&quot;&gt;changelog&lt;/a&gt; for full details.&lt;/p&gt;
&lt;h2&gt;☁️ CryptPad Cloud demo instances&lt;/h2&gt;
&lt;p&gt;We are happy to announce that you can now test-drive your very own CryptPad instance using our &lt;a href=&quot;https://cryptpad.org/try-cloud/&quot;&gt;Cloud demo service&lt;/a&gt;. This service builds on &lt;a href=&quot;https://xwiki.com/en/try-xwiki/&quot;&gt;a similar one&lt;/a&gt; by our parent company XWiki. You can launch demo instances after filling out some basic information, confirm your email to extend the demo to a few days, and finally &lt;a href=&quot;https://cryptpad.org/pricing/#full&quot;&gt;subscribe&lt;/a&gt; if you are happy with the product.&lt;/p&gt;
&lt;p&gt;We hope this will encourage bigger actors such as companies and organizations to consider having their own instance managed by us. This is one of the avenues we are exploring to make the project more financially sustainable.&lt;/p&gt;
&lt;h2&gt;🎙️ CryptPad at FOSDEM 2025&lt;/h2&gt;
&lt;p&gt;Our very own Fabrice Mouhartem will represent CryptPad at &lt;a href=&quot;https://fosdem.org/2025/&quot;&gt;FOSDEM 2025&lt;/a&gt; with an overview of the progress made in the last year: &amp;quot;accessibility and mobile, performance improvements, cloud instances, and work on the OnlyOffice integration to name a few&amp;quot;.&lt;/p&gt;
&lt;p&gt;You can catch his talk on &lt;a href=&quot;https://fosdem.org/2025/schedule/event/fosdem-2025-5033-cryptpad-recent-advances-in-privacy-and-collaboration/&quot;&gt;Saturday Feb. 1st at 12:15 in H.1308&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We&#39;re preparing our yearly budget report which we&#39;ll publish in the next few weeks&lt;/li&gt;
&lt;li&gt;We are starting work on the 💐 Spring release (2025.3.0) planned for end March 2025. We aim to upgrade OnlyOffice to version 8 among other improvements&lt;/li&gt;
&lt;li&gt;We are looking forward to welcome an intern in the spring to work on cryptography improvements, more about this in due course&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="cloud" scheme="https://blog.cryptpad.org/tags/cloud/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
  </entry>
  <entry>
    <title>November 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/11/28/status-2024-11/"/>
    <updated>2024-11-28T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/11/28/status-2024-11/</id>
    <summary xml:lang="en" type="html">2024.9.1 release, new social media accounts, article and meme from La Contrevoie</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 2024.9.1&lt;/h2&gt;
&lt;p&gt;This month we released a minor version of CryptPad, &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.9.1&quot;&gt;2024.9.1&lt;/a&gt;. This point release contains fixes and improvements addressing issues and needs we encountered on the flagship instance &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Improving plugin support for monitoring and the upcoming CryptPad Cloud deployments (see 🔭 Next up below)&lt;/li&gt;
&lt;li&gt;Fixing server issues&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Please see the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.9.1&quot;&gt;full release notes&lt;/a&gt; for more information.&lt;/p&gt;
&lt;h2&gt;🗯️ Social media update&lt;/h2&gt;
&lt;p&gt;We aren&#39;t fans of social media platforms that track users and have algorithmic timelines. We left Twitter two years ago and haven&#39;t looked back. However, we decided to increase our online presence by opening two more accounts:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://bsky.app/profile/cryptpad.org&quot;&gt;🦋 Bluesky&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.linkedin.com/company/cryptpad&quot;&gt;💼  Linkedin&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Our goal is to meet potential new users where they are, and encourage more people to improve their privacy by using CryptPad. We also need to find some companies that are willing to pay us to host the service, giving the project financial stability.&lt;/p&gt;
&lt;p&gt;🐘 &lt;a href=&quot;https://fosstodon.org/@cryptpad&quot;&gt;Mastodon&lt;/a&gt; remains our main communication channel with 6K followers, and the Fediverse the closest network to our project values. From now on you will also be seeing our posts on Bluesky (&lt;a href=&quot;https://bsky.app/profile/cryptpad.org&quot;&gt;@cryptpad.org&lt;/a&gt;), and a separate feed on &lt;a href=&quot;https://www.linkedin.com/company/cryptpad&quot;&gt;Linkedin&lt;/a&gt; aimed at marketing CryptPad to enterprise. If you are on either of these networks we appreciate help in reaching a new audience by following and boosting our content.&lt;/p&gt;
&lt;h2&gt;🗞️ La Contre-Voie&lt;/h2&gt;
&lt;p&gt;We were delighted to find this in depth documentation (available in &lt;a href=&quot;https://lacontrevoie.fr/blog/2024/accompagnements-numeriques-notre-mode-operatoire/&quot;&gt;French&lt;/a&gt; and &lt;a href=&quot;https://lacontrevoie.fr/en/blog/2024/accompagnements-numeriques-notre-mode-operatoire/&quot;&gt;English&lt;/a&gt;) of how French NGO &lt;a href=&quot;https://lacontrevoie.fr/en/&quot;&gt;la Contre-Voie&lt;/a&gt; provides &amp;quot;digital support&amp;quot; to other NGOs. They assist others all the way from assessing the needs of a group, to implementing solutions using free software, either through self-hosting or recommending other services. On top of being an interesting read, it features CryptPad in a great meme about alternatives to Big Tech:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/contrevoie-meme.png&quot; alt=&quot;&amp;quot;The ‘what do we want?’ meme on 12 panels, titled ‘The choice of alternatives among librists’, ideal VS reality. First group of panels: &#39;If I tell you Twitter, what do you tell me?&#39; &#39;Mastodon!!&#39; &#39;Google Drive?&#39; &#39;Nextcloud!!&#39; &#39;YouTube?&#39; &#39;PeerTube!!&#39;. Second group of panels: the characters all suggest a different alternative. E.g.: &#39;Discord?&#39; &#39;IRC!&#39; &#39;XMPP!&#39; &#39;Matrix!&#39; &#39;Signal!&#39; &#39;Revolt! in front of &#39;Google Docs?&#39; it says OnlyOffice, no it&#39;s not open source enough, Collabora, vim, markdown and git, CryptPad!&amp;quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;👕 We are also big fans of their &lt;a href=&quot;https://enventelibre.org/en/la-contre-voie/169-305-t-shirt-constellations-42l.html#/7-size-m&quot;&gt;t-shirts&lt;/a&gt;! (design by &lt;a href=&quot;https://brume.ink/projets/42l/&quot;&gt;Brume&lt;/a&gt;)&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are working on the Winter release &lt;code&gt;2024.12.0&lt;/code&gt; that we aim to wrap up before the holiday season.&lt;/li&gt;
&lt;li&gt;☁️ CryptPad Cloud: We are putting the finishing touches to Cloud Demos, allowing people to test-drive their own hosted instance of CryptPad (like you can for &lt;a href=&quot;https://xwiki.com/en/try-xwiki/&quot;&gt;XWiki&lt;/a&gt; our parent company&#39;s product). We hope to release this for everyone soon!&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="social media" scheme="https://blog.cryptpad.org/tags/social media/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
  </entry>
  <entry>
    <title>October 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/10/31/status-2024-10/"/>
    <updated>2024-10-31T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/10/31/status-2024-10/</id>
    <summary xml:lang="en" type="html">10 years since first commit, CryptPad.fr server migration, Canòdrom collaboration</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/10-years.png&quot; alt=&quot;10 years of CryptPad birthday card&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;🎂 10 Years since first commit&lt;/h2&gt;
&lt;p&gt;31st October 2024 marks 10 years since the first commit to the CryptPad codebase. The project has come a long way since then, when it was just an experimental single page &amp;quot;pad&amp;quot;. The Drive was added in early 2017 with &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/1.0.0&quot;&gt;v1.0.0&lt;/a&gt; and the project gradually became a full office suite. We wish CryptPad another 10 years of development and improvement. &lt;!-- new paragraph? --&gt; To celebrate we are offering 50% off all plans on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; for the next couple of days, to redeem it please use the code &lt;code&gt;10YEARS&lt;/code&gt; at checkout for any plan on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; until midnight on Friday Nov 1st (Paris time).&lt;/p&gt;
&lt;h2&gt;🚧 &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; server migration&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://fosstodon.org/@cryptpad/113366972887911954&quot;&gt;We recently announced&lt;/a&gt; some maintenance downtime to perform a storage migration for our flagship instance. Here are some more details about this for those who are interested:&lt;/p&gt;
&lt;p&gt;Last winter we migrated the storage of our &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; back-end server from an old LVM partitioning scheme to BTRFS. After encountering a variety of issues, complicating our maintenance tasks and even causing some serious downtime, we decided to switch to ZFS.&lt;/p&gt;
&lt;p&gt;We took the opportunity to migrate the entire service to a new server, running Debian 12 instead of the outdated 10. With a much newer kernel and the latest OpenZFS version. After carefully planning this, we successfully completed the task on Tuesday, October 28th.&lt;/p&gt;
&lt;p&gt;While it&#39;s too early to draw any conclusion regarding performance and reliability, we recognize it&#39;s an important step forward for our flagship CryptPad instance&#39;s future. Reducing our operating costs, the need for manual operations, improving the speed of running backups and at the same time, improving the experience for our users.&lt;/p&gt;
&lt;h2&gt;🤝 Canòdrom collaboration&lt;/h2&gt;
&lt;p&gt;This month we announced the start of a &lt;a href=&quot;https://blog.cryptpad.org/2024/10/15/canodrom-collab/&quot;&gt;collaboration with  the Canòdrom in Barcelona&lt;/a&gt;. We will have more to say in the coming months on how this will actually work, but we are delighted to be associated with this laboratory connecting open-source software and the needs of citizens.&lt;/p&gt;
&lt;h2&gt;Up next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We will keep a close eye on the new storage of &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; for performance and any issues&lt;/li&gt;
&lt;li&gt;The team is working towards our winter release expected for December&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="infrastructure" scheme="https://blog.cryptpad.org/tags/infrastructure/"/>
  </entry>
  <entry>
    <title>New Collaboration Between CryptPad and the Canòdrom</title>
    <link href="https://blog.cryptpad.org/2024/10/15/canodrom-collab/"/>
    <updated>2024-10-15T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/10/15/canodrom-collab/</id>
    <summary xml:lang="en" type="html">We&#39;re excited to announce a new collaboration between CryptPad and the Canòdrom, a unique space in Barcelona dedicated to exploring the intersection of technology and democracy.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/Canodrom-Espai-42.jpg&quot; alt=&quot;photograph of the Canodrom building in Barcelona&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We&#39;re excited to announce a new collaboration between CryptPad and the Canòdrom, a unique space in Barcelona dedicated to exploring the intersection of technology and democracy. The Canòdrom is more than just a space—it&#39;s a citizen&#39;s laboratory for fostering open technologies, digital rights, and active civic participation. As a community-driven atheneum, it engages the local neighbourhood, the broader city, and even a global audience, bringing people together around shared values of openness, collaboration, and innovation.&lt;/p&gt;
&lt;p&gt;At the heart of the Canòdrom&#39;s mission are critical topics like democracy, digital rights, and hack feminism. They also focus on digital culture, education, and the ecological impact of free technologies—areas where CryptPad&#39;s privacy-first, open-source ethos aligns perfectly.&lt;/p&gt;
&lt;p&gt;This collaboration underscores our shared commitment to building a digital future that is transparent, inclusive, and respects users&#39; autonomy and privacy. Through this collaboration, we are thrilled to join a dynamic ecosystem of forward-thinking projects like Decidim, Coopdevs, DataForGoodBCN, femProcomuns, FemDevs, and Tecnopolítica, among a lot of others.&lt;/p&gt;
&lt;p&gt;Stay tuned for more updates as we embark on this exciting journey!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpadXcanodrom.png&quot; alt=&quot;Cryptpad and Canodrom logos with an x between them&quot; /&gt;&lt;/p&gt;
</content>
    <category term="canodrom" scheme="https://blog.cryptpad.org/tags/canodrom/"/>
  </entry>
  <entry>
    <title>Changing the cryptography library in your CryptPad server</title>
    <link href="https://blog.cryptpad.org/2024/10/03/tutorial-sodium-plugin/"/>
    <updated>2024-10-03T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/10/03/tutorial-sodium-plugin/</id>
    <summary xml:lang="en" type="html">A tutorial to explain why and how to change the backend cryptography library on your cryptpad server</summary>
    <content xml:lang="en" type="html">&lt;figure&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/salt-mine-turda.jpg&quot; alt=&quot;Cover image: Salt mine of Turda, Romania.&quot; title=&quot;Cover Image: Salt mine of Turda&quot; /&gt;&lt;/p&gt;
&lt;figcaption&gt;
Salt mine of Turda, Romania. From &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Roumanie_Mine_de_sel_de_Turda_2019_5.jpg&quot;&gt;Wikimedia Commons&lt;/a&gt;
under CC0 license.
&lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;⚠️ This tutorial is intended for system administrators. However, the introduction
can be of interest to anyone who is curious about the inner working of CryptPad.&lt;/p&gt;
&lt;h2&gt;🧑‍🏫 Introduction&lt;/h2&gt;
&lt;p&gt;When running CryptPad on your server, you may notice that under load, some
CryptPad processes are consuming a lot of computational resources. So far, there
is nothing surprising. However, doing a bit of profiling about these
computations, we noticed that the heavy lifting was done by signature
verifications. The reason being that the server proceeds with data validation
before storage to avoid being spammed by false patches. Even if they won’t
affect the final state of the file as they won’t be displayed with an invalid
signature, they still need to be processed by the clients, potentially allowing
to &lt;em&gt;denial of service&lt;/em&gt; attacks.&lt;/p&gt;
&lt;p&gt;Well, that’s good, but it doesn’t help us with our load issue.
However, looking at how CryptPad is designed, we remark that both the server and
the client are written in javascript.
This allows us to share common libraries between the server and the client·
Thus it guarantees the same behaviour for both for fundamental building blocks.
It also stands true for the cryptographic library that is used to perform those
essential operations for CryptPad.
&lt;a href=&quot;https://github.com/dchest/tweetnacl-js&quot;&gt;TweetNaCl&lt;/a&gt; has been picked as a
lightweight full-javascript library to ensure browser-portability for the
client.
However, this portability constraint is not relevant for servers, and the
lack of low-level optimisation is actually what cause of the bottleneck we
described previously.&lt;/p&gt;
&lt;p&gt;To keep the codebase legible, and as it’s not a problem for small instances, we
decided to address this problem using CryptPad’s plugin system. Then providing
sane defaults for reasonable-sized instances, while making possible to easily
swap the cryptographic library used by the server. The goal of this tutorial is
to show how to do it in practice.&lt;/p&gt;
&lt;h2&gt;🔩 Installing the plugin&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;To install the plugin, the first step is to download it at the right place.
From your CryptPad installation directory:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; lib/plugins&lt;br /&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; clone https://github.com/cryptpad/cryptpad-sodium-plugin.git sodium&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;2&quot;&gt;
&lt;li&gt;Then, install its dependencies:&lt;/li&gt;
&lt;/ol&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; sodium/&lt;br /&gt;&lt;span class=&quot;token function&quot;&gt;npm&lt;/span&gt; ci&lt;/code&gt;&lt;/pre&gt;
&lt;ol start=&quot;3&quot;&gt;
&lt;li&gt;Restart your CryptPad server.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;And that’s it, your server should use its native implementation of &lt;em&gt;libsodium&lt;/em&gt;
now.&lt;/p&gt;
&lt;p&gt;⚠️ If step 2 is omitted, the server would silently fall back to &lt;code&gt;TweetNaCl&lt;/code&gt;.&lt;/p&gt;
&lt;h2&gt;🔧 Use another library?&lt;/h2&gt;
&lt;p&gt;For signatures, CryptPad uses the EdDSA algorithm over the
&lt;a href=&quot;https://en.wikipedia.org/wiki/EdDSA#Ed25519&quot;&gt;&lt;code&gt;ed25519&lt;/code&gt;&lt;/a&gt; curve.
If you want to run another implementation of it, you can make a copy of our
&lt;a href=&quot;https://github.com/cryptpad/cryptpad-sodium-plugin/tree/main&quot;&gt;&lt;code&gt;cryptpad-sodium-plugin&lt;/code&gt;&lt;/a&gt;
plugin and edit the
&lt;a href=&quot;https://github.com/cryptpad/cryptpad-sodium-plugin/blob/main/index.js&quot;&gt;&lt;code&gt;index.js&lt;/code&gt;&lt;/a&gt;
file to provide another implementation for the &lt;code&gt;open&lt;/code&gt; (combined mode
verification) and &lt;code&gt;detachedVerify&lt;/code&gt; (detached mode verification) functions.&lt;/p&gt;
&lt;p&gt;Please note that if you do that and run it in production, under the
&lt;a href=&quot;https://www.gnu.org/licenses/agpl-3.0.en.html&quot;&gt;AGPL-3&lt;/a&gt; licence, you are to make
the source code of the plugin available.
Feel free to contact us at &lt;a href=&quot;mailto:contact@cryptpad.org&quot;&gt;contact@cryptpad.org&lt;/a&gt; if you want us to advertise
your back-end crypto plugin as a community contribution 🙂&lt;/p&gt;
</content>
    <category term="tutorials" scheme="https://blog.cryptpad.org/tags/tutorials/"/>
    <category term="administration" scheme="https://blog.cryptpad.org/tags/administration/"/>
    <category term="configuration" scheme="https://blog.cryptpad.org/tags/configuration/"/>
    <category term="performance" scheme="https://blog.cryptpad.org/tags/performance/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
  </entry>
  <entry>
    <title>September 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/10/02/status-2024-09/"/>
    <updated>2024-10-02T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/10/02/status-2024-09/</id>
    <summary xml:lang="en" type="html">Autumn release (2024.9.0), Andreea joisn the team, XWiki seminar hackathon</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We are back to our regular monthly blog post schedule after taking a break in August. Some of the team got to meet IRL during XWiki&#39;s annual seminar in France last week, right after XWiki&#39;s &lt;a href=&quot;https://xwiki.com/en/Blog/XWiki-20th-anniversary/&quot;&gt;🎂 20th birthday party&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🚀 🍁 Autumn release 2024.9.0&lt;/h2&gt;
&lt;p&gt;We have just wrapped up our &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.9.0&quot;&gt;Autumn release (2024.9.0)&lt;/a&gt; which is focused on server performance improvements. One of them is a new option to swap some of the cryptography used by CryptPad (&lt;a href=&quot;https://www.npmjs.com/package/tweetnacl&quot;&gt;TweetNaCl&lt;/a&gt;) with a more efficient replacement (&lt;a href=&quot;https://www.npmjs.com/package/sodium-native&quot;&gt;Sodium&lt;/a&gt;). This is an &lt;a href=&quot;https://github.com/cryptpad/cryptpad-sodium-plugin&quot;&gt;optional plugin&lt;/a&gt; geared towards the performance needs of larger instances, currently in production on our flagship &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We will write a detailed tutorial blog post and documentation in the coming days.&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 Andreea joins the team&lt;/h2&gt;
&lt;p&gt;We are delighted to announce that after a very productive internship, Andreea will be joining the team part-time as she completes her studies. She will continue working on improving our OnlyOffice integration in collaboration with Wolfgang.&lt;/p&gt;
&lt;h2&gt;🧰 XWiki seminar Hackathon 2024&lt;/h2&gt;
&lt;p&gt;The annual XWiki seminar always includes a hackathon day where teams work on things that they would not normally spend time on. This year the team worked on the following projects:&lt;/p&gt;
&lt;h3&gt;Tiptap application prototype&lt;/h3&gt;
&lt;p&gt;We tested the potential of &lt;a href=&quot;https://tiptap.dev/&quot;&gt;Tiptap&lt;/a&gt; to power our Rich Text application. We are looking for a replacement to CKEditor which reached &lt;a href=&quot;https://ckeditor.com/docs/ckeditor4/latest/index.html&quot;&gt;End of Life in June 2023&lt;/a&gt;. We managed a basic integration in one day that allowed to take stock of the work that would be necessary to build this into a full-fledged application.&lt;/p&gt;
&lt;h3&gt;Remove Bootstrap&lt;/h3&gt;
&lt;p&gt;Given recent security advisories and the fact that we override most of Bootstrap styles anyway, we wanted to know if we could remove this big dependency from our code-base. It turns out that although we don&#39;t benefit a lot from Bootstrap features, its styles still cascade to quite a few elements in the CryptPad user-interface and would require significant work to remove.&lt;/p&gt;
&lt;h3&gt;Penpot design system&lt;/h3&gt;
&lt;p&gt;XWiki now self-hosts &lt;a href=&quot;https://penpot.app/&quot;&gt;Penpot&lt;/a&gt;—an open-source alternative to Figma—as an internal tool. Our XWiki colleague Pauline started a design system library to make the creation of future mockups easier.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/penpot-colors.png&quot; alt=&quot;color swatches in the CryptPad design system made with Penpot&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;📼 JDLL videos are online&lt;/h2&gt;
&lt;p&gt;Fabrice presented at the &lt;a href=&quot;https://jdll.org/&quot;&gt;Journées du Logiciel Libre&lt;/a&gt; in Lyon, France earlier this year. &lt;a href=&quot;https://videos-libr.es/w/26y4Nsvt53KU45jVPSDk4B&quot;&gt;The video of his talk&lt;/a&gt; is now available.&lt;/p&gt;
&lt;iframe title=&quot;CryptPad : une suite bureautique pour la diffusion sécurisée des connaissances - Fabrice Mouhartem - JdLL2024&quot; width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://videos-libr.es/videos/embed/08df9e5c-68e6-41c4-8392-8a3dbeb28a05&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups allow-forms&quot;&gt;&lt;/iframe&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Starting work on the Winter release 2024.12.0&lt;/li&gt;
&lt;li&gt;Launching a &amp;quot;cloud demo&amp;quot; service for managed CryptPad instances&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="prototypes" scheme="https://blog.cryptpad.org/tags/prototypes/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
  </entry>
  <entry>
    <title>July 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/07/29/status-2024-07/"/>
    <updated>2024-07-29T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/07/29/status-2024-07/</id>
    <summary xml:lang="en" type="html">Bugfix release (2024.6.1), welcome Andreea, and conference recap</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 Bugfix release: 2024.6.1&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.6.1&quot;&gt;CryptPad 2024.6.1&lt;/a&gt; is live on &lt;a href=&quot;http://cryptapd.fr/&quot;&gt;Cryptapd.fr&lt;/a&gt; and available on Github since a couple of days.&lt;/p&gt;
&lt;p&gt;This is a bugfix release addressing some issues reported by users:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Issues with calendar events not displaying without a page refresh&lt;/li&gt;
&lt;li&gt;OnlyOffice documents not opening&lt;/li&gt;
&lt;li&gt;Code/Markdown documents not printing&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also took the opportunity to enable new translations from the community: Español cubano, اَلْعَرَبِيَّةُ Arabic, Svenska, and to update the existing languages.&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 Welcome Andreea&lt;/h2&gt;
&lt;p&gt;Andreea joined the team at the start of the month for a summer internship as part of the &lt;a href=&quot;https://stagiipebune.ro/home/&quot;&gt;Stagii pe Bune&lt;/a&gt; program in Romania. She is working with Wolfgang on our OnlyOffice integration.&lt;/p&gt;
&lt;h2&gt;🧂 Fabrice at Pass the Salt&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/53861691161_65fc0429de_k.jpg&quot; alt=&quot;Fabrice presenting at Pass the Salt 2024&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Fabrice presenting at Pass the Salt 2024. Photo &lt;a href=&quot;https://www.flickr.com/photos/yobibe/53861691161/in/album-72177720318671117/&quot;&gt;CC-BY-SA @julioloayzam&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;At the beginning of the month, Fabrice presented &lt;strong&gt;future advances&lt;/strong&gt; in
CryptPad at Pass the Salt 2024. It is a security conference that took place
in Lille and covering a large spectrum of topics, from hardware attacks to
letsencrypt emergency fallbacks while showing some reverse engineering
explorations.&lt;/p&gt;
&lt;p&gt;The talk, well received by the attendees, presented the way CryptPad is built
around cryptography to ensure the data and identity privacy of its users. It
then continued on showing the results of the NLnet NGI0
&lt;a href=&quot;https://blueprints.cryptpad.org/&quot;&gt;blueprints&lt;/a&gt; project that finished in May
this year.&lt;/p&gt;
&lt;p&gt;📹 A recording of the talk is &lt;a href=&quot;https://peertube.xwiki.com/w/bp8H35Ys3QgQF6FzLFmGth&quot;&gt;available&lt;/a&gt;, and more can be found in our &lt;a href=&quot;https://peertube.xwiki.com/c/cryptpad_channel/videos&quot;&gt;peertube&lt;/a&gt; channel.&lt;/p&gt;
&lt;iframe title=&quot;Pass The Salt 2024: The Future Of CryptPad, An End-to-End Encrypted Collaborative Office Suite&quot; width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://peertube.xwiki.com/videos/embed/54363e44-b299-43be-97ce-565bcfe0ae9e&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups allow-forms&quot;&gt;&lt;/iframe&gt;
&lt;h2&gt;🔭 Up Next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are working towards the 🍁 Autumn release (&lt;code&gt;2024.9.0&lt;/code&gt;) that we expect for late September (we will confirm the exact date, likely to be before or after the &lt;a href=&quot;https://download.xwiki.com/en/summit-2024/&quot;&gt;XWiki Summit&lt;/a&gt; and company-wide seminar happening at that time)&lt;/li&gt;
&lt;li&gt;The team is working on some experimental R&amp;amp;D prototypes to improve CryptPad&#39;s performance. We will detail these in upcoming blog posts and releases&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>Lettre ouverte à la Commission Européenne</title>
    <link href="https://blog.cryptpad.org/2024/07/12/lettre-ouverte-commission-europeene-ngi/"/>
    <updated>2024-07-12T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/07/12/lettre-ouverte-commission-europeene-ngi/</id>
    <summary xml:lang="en" type="html">🇫🇷 Post in French - Les programmes NGI, de la Commission Européenne financent le logiciel libre en Europe. À la lecture du brouillon détaillant les financements de la commission pour 2025, nous nous apercevons que NGI a disparu du Cluster 4.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Dans le cadre du projet CryptPad, le soutien des programmes Next Generation Internet (NGI) a été crucial au développement de notre produit open-source, ceci au sein d&#39;un marché très compétitif et en grande majorité financé par investissements à capital-risque.&lt;/p&gt;
&lt;p&gt;Les équipes de développement CryptPad et XWiki SAS soutiennent cette &lt;a href=&quot;https://pad.public.cat/lettre-NCP-NGI&quot;&gt;lettre ouverte&lt;/a&gt; publiée initialement par les &lt;a href=&quot;https://ps.zoethical.org/pub/lettre-publique-aux-ncp-au-sujet-de-ngi/&quot;&gt;petites singularités&lt;/a&gt; en faveur des programmes NGI.&lt;/p&gt;
&lt;h2&gt;Lettre ouverte à la Commission Européenne&lt;/h2&gt;
&lt;p&gt;Depuis 2020, les programmes Next Generation Internet (NGI), sous-branche du programme Horizon Europe de la Commission Européenne financent en cascade (via les appels de NLNet) le logiciel libre en Europe. Cette année, à la lecture du brouillon du Programme de Travail de Horizon Europe détaillant les programmes de financement de la commission européenne pour 2025, nous nous apercevons que les programmes Next Generation Internet ne sont plus mentionnés dans le Cluster 4.&lt;/p&gt;
&lt;p&gt;Les programmes NGI ont démontré leur force et leur importance dans le soutien à l&#39;infrastructure logicielle européenne, formant un instrument générique de financement des communs numériques qui doivent être rendus accessibles dans la durée. Nous sommes dans l&#39;incompréhension face à cette transformation, d&#39;autant plus que le fonctionnement de NGI est efficace et économique puisqu&#39;il soutient l&#39;ensemble des projets de logiciel libre des plus petites initiatives aux mieux assises. La diversité de cet écosystème fait la grande force de l&#39;innovation technologique européenne et le maintien de l&#39;initiative NGI pour former un soutien structurel à ces projets logiciels, qui sont au cœur de l&#39;innovation mondiale, permet de garantir la souveraineté d&#39;une infrastructure européenne. Contrairement à la perception courante, les innovations techniques sont issues des communautés de programmeurs européens plutôt que nord-américains, et le plus souvent issues de structures de taille réduite.&lt;/p&gt;
&lt;p&gt;Le Cluster 4 allouait 27.00 millions d&#39;euros au service de :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;Human centric Internet aligned with values and principles commonly shared in Europe&amp;quot; ;&lt;/li&gt;
&lt;li&gt;&amp;quot;A flourishing internet, based on common building blocks created within NGI, that enables better control of our digital life&amp;quot; ;&lt;/li&gt;
&lt;li&gt;&amp;quot;A structured eco-system of talented contributors driving the creation of new internet commons and the evolution of existing internet common&amp;quot;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Au nom de ces enjeux, ce sont plus de 500 projets qui ont reçu un financement NGI0 dans les 5 premières années d&#39;exercice, ainsi que plus de 18 organisations collaborant à faire vivre ces consortia européens.&lt;/p&gt;
&lt;p&gt;NGI contribue à un vaste écosystème puisque la plupart du budget est dévolue au financement de tierces parties par le biais des appels ouverts (&lt;em&gt;open calls&lt;/em&gt;). Ils structurent des communs qui recouvrent l&#39;ensemble de l&#39;Internet, du matériel aux applications d&#39;intégration verticale en passant par la virtualisation, les protocoles, les systèmes d&#39;exploitation, les identités électroniques ou la supervision du trafic de données. Ce financement des tierces parties n&#39;est pas renouvelé dans le programme actuel, ce qui laissera de nombreux projets sans ressources adéquates pour la recherche et l&#39;innovation en Europe.&lt;/p&gt;
&lt;p&gt;Par ailleurs, NGI permet des échanges et des collaborations à travers tous les pays de la zone euro et aussi avec ceux &lt;em&gt;widening countries&lt;/em&gt; &lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://blog.cryptpad.org/2024/07/12/lettre-ouverte-commission-europeene-ngi/#fn1&quot; id=&quot;fnref1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, ce qui est actuellement une réussite tout autant qu’un progrès en cours, comme le fut le programme Erasmus avant nous. NGI0 est aussi une initiative qui participe à l’ouverture et à l’entretien de relation sur un temps plus long que les financements de projets. NGI encourage également à l&#39;implémentation des projets financés par le biais de pilotes, et soutient la collaboration au sein des initiatives, ainsi que l&#39;identification et la réutilisation d&#39;éléments communs au travers des projets, l&#39;interopérabilité notament des systèmes d&#39;identification, et la mise en place de modèles de développement intégrant les autres sources de financements aux différentes échelles en Europe.&lt;/p&gt;
&lt;p&gt;Alors que les États-Unis d’Amérique, la Chine ou la Russie déploient des moyens publics et privés colossaux pour développer des logiciels et infrastructures captant massivement les données des consommateurs, l’Union Européenne ne peut pas se permettre ce renoncement. Les logiciels libres et &lt;em&gt;open source&lt;/em&gt; tels que soutenus par les projets NGI depuis 2020 sont, par construction, à l’opposée des potentiels vecteurs d’ingérence étrangère. Ils permettent de conserver localement les données et de favoriser une économie et des savoirs-faire à l’échelle communautaire, tout en permettant à la fois une collaboration internationale. Ceci est d’autant plus indispensable dans le contexte géopolitique que nous connaissons actuellement. L’enjeu de la souveraineté technologique y est prépondérant et le logiciel libre permet d’y répondre sans renier la nécessité d’œuvrer pour la paix et la citoyenneté dans l’ensemble du monde numérique.&lt;/p&gt;
&lt;p&gt;Dans ces perspectives, nous vous demandons urgemment de réclamer la préservation du programme NGI dans le programme de financement 2025.&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot; /&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Tels que définis par Horizon Europe, les États Membres élargis sont la Bulgarie, la Croatie, Chypre, la République Tchèque, l’Estonie, la Grèce, la Hongrie, la Lettonie, la Lithuanie, Malte, la Pologne, le Portugal, la Roumanie, la Slovaquie et la Slovénie. Les pays associés élargies (sous conditions d’un accord d’association) l’Albanie, l’Arménie, la Bosnie Herzégovine, les Iles Feroé, la Géorgie, le Kosovo, la Moldavie, le Monténégro, le Maroc, la Macédoine du Nord, la Serbie, la Tunisie, la Turquie et l’Ukraine. Les régions élargies d’outre-mer sont: la Guadeloupe, la Guyane Française, la Martinique, La Réunion, Mayotte, Saint-Martin, Les Açores, Madère, les Iles Canaries. &lt;a href=&quot;https://blog.cryptpad.org/2024/07/12/lettre-ouverte-commission-europeene-ngi/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open-source" scheme="https://blog.cryptpad.org/tags/open-source/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
  </entry>
  <entry>
    <title>June 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/06/27/status-2024-06/"/>
    <updated>2024-06-27T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/06/27/status-2024-06/</id>
    <summary xml:lang="en" type="html">Summer 2024 release (2024.6.0) and feedbacks from conferences.</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🌻 CryptPad Summer release (2024.6.0)&lt;/h2&gt;
&lt;p&gt;The summer release is in production on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; and will soon be tagged on
GitHub.&lt;/p&gt;
&lt;p&gt;This release primarily introduces our new onboarding system! We also include
some fixes on accessibility, deployment, OnlyOffice and more.&lt;/p&gt;
&lt;h3&gt;🔛 Onboarding&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/onboarding-first-screen.png&quot; alt=&quot;Screenshot of the first screen of the CryptPad new onboarding process&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We added an onboarding process when running CryptPad for the first time to help
administrators in the process of configuring their own instance.
Once the first admin account is created, the onboarding guides them to configure
the name, description, visual identity of the instance, which applications are
available, and enable extra security features. All these options can be changed
later on in the administration panel.&lt;/p&gt;
&lt;p&gt;This will hopefully ease the installation process of new CryptPad instances.&lt;/p&gt;
&lt;h3&gt;♿ Accessibility&lt;/h3&gt;
&lt;p&gt;Following our effort in making CryptPad more accessible, some bugs have been
fixed with this release. In particular, if navigating with your keyboard, you
can access all the tabbable elements from a document or certain modals.&lt;/p&gt;
&lt;h2&gt;🎬 CryptPad at FOSS conferences feedbacks&lt;/h2&gt;
&lt;p&gt;In the past month, Fabrice has been traveling to different free and open-source
software-related conferences to present multiple aspects of CryptPad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🦁 &lt;a href=&quot;https://jdll.org/&quot;&gt;&lt;strong&gt;Journées du logiciel libre&lt;/strong&gt;&lt;/a&gt;. This event took place
in Lyon, and the topic this year was “popular education”. That’s why a talk
about CryptPad for research and education was presented: CryptPad was shown as a
tool to spread information while safeguarding the privacy of the different
actors: both the writers and the readers. This privacy is guaranteed not only
against external threats, but also from &lt;em&gt;us&lt;/em&gt; (up to reasonable limits) and our
open-source policy ensures that anyone can double-check those claims.&lt;br /&gt;
The talk was overall well-received and people were glad to discover that
CryptPad is more than just an end-to-end encrypted version of etherpad.&lt;/li&gt;
&lt;li&gt;🐇 &lt;a href=&quot;https://passageenseine.fr/&quot;&gt;&lt;strong&gt;Pas sage en Seine&lt;/strong&gt;&lt;/a&gt; is a privacy-oriented
event that covers a large spectrum of topics. This year Fabrice gave a general
presentation of CryptPad and its recent advances, such as
&lt;a href=&quot;https://blueprints.cryptpad.org/&quot;&gt;Blueprints&lt;/a&gt; or SSO integration.&lt;br /&gt;
The public was quite interested and some people asked for a CryptPad
install-party to test the server installation process using docker, which was
thus organized. It was however before the integration of the onboarding process.
However, this initiative was a good opportunity to see how easy it is to install
CryptPad, and may lead in the future to smoother deployments.&lt;br /&gt;
The talk was recorded and is available &lt;a href=&quot;https://video.passageenseine.fr/w/mGGr6xiySrRipaXes7zHN8&quot;&gt;here&lt;/a&gt; (in French).&lt;/li&gt;
&lt;li&gt;🐧 &lt;a href=&quot;https://www.ow2con.org/view/2024/&quot;&gt;&lt;strong&gt;OW2 conference&lt;/strong&gt;&lt;/a&gt;. OW2 is a
consortium between FOSS actors and they organized a conference near Paris to
exchange about the new advances in the open-source community. There was also
some breakout sessions, with one about Research, Science and Education. It was
there that Fabrice gave a 15 minute speech about CryptPad for research and
education, where it fitted well in the session. During those two days, Fabrice
was also present at the CryptPad booth to answer the different questions about
CryptPad, its usage and, again, the installation process.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This was also relayed in the &lt;a href=&quot;https://xwiki.com/en/Blog/Events-April-to-June/&quot;&gt;XWiki
blog&lt;/a&gt;, which CryptPad is part
of. There, you can find links for the different slidedecks.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Andreea will join the team for an internship at the start of the month!&lt;/li&gt;
&lt;li&gt;We will start planning for the autumn release (&lt;code&gt;2024.9.0&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;Fabrice will finish his conference tour at &lt;a href=&quot;https://2024.pass-the-salt.org/&quot;&gt;Pass the
Salt&lt;/a&gt; in Lille on Wednesday, July 3rd. He will
present &lt;a href=&quot;https://cfp.pass-the-salt.org/pts2024/talk/7HUMEU/&quot;&gt;future improvements in
CryptPad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="presentation" scheme="https://blog.cryptpad.org/tags/presentation/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>May 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/05/30/status-2024-05/"/>
    <updated>2024-05-30T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/05/30/status-2024-05/</id>
    <summary xml:lang="en" type="html">2024.3.1 minor release and launch of R&amp;D site Blueprints</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 Minor release &lt;code&gt;2024.3.1&lt;/code&gt;&lt;/h2&gt;
&lt;p&gt;This month we released &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.3.1&quot;&gt;CryptPad 2024.3.1&lt;/a&gt; with some improvements for OnlyOffice applications and various other fixes and translations. Please see the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/2024.3.1&quot;&gt;full release notes&lt;/a&gt; for details.&lt;/p&gt;
&lt;h2&gt;🧪 Blueprints R&amp;amp;D site launched&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/blueprints-roadmap.png&quot; alt=&quot;roadmap diagram on the Blueprints website&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are happy to announce that we completed the &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;CryptPad Blueprints&lt;/a&gt; project and launched &lt;a href=&quot;https://blueprints.cryptpad.org/&quot;&gt;our Research &amp;amp; Development website&lt;/a&gt; which we will be the home for all CryptPad related research going forward.&lt;/p&gt;
&lt;p&gt;Blueprints is a project funded by &lt;a href=&quot;https://nlnet.nl/NGI0/&quot;&gt;NGI Zero&lt;/a&gt; by NLNet  to survey the state of the cryptography, ease of access of CryptPad, and propose some improvements. We already published &lt;a href=&quot;https://blog.cryptpad.org/tags/blueprints/&quot;&gt;some of the ressources&lt;/a&gt; on this blog, such as the &lt;a href=&quot;https://blog.cryptpad.org/2023/02/02/Whitepaper/&quot;&gt;whitepaper&lt;/a&gt; and a &lt;a href=&quot;https://blog.cryptpad.org/2024/03/14/Most-Secure-CryptPad-Usage/&quot;&gt;good practices guide&lt;/a&gt;. However, these were just a fraction of the full research now accessible on &lt;a href=&quot;https://blueprints.cryptpad.org/&quot;&gt;the blueprints website&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This website shows our analysis of CryptPad, a &lt;a href=&quot;https://en.wikipedia.org/wiki/User_story&quot;&gt;user-stories&lt;/a&gt; based needs analysis and their relations to proposed solutions (some of which are already live) as well as some prototyping of missing features such as password recovery or the use of &lt;abbr title=&quot;Conflict-free Replicated Data Types&quot;&gt;CRDTs&lt;/abbr&gt; to pave the way toward offline-first editing.&lt;/p&gt;
&lt;p&gt;We will maintain this website and update it when we conduct new research so expect to hear more about Blueprints in future!&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The team is at work on the &lt;code&gt;2024.6.0&lt;/code&gt; release planned for the end of June&lt;/li&gt;
&lt;li&gt;After &lt;a href=&quot;https://fosstodon.org/@cryptpad/112501407749013093&quot;&gt;the talk&lt;/a&gt; at the &lt;a href=&quot;https://jdll.org/&quot;&gt;&lt;em&gt;Journées du Logiciel Libre&lt;/em&gt;&lt;/a&gt; in Lyon, Fabrice will be giving talks about CryptPad at:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://passageenseine.fr/&quot;&gt;Pas Sage en Seine&lt;/a&gt; on May 31st, in Choisy-le-Roi&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ow2con.org/view/2024/&quot;&gt;OW2Con&lt;/a&gt; on June 11th, in Châtillon&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2024.pass-the-salt.org/&quot;&gt;Pass the Salt&lt;/a&gt; on July 3rd, in Lille&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Andreea will join us for an internship at the start of next month&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
  </entry>
  <entry>
    <title>April 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/04/30/status-2024-04/"/>
    <updated>2024-04-30T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/04/30/status-2024-04/</id>
    <summary xml:lang="en" type="html">270K accounts on CryptPad.fr, End-to-end test suite published, Upcoming conferences</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;⛰️ Over 270K accounts on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;We are happy to report that registered users on our flagship instance have passed the 270,000 mark. This follows steady growth of about 1 thousand registrations a week. While it demonstrates interest in our product, we will need to convert more of these users to &lt;a href=&quot;https://cryptpad.fr/accounts/#&quot;&gt;subscribers&lt;/a&gt; or &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations&lt;/a&gt; to make the project financially sustainable.&lt;/p&gt;
&lt;h2&gt;🧪 End-to-end test suite published&lt;/h2&gt;
&lt;p&gt;After months of work by Zuzanna on an end-to-end test suite for CryptPad, we are &lt;a href=&quot;https://github.com/cryptpad/e2e-test-suite&quot;&gt;publishing the results on GitHub&lt;/a&gt;. This will make our quality assurance process more transparent and might even encourage people with knowledge of &lt;a href=&quot;https://playwright.dev/&quot;&gt;Playwright&lt;/a&gt; to contribute.&lt;/p&gt;
&lt;h2&gt;📢 Upcoming conferences&lt;/h2&gt;
&lt;p&gt;Fabrice has been busy submitting proposals to conferences and they all got accepted! So if you are in France or online you will be able to hear him talk about CryptPad in the next couple of months at the following venues:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://jdll.org/&quot;&gt;Journées du Logiciel Libre&lt;/a&gt; (in French), on Saturday May 25th, from 1PM to 1:55PM in Lyon, about &lt;a href=&quot;https://pretalx.jdll.org/jdll2024/talk/review/AY8BCJYGZYESSZSXEYBDAWBJDHLH8YZN&quot;&gt;CryptPad for Education&lt;/a&gt;. Will be recorded 📹&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://passageenseine.fr/&quot;&gt;Pas Sage en Seine&lt;/a&gt; (in French), on Friday May 31st, from 5PM to 6PM in Choisy-le-Roi (near Paris), about &lt;a href=&quot;https://programme.passageenseine.fr/&quot;&gt;CryptPad in general&lt;/a&gt;. Will be recorded 📹&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.ow2con.org/view/2024/&quot;&gt;OW2Con&lt;/a&gt; (in English), on Tuesday June 11th, from 2:15PM to 2:30PM in Châtillon (near Paris), about &lt;a href=&quot;https://www.ow2con.org/view/2024/Breakout_Sessions/Open_Source_Education_Science_Research&quot;&gt;CryptPad for Research and Education&lt;/a&gt;. May not be recorded.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://2024.pass-the-salt.org/&quot;&gt;Pass the Salt&lt;/a&gt; (In English), Wednesday July 3rd from 3:40PM to 4:15PM in Lille, about putting the &lt;a href=&quot;https://cfp.pass-the-salt.org/pts2024/talk/7HUMEU/&quot;&gt;&lt;strong&gt;Crypt&lt;/strong&gt; in &lt;strong&gt;Crypt&lt;/strong&gt;Pad&lt;/a&gt;. Will be recorded 📹&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🐋 🇫🇷 French Docker tutorial&lt;/h2&gt;
&lt;p&gt;We came across a &lt;a href=&quot;https://belginux.com/installer-cryptpad-avec-docker/&quot;&gt;great blog post at Belginux&lt;/a&gt; that details the process of installing CryptPad with Docker.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The team is hard at work on the Summer release cycle&lt;/li&gt;
&lt;li&gt;A lot of the focus is now on OnlyOffice applications through the France 2030 project which we will write more about in future. This is long-haul work that not pay off instantly but is really needed to improve the stability of the OnlyOffice integrations&lt;/li&gt;
&lt;li&gt;We have interviewed some candidates for summer internships and have made an offer. We will post more details if/when it is accepted&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="end-to-end testing" scheme="https://blog.cryptpad.org/tags/end-to-end testing/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>March 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/03/29/status-2024-03/"/>
    <updated>2024-03-29T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/03/29/status-2024-03/</id>
    <summary xml:lang="en" type="html">Spring 2024 release (2024.3.0)</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/spring-2024-custom-instance.png&quot; alt=&quot;screenshot of customized CryptPad instance&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;💐 CryptPad Spring release (2024.3.0)&lt;/h2&gt;
&lt;p&gt;At the time of writing the latest CryptPad release is in production on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; and will soon be tagged on GitHub.&lt;/p&gt;
&lt;p&gt;This is a major release since it changes the way CryptPad is installed with potential breaking changes for existing instances. Instead of going from &lt;code&gt;5.7.0&lt;/code&gt; to &lt;code&gt;6.0.0&lt;/code&gt;, we are taking this opportunity to make a change to our version numbering. As CryptPad keeps growing and developing the accumulation of numbers in versions 5.x.x, 6.x.x, … is starting to feel arbitrary. Instead we would like to reflect that CryptPad is an &lt;em&gt;ongoing&lt;/em&gt; project being actively maintained and improved for the foreseeable future.
As a self-hostable service we believe a date-based version is also a benefit for users as it provides a quick way of checking how up-to-date a particular instance is before using it.&lt;/p&gt;
&lt;p&gt;We are moving from semantic versioning (semver e.g. &lt;code&gt;5.7.0&lt;/code&gt;) to &lt;a href=&quot;https://calver.org/&quot;&gt;calendar versioning&lt;/a&gt; with each release carrying a date stamp rather than an iteration count. The first of these releases is &lt;code&gt;2024.3.0&lt;/code&gt; and we will continue in the
&lt;code&gt;YYYY.MM.micro&lt;/code&gt; format after that. Combined with the quarterly release schedule in place since ~1 year, this means you can expect the following versions of CryptPad this year:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;💐 Spring &lt;code&gt;2024.3.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;🌻 Summer &lt;code&gt;2024.6.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;🍁 Autumn &lt;code&gt;2024.9.0&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;❄️ Winter &lt;code&gt;2024.12.0&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In between these milestones we could issue patch releases if needed for urgent bug fixes or security. These would look like &lt;code&gt;2024.3.1&lt;/code&gt;, &lt;code&gt;2024.3.2&lt;/code&gt;, etc. Note that this new scheme is still compatible with semver, only it jumps 2018.3 versions from &lt;code&gt;5.7.0&lt;/code&gt;
to &lt;code&gt;2023.3.0&lt;/code&gt; in one go.&lt;/p&gt;
&lt;p&gt;Besides these technicalities, there are also some great new features in the 2024 Spring release, mainly aimed at instance administrators:&lt;/p&gt;
&lt;h3&gt;🎛️ Refactored admin panel&lt;/h3&gt;
&lt;p&gt;We have revamped the administration panel which now uses a more streamlined component system. This should make for more consistent and maintainable styles in that section. We have also re-organized the tabs so that important information about the instance (name, description, etc) is presented first.&lt;/p&gt;
&lt;h3&gt;🎨 Easily customize instance logo and accent color&lt;/h3&gt;
&lt;p&gt;It is now possible to add a custom logo to a CryptPad instance from the admin panel. The accent color (used in buttons and many other parts of the CryptPad UI) can also be changed to match the logo or branding.&lt;/p&gt;
&lt;p&gt;We ensure that the color used by default has sufficient contrast with text and background colors in both dark and light themes. Making this customizable will potentially create less accessible color combinations, so we urge administrators to &lt;a href=&quot;https://accessibleweb.com/color-contrast-checker/&quot;&gt;check color contrast&lt;/a&gt; before choosing a new color. We will do our best to monitor how this feature is used and potentially add measures such as a contrast-checker in a future version.&lt;/p&gt;
&lt;h3&gt;🚑🧑‍⚕️ New help-desk system&lt;/h3&gt;
&lt;p&gt;The support system has been completely refactored to make it easier to manage a large history of tickets (serving our own needs on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;). Crucially this new version now includes a new &amp;quot;moderator&amp;quot; role for users that can access the support system without having admin rights on the instance.&lt;/p&gt;
&lt;h3&gt;📦 New external module for OnlyOffice applications&lt;/h3&gt;
&lt;p&gt;As you may know, the Spreadsheet, Document, and Presentation applications are integrations of OnlyOffice editors with CryptPad&#39;s end-to-end encrypted real-time collaboration. Until now all 6 versions of OnlyOffice since we started integrating it were included in the CryptPad repository. On &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; we need to keep all of these versions to support opening documents that our users may have created a long time ago. For newer instances however, it makes little sense to download 1.7GB of OnlyOffice versions that will never be used.&lt;/p&gt;
&lt;p&gt;With this version we are taking the first step in taking the OnlyOffice builds out of the main CryptPad code-base to their &lt;a href=&quot;https://github.com/cryptpad/onlyoffice-builds&quot;&gt;own repository&lt;/a&gt;. We provide an installation script for instance admins to easily install the apps if they want to. While this is &amp;quot;all 6 historical versions or nothing&amp;quot; for now, it is the first step towards a finer-grained system where each instance only downloads the OnlyOffice version currently in use and any subsequent updates.&lt;/p&gt;
&lt;h2&gt;🔭 up next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We have started correcting a few issues with &lt;code&gt;2024.3.0&lt;/code&gt; after putting it to the test of production&lt;/li&gt;
&lt;li&gt;We hope to officially release this version next week&lt;/li&gt;
&lt;li&gt;After this we will start planning for the Summer release (&lt;code&gt;2024.6.0&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;We already said this last time but we are closer than &lt;em&gt;ever&lt;/em&gt; to wrapping up our two NGI projects AUTH and BLUEPRINTS and to releasing our Cryptography R&amp;amp;D website&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="onlyoffice" scheme="https://blog.cryptpad.org/tags/onlyoffice/"/>
  </entry>
  <entry>
    <title>Pour un usage sécurisé de CryptPad</title>
    <link href="https://blog.cryptpad.org/2024/03/18/Pour-un-usage-securise-de-CryptPad/"/>
    <updated>2024-03-18T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/03/18/Pour-un-usage-securise-de-CryptPad/</id>
    <summary xml:lang="en" type="html">🇫🇷 Post in French - Nous vous présentons dans quels scénarios CryptPad est sécurisé, et partageons des idées d&#39;actions concrètes pour un usage de CryptPad respectant votre confidentialité.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/Paris_Pont_des_Arts_--_2014_--_1422.jpg&quot; alt=&quot;Cadenas d&#39;amour sur le Pont des Arts, Paris, France (2014)&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Photo Dietmar Rabich &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Paris,_Pont_des_Arts_--_2014_--_1422.jpg&quot;&gt;Wikimedia Commons CC-BY-SA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Ce billet de blog est une traduction francophone d&#39;&lt;a href=&quot;https://blog.cryptpad.org/2024/03/14/Most-Secure-CryptPad-Usage/&quot;&gt;une première version originale en anglais&lt;/a&gt; rédigée par Théo Von Arx et Fabrice Mouhartem.&lt;/p&gt;
&lt;p&gt;Vous êtes à la recherche d&#39;un outil de collaboration axé sur la vie privée ? Eh bien, vous l&#39;avez déjà trouvé ! Mais que signifie réellement « vie privée » dans ce contexte ? Et comment est-il techniquement appliqué ? Il y a-t-il des précautions supplémentaires nécessaires pour une utilisation extra-sûre de CryptPad ?&lt;/p&gt;
&lt;p&gt;Dans ce billet de blog, nous répondrons à ces questions, ainsi qu&#39;à d&#39;autres. Nous vous montrerons dans quels scénarios CryptPad est sécurisé et vous donnerons des idées d&#39;actions concrètes pour utiliser CryptPad en toute confidentialité. Bien que nous fassions tout ce qui est possible pour sécuriser CryptPad, sa sécurité dépend également de la façon dont vous l&#39;utilisez.&lt;/p&gt;
&lt;h2&gt;🧑‍🏫 Préliminaires&lt;/h2&gt;
&lt;h3&gt;🗺 Modèle de menace&lt;/h3&gt;
&lt;p&gt;Lorsque nous parlons de sécurité ou de confidentialité, nous devrions toujours définir le scénario dont nous parlons.
Ce scénario est ce qu&#39;on appelle le &lt;a href=&quot;https://ssd.eff.org/fr/glossary/modele-de-menaces&quot;&gt;&lt;em&gt;modèle de menace&lt;/em&gt;&lt;/a&gt;, qui définit la &lt;a href=&quot;https://ssd.eff.org/fr/glossary/possibilite-d-action&quot;&gt;possibilité d&#39;action&lt;/a&gt;. En général, nous visons à penser qu&#39;elles sont aussi puissantes que possible. Si nous pouvons nous défendre contre un &lt;a href=&quot;https://ssd.eff.org/fr/glossary/adversaire&quot;&gt;adversaire&lt;/a&gt; fort, nous pouvons également nous défendre contre un adversaire plus faible.&lt;/p&gt;
&lt;p&gt;La première hypothèse sur les capacités de&#39;un adversaire découle directement de l&#39;architecture de CryptPad. CryptPad est une application web : vous visitez le site web de votre &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/instances.html&quot;&gt;instance&lt;/a&gt; (par exemple, &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://cryptpad.fr&lt;/a&gt;) et téléchargez automatiquement le code client qui sera exécuté localement sur votre ordinateur. Si vous recevez un code source altéré de ce serveur, vous ne pouvez pas établir de sécurité, car ce mauvais code source peut, par exemple, envoyer tous vos documents en texte clair au serveur.
Par conséquent, vous devez faire confiance au serveur pour ne pas exécuter d&#39;&lt;a href=&quot;https://ssd.eff.org/fr/glossary/attaque&quot;&gt;attaques &lt;em&gt;active&lt;/em&gt;&lt;/a&gt; (c&#39;est-à-dire pour ne pas exécuter un logiciel de serveur CryptPad modifié).&lt;/p&gt;
&lt;p&gt;Nous nous défendons néanmoins contre un serveur &lt;em&gt;honnête mais curieux&lt;/em&gt; (c&#39;est-à-dire passif). La deuxième hypothèse est donc que le serveur joue selon les règles, mais pourrait essayer de déduire des informations sensibles en analysant toutes les données qu&#39;il reçoit. Ce scénario inclut la possibilité qu&#39;un tiers ait accès au serveur et puisse voir toutes les données et tous les journaux de logs. CryptPad s&#39;est déjà défendu contre un tel adversaire dans le passé lorsque &lt;a href=&quot;https://newsrnd.com/tech/2022-06-24-data-confiscated-from-pirate-party-servers.SJxeH5I79q.html&quot;&gt;une instance tierce a été saisie par la police&lt;/a&gt;. Nous considérons donc ce scénario comme très réaliste.&lt;/p&gt;
&lt;p&gt;Enfin, nous supposons que les attaquants ont une capacité de réseau. Ce serait le cas de l&#39;administrateur système qui gère le réseau dans votre bureau, de votre &lt;a href=&quot;https://fr.wikipedia.org/wiki/Fournisseur_d%27acc%C3%A8s_%C3%A0_Internet&quot;&gt;fournisseur d&#39;accès Internet&lt;/a&gt;, ou des services secrets ainsi que de nombreux autres. Les attaquants peuvent même utiliser les capacités de réseau actives, c&#39;est-à-dire qu&#39;ils peuvent épier votre trafic internet, et également analyser, déposer ou modifier les données envoyées sur le réseau.&lt;/p&gt;
&lt;h3&gt;🔑 Cryptographie&lt;/h3&gt;
&lt;p&gt;L&#39;une des principales caractéristiques de CryptPad est &lt;a href=&quot;https://ssd.eff.org/fr/glossary/chiffrement-de-bout-en-bout&quot;&gt;le chiffrement de bout en bout&lt;/a&gt;. Laissez-nous vous donner une idée approximative de ce que sont le chiffrement et l&#39;authentification. Il y a trois blocs de construction principaux :&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Le chiffrement symétrique&lt;/strong&gt; (ou chiffrement à clé secrète) fonctionne de la même manière qu&#39;une boîte avec un verrou : nous pouvons mettre quelque chose dans la boîte et verrouiller la boîte à l’aide de la clé (c’est la phase de chiffrement). Seule une personne ayant un exemplaire de la clé peut déverrouiller la boîte et accéder au contenu (qui correspond au déchiffrement) et le modifier. Étant donné que la même clé est utilisée pour verrouiller et déverrouiller la boîte, ce schéma est surnommé &lt;em&gt;symétrique&lt;/em&gt;. Nous pouvons également faire des copies de la clé et la distribuer aux personnes en qui nous avons confiance, afin qu&#39;elles puissent toutes verrouiller et déverrouiller la boîte.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Le chiffrement asymétrique&lt;/strong&gt; (ou chiffrement à clé publique : &lt;em&gt;Public Key Encryption&lt;/em&gt;, PKE pour faire court) diffère du chiffrement symétrique en ce sens qu&#39;une clé différente est utilisée pour le chiffrement (à savoir la &lt;em&gt;clé publique&lt;/em&gt;) et le déchiffrement (la &lt;em&gt;clé privée&lt;/em&gt;). Vous pouvez imaginer le chiffrement asymétrique comme le système suivant : vous distribuez des cadenas ouverts (la clé de chiffrement publique) à tout le monde et gardez la clé (secrète de déchiffrement) pour vous. Ensuite, si quelqu&#39;un veut vous envoyer un message, il le met dans une boîte et la ferme grâce au cadenas que vous lui avez donné. Ainsi, vous seul·e pouvez l&#39;ouvrir pendant que n&#39;importe qui peut produire une boîte verrouillée pour vous. &lt;p&gt;&lt;img alt=&quot;Boîte avec cadenas&quot; src=&quot;https://blog.cryptpad.org/images/unsplash-lock_on_a_box.jpg&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Les signatures numériques&lt;/strong&gt; sont étroitement liées aux sceaux physiques : seules les personnes en possession du sceau (que nous appelons la clé de signature) peuvent signer, mais toutes les autres personnes peuvent vérifier l&#39;authenticité d&#39;un document à l&#39;aide de la clé de vérification publique de l&#39;émetteur. En outre, les signatures numériques garantissent également que personne n&#39;est en mesure de modifier le contenu scellé sans que les lecteur·ices ne s&#39;en aperçoivent. Une propriété que les sceaux conventionnels n&#39;apprécient pas. Notez qu&#39;il existe une variante symétrique de cette primitive appelée &lt;a href=&quot;https://fr.wikipedia.org/wiki/Code_d%27authentification_de_message&quot;&gt;&lt;em&gt;code d&#39;authentification de message&lt;/em&gt;&lt;/a&gt;. Cependant, il est rarement utilisé comme brique de construction indépendante et est utilisé conjointement avec le chiffrement symétrique pour obtenir &lt;a href=&quot;https://fr.wikipedia.org/wiki/Mode_d%27op%C3%A9ration_(cryptographie)#AEAD_:_chiffrement_authentifi%C3%A9_avec_modes_de_donn%C3%A9es_additionnelles&quot;&gt;le chiffrement authentifié&lt;/a&gt;, ce qui garantit en outre que les messages ne sont pas altérés. Comme nous utilisons exclusivement le chiffrement authentifié dans CryptPad, nous utilisons généralement le terme de &amp;quot;chiffrement symétrique&amp;quot; à la place dans les explications pour plus de simplicité, mais les garanties réelles sont plus fortes. &lt;p&gt;&lt;img alt=&quot;Cachet sur une enveloppe&quot; src=&quot;https://blog.cryptpad.org/images/unsplash-sealed_letter.jpg&quot; /&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Pour CryptPad, nous combinons toutes ces briques de construction pour atteindre différents objectifs. Nous expliquerons l&#39;utilisation ci-dessous dans la section relative aux documents.&lt;/p&gt;
&lt;h2&gt;🧗 Les bases&lt;/h2&gt;
&lt;p&gt;Nous décrivons quelques mesures de base qui vous permettent d&#39;augmenter considérablement la sécurité de votre utilisation de CryptPad :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CryptPad est un logiciel &lt;a href=&quot;https://ssd.eff.org/fr/glossary/logiciels-ouverts&quot;&gt;open source&lt;/a&gt; et, à ce titre, il y a &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;diverses instances&lt;/a&gt; qui l&#39;exécutent. Alors que nous hébergeons l&#39;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;instance phare&lt;/a&gt;, vous pouvez en choisir une autre, en fonction de la juridiction par exemple.&lt;/li&gt;
&lt;li&gt;Assurez-vous de vous connecter à l&#39;instance CryptPad choisie via &lt;a href=&quot;https://ssd.eff.org/fr/module/que-devrais-je-savoir-au-sujet-du-chiffrement%E2%80%89#exemple-de-chiffrement-de-la-couche-de-transport-https&quot;&gt;HTTPS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Tous les mécanismes de sécurité sont seulement aussi forts que votre mot de passe. Si votre mot de passe est facilement devinable, les attaquants peuvent obtenir un accès complet à toutes vos données stockées sur CryptPad. Nous vous recommandons soit de générer un mot de passe aléatoire à l&#39;aide d&#39;un &lt;a href=&quot;https://guide.boum.org/en-ligne-outils-gerer-des-mots-de-passe.html#en_ligne-outils-gerer_des_mots_de_passe-utiliser_un_gestionnaire_de_mots_de_passe&quot;&gt;gestionnaire de mots de passe&lt;/a&gt;, ou de &lt;a href=&quot;https://guide.boum.org/hors-connexions-outils-choisir-une-phrase-de-passe.html#hors_connexions-outils-choisir_une_phrase_de_passe&quot;&gt;choisir une bonne phrase de passe&lt;/a&gt; au cas où le mot de passe devrait être mémorisable. Utilisez ce mot de passe uniquement pour CryptPad afin d&#39;éviter que d&#39;autres services ne le divulgue.&lt;/li&gt;
&lt;li&gt;Déconnectez-vous de CryptPad après chaque session, afin de redemander le mot de passe pour accéder à vos données sur CryptPad. Sinon, toute personne ayant accès à votre appareil peut également accéder à vos données sur CryptPad.&lt;/li&gt;
&lt;li&gt;Utilisez l&#39;&lt;a href=&quot;https://ssd.eff.org/fr/glossary/authentification-deux-facteurs&quot;&gt;authentification à deux facteurs&lt;/a&gt; dans votre compte pour ajouter une protection contre le phishing en ajoutant un facteur temporel à votre connexion. &lt;a href=&quot;https://blog.cryptpad.org/2024/01/09/tutorial-two-factor-authentication/&quot;&gt;Un tutoriel&lt;/a&gt; (en anglais) à ce sujet est disponible sur ce blog.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🧑 Contacts&lt;/h2&gt;
&lt;p&gt;Comme nous le montrerons ci-dessous, l&#39;ajout de vos pairs en tant que contacts CryptPad vous permet de partager des documents plus facilement, ainsi qu&#39;en toute sécurité. Vous pouvez en outre restreindre l&#39;accès à un document à des contacts spécifiques et échanger des messages texte avec eux.&lt;/p&gt;
&lt;p&gt;La façon la plus simple d&#39;ajouter quelqu&#39;un à vos contacts est de &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/collaboration.html#add-a-contact&quot;&gt;partager le lien vers votre profil&lt;/a&gt; via une communication sécurisée avec votre pair et de demander à s&#39;ajouter les un·es les autres en tant que contacts.&lt;/p&gt;
&lt;p&gt;⚠️ Notez que les noms d&#39;utilisateur·ices ne sont pas uniques sur CryptPad. Selon le contexte, il peut être judicieux de vérifier une demande de contact reçue par un autre canal sécurisé.&lt;/p&gt;
&lt;h2&gt;📄 Documents&lt;/h2&gt;
&lt;p&gt;CryptPad utilise un chiffrement symétrique avec une clé secrète par document pour rendre vos documents illisibles pour tous ceux qui n&#39;ont pas accès aux clés correspondantes. CryptPad vous permet également de faire la différence entre les accès en lecture seule et les accès en écriture à un document. Pour cela, toute personne souhaitant modifier un document doit prouver qu&#39;iel possède la clé de signature privée liée au document. Pour cela, iels signent leurs modifications et d&#39;autres personnes travaillant sur le même document peuvent vérifier que la modification a effectivement été effectuée par une personne autorisée avant d&#39;accepter les modifications.&lt;/p&gt;
&lt;h3&gt;🔄 Partager&lt;/h3&gt;
&lt;p&gt;CryptPad conserve ces détails techniques « sous le capot » et fournit une interface simple pour &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/share_and_access.html#sharing-a-link&quot;&gt;partager des documents&lt;/a&gt; via des liens. Un tel lien contient essentiellement la clé symétrique pour le chiffrement et le déchiffrement, pour la vérification des signatures ainsi que celle pour l&#39;émission des signatures (en cas d&#39;accès en lecture/écriture) d&#39;une manière &lt;strong&gt;non révocable&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Partager avec un lien&quot; style=&quot;border-radius: 10px&quot; src=&quot;https://blog.cryptpad.org/images/docs-modal-share-link.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;⚠️ Cela implique que le document est seulement aussi sécurisé que le canal de communication &lt;strong&gt;le plus faible&lt;/strong&gt; utilisé pour envoyer ces liens.&lt;/p&gt;
&lt;p&gt;Si vous considérez qu&#39;un canal n&#39;est pas sûr, ou s&#39;il est accessible au public, vous voudrez peut-être en isoler certains de vos documents. Par exemple, vous pouvez limiter l&#39;envoi de liens d&#39;édition vers les chats &lt;a href=&quot;https://signal.org/&quot;&gt;Signal&lt;/a&gt; avec des messages éphémères qui disparaissent.&lt;/p&gt;
&lt;p&gt;Une autre possibilité de partager l&#39;accès en toute sécurité est de &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/share_and_access.html#sharing-with-contacts&quot;&gt;l&#39;envoyer via CryptPad à vos contacts&lt;/a&gt;. Iel utilisent en interne le système de &lt;a href=&quot;https://docs.cryptpad.org/en/dev_guide/general.html#encryption&quot;&gt;&amp;quot;mailbox&amp;quot;&lt;/a&gt; (en anglais) pour les communications internes, sans que le serveur CryptPad ne le sache. De cette façon, vous n&#39;avez pas besoin d&#39;utiliser un canal de communication tiers (potentiellement non sécurisé).&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Partager avec des contacts&quot; style=&quot;border-radius: 10px&quot; src=&quot;https://blog.cryptpad.org/images/docs-modal-share-contacts.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;⚠️ Notez que les documents CryptPad contiennent l&#39;historique complet des modifications. Il est facilement accessible à n&#39;importe qui à partir de l&#39;&lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/apps/general.html#document-history&quot;&gt;interface utilisateur·ice&lt;/a&gt;. Si vous avez commis une erreur de manipulation, par exemple au bout d&#39;un texte que vous ne vouliez pas partager, tout en produisant le document &lt;strong&gt;avant&lt;/strong&gt; de le partager, nous vous recommandons de copier-coller la version que vous souhaitez partager pour la collaboration dans un nouveau document avant de l&#39;envoyer pour nettoyer l&#39;historique (cela aide également à suivre les modifications par la suite).&lt;/p&gt;
&lt;h3&gt;⛔ Restreindre l&#39;accès&lt;/h3&gt;
&lt;p&gt;Comme CryptPad fonctionne avec des clés statiques, les accès partagés accordés ne sont pas révoquables. Cela signifie que par défaut, toute personne à qui l&#39;accès a été accordé pourra à jamais lire (et modifier) un document. Pour éviter cela, vous pouvez fermer l&#39;accès à un document à l&#39;aide de la fonctionnalité &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/share_and_access.html#access-list&quot;&gt;Liste d&#39;accès&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Liste d&#39;accès&quot; style=&quot;border-radius: 10px&quot; src=&quot;https://blog.cryptpad.org/images/docs-modal-access-list.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;De cette façon, seules les personnes sélectionnées ont accès au document, indépendamment de la personne qui a reçu le lien de partage.&lt;/p&gt;
&lt;p&gt;Assurez-vous également que vous ou votre &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/collaboration.html#teams&quot;&gt;équipe&lt;/a&gt; êtes défini comme « propriétaire » lorsque vous créez des documents. Cela vous donnera un contrôle total, y compris la possibilité de détruire un document s&#39;il contient des informations sensibles ou si le lien échappe à votre contrôle.&lt;/p&gt;
&lt;h3&gt;🔒 Mots de passe par document&lt;/h3&gt;
&lt;p&gt;Pour plus de sécurité, vous pouvez &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/share_and_access.html#access-tab&quot;&gt;protéger un document avec un mot de passe&lt;/a&gt;. Le document n&#39;est alors disponible que si vous avez les deux, le lien de partage et le mot de passe. Ceci est particulièrement utile dans le cas où vous n&#39;avez pas de canal de communication sécurisé pour partager le lien, car vous pouvez envoyer le lien et le mot de passe sur deux canaux &lt;em&gt;distincts&lt;/em&gt; (par exemple, la messagerie texte et le courrier électronique). De cette façon, l&#39;attaquant doit surveiller les deux canaux en même temps, ce qui le rend beaucoup plus difficile.&lt;/p&gt;
&lt;p&gt;Lorsque vous partagez des documents avec vos contacts directement sur CryptPad, les communications sont chiffrées, et nous supposons que vous voulez leur donner accès. Par conséquent, le mot de passe est mémorisé et envoyé avec le document lorsque vous le partagez. On ne le demande pas au destinataire, ou à vous-même, lors de l&#39;ouverture du document. Cela suppose implicitement que la sécurité du lecteur CryptPad est au moins aussi forte que les canaux de communication utilisés pour partager le document.&lt;/p&gt;
&lt;h3&gt;💨 Autodestruction&lt;/h3&gt;
&lt;p&gt;CryptPad vous permet de créer des &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/security.html#self-destructing-documents&quot;&gt;documents qui s&#39;autodétruisent&lt;/a&gt;, ils seront détruits soit après l&#39;heure d&#39;expiration définie, soit après l&#39;ouverture du document partagé la première fois.&lt;/p&gt;
&lt;p&gt;Cette fonctionnalité est particulièrement utile si vous devez partager des données sensibles qui ne devraient pas être accessibles pour toujours. Vous pouvez l&#39;utiliser pour partager un mot de passe avec une personne par exemple.&lt;/p&gt;
&lt;h2&gt;🕵️ Anonymat&lt;/h2&gt;
&lt;p&gt;CryptPad ne fournit qu&#39;une faible forme d&#39;anonymat et ne cache pas votre &lt;a href=&quot;https://guide.boum.org/en-ligne-comprendre-bases-sur-les-reseaux.html#en_ligne-comprendre-bases_sur_les_reseaux-protocole_de_communication-protocole_ip&quot;&gt;adresse IP&lt;/a&gt; ou votre &lt;a href=&quot;https://guide.boum.org/en-ligne-comprendre-traces-sur-toute-la-ligne.html#en_ligne-comprendre-traces_sur_toute_la_ligne-serveur-les_en_tetes_http&quot;&gt;« agent utilisateur »&lt;/a&gt; (navigateur et &lt;a href=&quot;https://ssd.eff.org/fr/glossary/systeme-d-exploitation&quot;&gt;système d&#39;exploitation&lt;/a&gt;). Le serveur peut en outre lier les adresses IP de personnes qui collaborent souvent sur les mêmes documents. Bien sûr, nous n&#39;exécutons pas ces analyses pour notre instance phare, mais nous voulons que vous nous fassiez confiance le moins possible. Vous pouvez donc utiliser les outils et techniques suivants :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le &lt;a href=&quot;https://www.torproject.org/download/&quot;&gt;Navigateur Tor&lt;/a&gt; pour se connecter à CryptPad et cacher votre adresse IP.&lt;/li&gt;
&lt;li&gt;Un compte « jetable » qui n&#39;est utilisé que pour des actions spécifiques à haut risque, telles que le travail sur un petit ensemble de documents ou la publication d&#39;informations sensibles pour éviter la possibilité de lier les adresses IP des personnes collaboratrices.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tails.net/&quot;&gt;Tails&lt;/a&gt; pour ne laisser aucune trace sur votre appareil local.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;💡 Autres outils&lt;/h2&gt;
&lt;p&gt;CryptPad est conçu pour être une suite bureautique générale et facile à utiliser. En tant que tel, il se peut qu&#39;il ne réponde pas toujours à vos besoins spécifiques. Nous vous redirigons vers d&#39;autres outils et services qui ne sont pas affiliés à CryptPad pour les actions suivantes :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Un &lt;a href=&quot;https://guide.boum.org/en-ligne-outils-gerer-des-mots-de-passe.html#en_ligne-outils-gerer_des_mots_de_passe-utiliser_un_gestionnaire_de_mots_de_passe&quot;&gt;gestionnaire de mots de passe&lt;/a&gt; pour avoir le contrôle de vos mots de passe.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://securedrop.org/&quot;&gt;Secure Drop&lt;/a&gt; pour les lanceur·euses d&#39;alertes.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://signal.org/&quot;&gt;Signal&lt;/a&gt; pour une messagerie sécurisée en temps réel.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;📚 Références&lt;/h2&gt;
&lt;p&gt;À propos de CryptPad :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;La &lt;a href=&quot;https://docs.cryptpad.org/fr/user_guide/security.html&quot;&gt;section sécurité&lt;/a&gt; dans notre guide de l&#39;utilisateur·ice explique l&#39;utilisation des fonctionnalités de sécurité de CryptPad.&lt;/li&gt;
&lt;li&gt;La conférence &lt;a href=&quot;https://peertube.xwiki.com/w/jAP48FTXpi9CpJnb8SSVDh&quot;&gt;« Vivre à la périphérie avec CryptPad : confidentialité, calcul distribué et architectures de résilience »&lt;/a&gt; (en anglais) est une explication détaillée des concepts derrière CryptPad.&lt;/li&gt;
&lt;li&gt;Nous avons publié un &lt;a href=&quot;https://blog.cryptpad.org/2023/02/02/Whitepaper/&quot;&gt;livre blanc&lt;/a&gt; (en anglais) décrivant les mécanismes de sécurité et la cryptographie utilisés dans CryptPad. Ce document est destiné aux personnes qui sont déjà familières avec la cryptographie.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Plus général :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Le &lt;a href=&quot;https://guide.boum.org/pr%C3%A9face-%C3%A0-cette-%C3%A9dition.html&quot;&gt;Guide d&#39;Autodéfence Numérique&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Le &lt;a href=&quot;https://ssd.eff.org/fr/&quot;&gt;guide d&#39;autodéfense de surveillance&lt;/a&gt; par l&#39;Electronic Frontier Foundation (EFF)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🙋 Questions ?&lt;/h2&gt;
&lt;p&gt;Nous sommes heureux·ses de vous aider et de répondre à vos questions concernant ce billet de blog. Vous pouvez nous joindre sur &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;notre forum&lt;/a&gt;, &lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;Matrix&lt;/a&gt;, &lt;a href=&quot;https://fosstodon.org/@cryptpad&quot;&gt;Mastodon&lt;/a&gt;, ou par &lt;a href=&quot;mailto:contact@cryptpad.org&quot;&gt;e-mail&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🙏 Remerciements&lt;/h2&gt;
&lt;p&gt;Ce projet fait partie de &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;CryptPad Blueprints&lt;/a&gt;, qui est financé par le Fonds &lt;a href=&quot;https://nlnet.nl/entrust&quot;&gt;NGI0 Entrust&lt;/a&gt;, un fonds créé par &lt;a href=&quot;https://nlnet.nl/&quot;&gt;NLnet&lt;/a&gt; avec le soutien financier du programme &lt;a href=&quot;https://ngi.eu/&quot;&gt;Next Generation Internet&lt;/a&gt; de la Commission européenne, sous l&#39;égide de &lt;em&gt;DG Communications Networks, Content and Technology&lt;/em&gt;  dans le cadre de la convention de subvention n° 101069594.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="tutorials" scheme="https://blog.cryptpad.org/tags/tutorials/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="Blueprints" scheme="https://blog.cryptpad.org/tags/Blueprints/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
  </entry>
  <entry>
    <title>The Most Secure Way To Use CryptPad</title>
    <link href="https://blog.cryptpad.org/2024/03/14/Most-Secure-CryptPad-Usage/"/>
    <updated>2024-03-14T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/03/14/Most-Secure-CryptPad-Usage/</id>
    <summary xml:lang="en" type="html">We show you in which scenario CryptPad is secure, and give you ideas for concrete actions for a safe CryptPad usage.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/Paris_Pont_des_Arts_--_2014_--_1422.jpg&quot; alt=&quot;Love padlocks at the Pont des Arts, Paris, France (2014) &quot; /&gt;&lt;/p&gt;
&lt;p&gt;Photo Dietmar Rabich &lt;a href=&quot;https://commons.wikimedia.org/wiki/File:Paris,_Pont_des_Arts_--_2014_--_1422.jpg&quot;&gt;Wikimedia Commons CC-BY-SA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A &lt;a href=&quot;https://blog.cryptpad.org/2024/03/18/Pour-un-usage-securise-de-CryptPad/&quot;&gt;French translated version&lt;/a&gt; is also available.&lt;/p&gt;
&lt;p&gt;You&#39;re looking for a privacy-focused collaboration tool?
Well, you already found it!
But what does “privacy” in this context actually mean?
And how is it technically enforced?
Are there any additional precautions needed for an extra-safe usage of CryptPad?&lt;/p&gt;
&lt;p&gt;In this blog post we will answer these and other questions.
We will show you in which scenarios CryptPad is secure, and give you ideas for
concrete actions for using CryptPad safely.
While we do as much as possible to make CryptPad secure, its security also
depends on how you use it.&lt;/p&gt;
&lt;h2&gt;🧑‍🏫 Preliminaries&lt;/h2&gt;
&lt;h3&gt;🗺 Threat model&lt;/h3&gt;
&lt;p&gt;When speaking of security or privacy, we should always define the scenario we
are speaking of.
This scenario is the so-called &lt;a href=&quot;https://ssd.eff.org/glossary/threat-model&quot;&gt;&lt;em&gt;threat
model&lt;/em&gt;&lt;/a&gt; which defines the
&lt;a href=&quot;https://ssd.eff.org/glossary/capability&quot;&gt;adversarial capabilities&lt;/a&gt;.
In general, we aim to think of them to be as powerful as possible.
If we can defend against a strong
&lt;a href=&quot;https://ssd.eff.org/glossary/adversary&quot;&gt;adversary&lt;/a&gt;,
we can also defend against a weaker one.&lt;/p&gt;
&lt;p&gt;The first assumption about the adversarial capabilities follows directly from
CryptPad&#39;s architecture.
CryptPad is a web application: you visit the website of your
&lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/instances.html&quot;&gt;instance&lt;/a&gt; (e.g.,
&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://cryptpad.fr&lt;/a&gt;) and automatically download the client code that will be
executed locally on your computer.
If you receive bogus code from this server, you cannot establish any security,
as this bogus code may, as an example, send all your documents in plaintext to
the server.
Hence, you must trust the server to not run any &lt;em&gt;active&lt;/em&gt;
&lt;a href=&quot;https://ssd.eff.org/glossary/attack&quot;&gt;attacks&lt;/a&gt; (i.e., not to run
a modified CryptPad server software).&lt;/p&gt;
&lt;p&gt;We nevertheless defend against an &lt;em&gt;honest-but-curious&lt;/em&gt; (i.e., passive) server.
The second assumption is thus that the server plays according to the rules, but
could try to infer sensitive information by analyzing all the data it receives.
This scenario includes the possibility that a third-party gets access to the
server and can see all data and logs.
CryptPad has already defended against such an adversary in the past when &lt;a href=&quot;https://newsrnd.com/tech/2022-06-24-data-confiscated-from-pirate-party-servers.SJxeH5I79q.html&quot;&gt;a
third-party instance was seized by the
police&lt;/a&gt;.
We therefore consider this scenario to be highly realistic.&lt;/p&gt;
&lt;p&gt;Lastly, we assume the attackers to have network capability.
This would be the case for the system administrator managing the network
in your office, your &lt;a href=&quot;https://en.wikipedia.org/wiki/Internet_service_provider&quot;&gt;internet service
provider&lt;/a&gt;, or secret
services as well as many others.
The attackers may even use active network capabilities, that is they can sniff
your web traffic, and also replay, drop or modify data sent over the network.&lt;/p&gt;
&lt;!-- ### 🔎 Security and Privacy --&gt;
&lt;!-- The notions of _security_ and _privacy_ are often mixed, however they do not --&gt;
&lt;!-- refer to the same concept. --&gt;
&lt;!-- In the context of CryptPad, the two notions can be differentiated as follows: --&gt;
&lt;!-- * **Security:** An adversary cannot read or modify your documents, your --&gt;
&lt;!--   messages, or the teams your belonging to. --&gt;
&lt;!-- * **Privacy:** An adversary cannot link your activity to other profiles, your --&gt;
&lt;!--   name or to any of your sensitive data. --&gt;
&lt;!-- CryptPad aims to give you both. --&gt;
&lt;!-- However, as any other website you&#39;re visiting, the server can see your --&gt;
&lt;!-- [IP address](https://ssd.eff.org/glossary/ip-address) and your [&quot;user --&gt;
&lt;!-- agent&quot;](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent) --&gt;
&lt;!-- (browser and [operating system](https://ssd.eff.org/glossary/operating-system)). --&gt;
&lt;h3&gt;🔑 Cryptography&lt;/h3&gt;
&lt;p&gt;One of the key features of CryptPad is &lt;a href=&quot;https://ssd.eff.org/glossary/end-to-end-encryption&quot;&gt;end-to-end
encryption&lt;/a&gt;. Let us give you
a rough idea of what encryption and authentication are. There are three main
building blocks:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Symmetric Encryption&lt;/strong&gt; (or secret key encryption) works similar to a box
with a lock: We can put something into the box and lock the box by key
(encryption).
Only someone with the key can unlock the box and access the content
(decryption) and modify it.
Since the same key is used to lock and unlock the box, this scheme is dubbed
&lt;em&gt;symmetric&lt;/em&gt;.
We can further make copies of the key and distribute it to people whom we
trust, so that they can all lock and unlock the box.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Asymmetric Encryption&lt;/strong&gt; (or public key encryption: PKE for short) differs
from symmetric encryption in that a different key is used for encryption
(namely, the &lt;em&gt;public key&lt;/em&gt;) and decryption (the &lt;em&gt;private key&lt;/em&gt;).
You can imagine asymmetric encryption as the following system: you distribute
open locks (the public encryption key) to everyone and keep the (secret
decryption) key to yourself. Then, if someone wants to send you a message,
they put it in a box and close a lock on it.
Thus, only you can open it while anyone can produce a locked box for you.&lt;p&gt;&lt;img alt=&quot;Box with a lock&quot; src=&quot;https://blog.cryptpad.org/images/unsplash-lock_on_a_box.jpg&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Digital Signatures&lt;/strong&gt; are closely related to physical seals: Only the
persons in possession of the seal (which we call the &lt;em&gt;signing key&lt;/em&gt;) can sign,
but all other people can verify the authenticity of a document using the
public &lt;em&gt;verification key&lt;/em&gt; of the emitter.
In addition, digital signatures also guarantee that no one is able to modify
the sealed content without readers noticing it. A property that regular
seals don’t enjoy.&lt;br /&gt;
Note that there is a symmetric variant of this primitive called &lt;a href=&quot;https://en.wikipedia.org/wiki/Message_authentication_code&quot;&gt;&lt;em&gt;message
authentication
code&lt;/em&gt;&lt;/a&gt;. However,
it is rarely used as an independent building block and is jointly used with
symmetric encryption to achieve &lt;a href=&quot;https://en.wikipedia.org/wiki/Authenticated_encryption&quot;&gt;authenticated
encryption&lt;/a&gt;, that
further guarantees that messages are not tampered. As we exclusively use
authenticated encryption in CryptPad, we usually use “symmetric encryption”
instead in the explanations for simplicity, but actual guarantees are
stronger.&lt;p&gt;&lt;img alt=&quot;Physical seal&quot; src=&quot;https://blog.cryptpad.org/images/unsplash-sealed_letter.jpg&quot; /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For CryptPad, we combine all of these building blocks to achieve different
goals. We will explain the usage below in the section pertaining to Documents.&lt;/p&gt;
&lt;h2&gt;🧗 The Basics&lt;/h2&gt;
&lt;p&gt;We outline some basic measurements that allow you to significantly increase the
security of your CryptPad usage:&lt;/p&gt;
&lt;!-- ensure that you are using an instance that is up-to-date
  ie. compare against https://github.com/xwiki-labs/cryptpad
  https://cryptpad.org/instances/ only lists third-party hosts that
  have updated in a reasonable amount of time
--&gt;
&lt;ul&gt;
&lt;li&gt;CryptPad is &lt;a href=&quot;https://ssd.eff.org/glossary/open-source-software&quot;&gt;open source&lt;/a&gt;
software and as such there are &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;various
instances&lt;/a&gt; running it. While we host the
&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;flagship instance&lt;/a&gt; you might choose a different one
depending on the jurisdiction for instance.&lt;/li&gt;
&lt;li&gt;Ensure that you are connecting to the chosen CryptPad instance over
&lt;a href=&quot;https://ssd.eff.org/module/what-should-i-know-about-encryption#transport-layer-encryption-example-https&quot;&gt;HTTPS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;All security mechanisms are only as strong as your password is.
If your password is easily guessable, attackers can get full access to all your
data stored on CryptPad.
We recommend you to either generate a random password using a &lt;a href=&quot;https://ssd.eff.org/module/animated-overview-using-password-managers-stay-safe-online&quot;&gt;password
manager&lt;/a&gt; or to &lt;a href=&quot;https://www.eff.org/dice&quot;&gt;choose
multiple words&lt;/a&gt; in case the password needs to be
memorizable.
Use this password only for CryptPad to avoid other services leaking it.&lt;/li&gt;
&lt;li&gt;Log out of CryptPad after each session to require the password to
access your data on CryptPad. Otherwise, anybody with access to your device
can also access your data on CryptPad.&lt;/li&gt;
&lt;li&gt;Use &lt;a href=&quot;https://ssd.eff.org/glossary/two-factor-authentication&quot;&gt;two-factor
authentication&lt;/a&gt; in
your account to add protection against phishing by adding a temporal factor to
your login.
&lt;a href=&quot;https://blog.cryptpad.org/2024/01/09/tutorial-two-factor-authentication/&quot;&gt;A user guide&lt;/a&gt; is available
in this blog.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🧑 Contacts&lt;/h2&gt;
&lt;p&gt;As we will show below, adding your peers as CryptPad contacts lets you more
easily and safely share documents.
You can moreover restrict access to a document to specific contacts and exchange
text messages with them.&lt;/p&gt;
&lt;p&gt;The easiest way to add someone to your contacts is to &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/collaboration.html#add-a-contact&quot;&gt;share the link to your
profile&lt;/a&gt;
over a secure communication to your peer and request to add each other as
contacts.&lt;/p&gt;
&lt;p&gt;⚠️ Note that usernames are not unique on CryptPad.
Depending on context, it may be wise to verify a received contact request
through another secure channel.&lt;/p&gt;
&lt;h2&gt;📄 Documents&lt;/h2&gt;
&lt;p&gt;CryptPad uses symmetric encryption with a per-document secret key to make
your documents unreadable for anyone who has no access to their corresponding
keys. CryptPad also allows you to differentiate between read-only and write
accesses to a document. For that, anyone wanting to modify a document needs to
prove that they own the private signing key linked to the document. For this,
they sign their modifications and other people working on the same document can
verify that the modification was indeed done by an authorized person before
accepting the changes.&lt;/p&gt;
&lt;h3&gt;♻ Sharing&lt;/h3&gt;
&lt;p&gt;CryptPad keeps these technical details “under the hood” and provides a simple
interface to &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/share_and_access.html#sharing-a-link&quot;&gt;share
documents&lt;/a&gt;
via links. Such a link essentially contains the symmetric key for encryption and
decryption, for verifying signatures as well as the one for issuing signatures
(in case of read/write access) in a &lt;strong&gt;non-revokable manner&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Share via link&quot; style=&quot;border-radius: 10px&quot; src=&quot;https://blog.cryptpad.org/images/docs-modal-share-link.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;⚠️ This implies that the document is only as safe as the &lt;strong&gt;weakest&lt;/strong&gt;
communication channel used to send these links.&lt;/p&gt;
&lt;!-- maybe worth giving an example of a channel here --&gt;
&lt;p&gt;If you consider a channel to be unsafe, or if it is publicly accessible, you
may want to isolate some of your documents from it. For instance, you can limit
the sending of edit links to &lt;a href=&quot;https://signal.org/&quot;&gt;Signal&lt;/a&gt; chats with
disappearing messages.&lt;/p&gt;
&lt;!-- I&#39;m not sure we ever refer to the mailbox system in public documents, so maybe we can find another term to express this rather than the internal name
Fabrice: Agreed --&gt;
&lt;p&gt;Another possibility to safely share the access is to &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/share_and_access.html#sharing-with-contacts&quot;&gt;send it over CryptPad to your
contacts&lt;/a&gt;.
It internally uses the
&lt;a href=&quot;https://docs.cryptpad.org/en/dev_guide/general.html#encryption&quot;&gt;“mailbox”&lt;/a&gt;
system for internal communications, without the CryptPad server knowing better.
This way, you do not have to use a secondary (potentially insecure) communication
channel.&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Share with contacts&quot; style=&quot;border-radius: 10px&quot; src=&quot;https://blog.cryptpad.org/images/docs-modal-share-contacts.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;⚠️ Note that CryptPad documents contain the full edit history by design. It is
easily accessible to anyone from the &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/apps/general.html#document-history&quot;&gt;user
interface&lt;/a&gt;.
If you made a manipulation error, such at past some text you didn’t want to
share, while producing the document &lt;strong&gt;before&lt;/strong&gt; sharing it, we recommend that you
copy-paste the version you want to share for collaboration in a new pad before
sending it to sanitize the history (it also helps to track changes afterward).&lt;/p&gt;
&lt;h3&gt;⛔ Restricting Access&lt;/h3&gt;
&lt;p&gt;As CryptPad operates with static keys, granted shared accesses are not revokable.
This means that by default anyone who was granted access will forever be able to
read (and modify) a document.
To prevent this, you can shut down access to a document using the
&lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/share_and_access.html#access-list&quot;&gt;Access
List&lt;/a&gt;
feature.&lt;/p&gt;
&lt;p&gt;
&lt;img alt=&quot;Access List&quot; style=&quot;border-radius: 10px&quot; src=&quot;https://blog.cryptpad.org/images/docs-modal-access-list.png&quot; /&gt;
&lt;/p&gt;
&lt;p&gt;This way, only the selected persons have access to the document, independently
of who has received the sharing link.&lt;/p&gt;
&lt;p&gt;Also make sure you or your &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/collaboration.html#teams&quot;&gt;team&lt;/a&gt;
is set as “owner” when you create documents.
This will give you full control including the possibility to destroy a document
if it contains sensitive information or the link escapes your control.&lt;/p&gt;
&lt;h3&gt;🔒 Per-Document Passwords&lt;/h3&gt;
&lt;p&gt;For additional safety, you can &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/share_and_access.html#access-tab&quot;&gt;protect a document with a
password&lt;/a&gt;.
The document is then only available if you have both, the sharing link and the
password.
This is especially useful for the case where you do not have a secure
communication channel to share the link, as you can send the link and the
password over two &lt;em&gt;distinct&lt;/em&gt; channels (e.g., text messaging and email).
This way, the attacker has to monitor on both channels at the same time which
makes it a lot more difficult.&lt;/p&gt;
&lt;!-- maybe &quot;listen&quot; or &quot;monitor&quot; would be clearer than &quot;sniff&quot; ? --&gt;
&lt;!-- agreed --&gt;
&lt;!-- a diagram of this might be nice... like how David&#39;s shredder-unshredder image shows things being unreadable in transit, we could show two independent but readable things being combined? --&gt;
&lt;p&gt;When you share documents with your contacts directly on CryptPad, communications
are encrypted, and we assume that you want to give them access.
Therefore, the password is remembered and sent with the document when you share
it.
The recipient, or yourself, are not asked for it when opening the document.
This implicitly assumes that the security of CryptPad drive is at least as
strong as the communication channels used to share the document.&lt;/p&gt;
&lt;h3&gt;💨 Self-Destruction&lt;/h3&gt;
&lt;p&gt;CryptPad allows you to make &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/security.html#self-destructing-documents&quot;&gt;self-destructing
documents&lt;/a&gt;
which will be destroyed either after the set expiration time or after the shared
document was opened the first time.&lt;/p&gt;
&lt;p&gt;This feature is especially useful if you have to share sensitive data that
should not be accessible forever.
You could use it to share a password to a peer for example.&lt;/p&gt;
&lt;h2&gt;🕵️ Anonymity&lt;/h2&gt;
&lt;!-- it should be noted who this is hidden from. Peers in the same document can&#39;t determine that you&#39;re using Firefox/Safari, but the server can --&gt;
&lt;p&gt;CryptPad only provides a weak form of anonymity and does not hide your
&lt;a href=&quot;https://ssd.eff.org/glossary/ip-address&quot;&gt;IP address&lt;/a&gt; or your &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent&quot;&gt;“user
agent”&lt;/a&gt;
(browser and &lt;a href=&quot;https://ssd.eff.org/glossary/operating-system&quot;&gt;operating system&lt;/a&gt;).
The server can furthermore theoretically link IP addresses of people who are often collaborating on the same documents.
Of course, we do not run these analytics for our flagship instance, but we want
you to have to trust us as little as possible.
You may want therefore use the following tools and techniques:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://www.torproject.org/download/&quot;&gt;Tor browser&lt;/a&gt; to connect to
CryptPad and hide your IP address.&lt;/li&gt;
&lt;li&gt;A burner account that is only used for specific high-risk actions such as
working on a small set of documents or publishing sensitive information to
prevent the possibility of linking IP addresses of collaborating people.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tails.boum.org/&quot;&gt;Tails&lt;/a&gt; for leaving no traces on your local device.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;💡 Other Tools&lt;/h2&gt;
&lt;p&gt;CryptPad is designed to be a general, easy-to-use office suite.
As such it may not always fit your specific needs.
We redirect you to other tools and services that are not affiliated to CryptPad
for the following actions:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A &lt;a href=&quot;https://ssd.eff.org/module/animated-overview-using-password-managers-stay-safe-online&quot;&gt;password
manager&lt;/a&gt;
to have control over your passwords.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://securedrop.org/&quot;&gt;Secure Drop&lt;/a&gt; for whistleblowing.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://signal.org/&quot;&gt;Signal&lt;/a&gt; for secure real-time messaging.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;📚 References&lt;/h2&gt;
&lt;p&gt;About CryptPad:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/security.html&quot;&gt;security section&lt;/a&gt;
in our user guide explains the use of CryptPad&#39;s security features.&lt;/li&gt;
&lt;li&gt;The talk &lt;a href=&quot;https://peertube.xwiki.com/w/jAP48FTXpi9CpJnb8SSVDh&quot;&gt;“Living on the Edge with CryptPad: privacy, distributed
computation, and architectures of
resilience”&lt;/a&gt; is an
extended explanation about the concepts behind CryptPad.&lt;/li&gt;
&lt;li&gt;We have published a &lt;a href=&quot;https://blog.cryptpad.org/2023/02/02/Whitepaper/&quot;&gt;white paper&lt;/a&gt;
describing the security mechanisms and the cryptography used in CryptPad. This
document is intended for people who are already familiar with cryptography.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;More general:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The &lt;a href=&quot;https://ssd.eff.org/&quot;&gt;surveillance self-defense guide&lt;/a&gt; by the Electronic
Frontier Foundation (EFF)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🙋 Questions?&lt;/h2&gt;
&lt;p&gt;We are happy to help you and answer your questions regarding this blog post.
You can reach us on &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;our forum&lt;/a&gt;,
&lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;Matrix&lt;/a&gt;,
&lt;a href=&quot;https://fosstodon.org/@cryptpad&quot;&gt;Mastodon&lt;/a&gt;, or
&lt;a href=&quot;mailto:contact@cryptpad.fr&quot;&gt;Email&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🙏 Acknowledgements&lt;/h2&gt;
&lt;p&gt;This project is part of &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;CryptPad
Blueprints&lt;/a&gt;, which is funded
through the &lt;a href=&quot;https://nlnet.nl/entrust&quot;&gt;NGI0 Entrust&lt;/a&gt; Fund, a fund established by
&lt;a href=&quot;https://nlnet.nl/&quot;&gt;NLnet&lt;/a&gt; with financial support from the European Commission&#39;s
&lt;a href=&quot;https://ngi.eu/&quot;&gt;Next Generation Internet&lt;/a&gt; program, under the aegis of DG
Communications Networks, Content and Technology under grant agreement
N° 101069594.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="tutorials" scheme="https://blog.cryptpad.org/tags/tutorials/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="Blueprints" scheme="https://blog.cryptpad.org/tags/Blueprints/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
  </entry>
  <entry>
    <title>CryptPad Funding Status January 2024</title>
    <link href="https://blog.cryptpad.org/2024/03/08/CryptPad-Funding-Status-January-2024/"/>
    <updated>2024-03-08T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/03/08/CryptPad-Funding-Status-January-2024/</id>
    <summary xml:lang="en" type="html">A summary of our budget for the year 2023 and planning for 2024</summary>
    <content xml:lang="en" type="html">&lt;p&gt;With the start of the new year it is time for another update on the funding of the CryptPad project. A lot has happened since &lt;a href=&quot;https://blog.cryptpad.org/2023/02/09/CryptPad-Funding-Status-January-2023/&quot;&gt;this time last year&lt;/a&gt;, so we are coming back with more information on how the project is going.&lt;/p&gt;
&lt;h2&gt;Expectations for 2023&lt;/h2&gt;
&lt;p&gt;Last year we gave three possible evolution for the 2023 revenue compare to the 2022 budget depending on the funding we would have been able to secure:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total Revenue (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total Costs (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Balance (KEuros)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;257,2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;307&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-49,8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Safe&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;505&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;495&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Mid Level&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;685&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;630&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;55&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Dream&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;905&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;835&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;70&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2023-budget-chart-possible.png&quot; alt=&quot;bar chart comparing the figures in the table above&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This all depended on the evolution of two large projects. One being the German State project, &amp;quot;Sovereign Workplace Project&amp;quot; in which CryptPad is participating and the French &amp;quot;Sovereign Collaborative Cloud&amp;quot; project which we expected to sign at the beginning of the year. We know that in any case we believe we would be able to grow the team.&lt;/p&gt;
&lt;h2&gt;What happened in 2023&lt;/h2&gt;
&lt;p&gt;What actually happened is that the &amp;quot;Sovereign Workplace project&amp;quot; went as planned, keeping us quite busy during the year, with the release of the Diagram application and a lot of work on accessibility and security. On the French project side, we started later than planned with the different project starting around the mid-year, reducing a little the budget for 2023. Now these projects have started and we are actively working on them.&lt;/p&gt;
&lt;p&gt;Also in October we were happy to hire Fabrice Mouhartem, a Cryptography Engineer who qualifies for the young PhD status, allowing us to have 2 years of funding from the French state under the CIR Young PhD program.&lt;/p&gt;
&lt;p&gt;From a financial point of view here are the financial resources we have been able to count on for 2023:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Subscriptions (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Donations (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Research Projects (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Client Roadmap Funding (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Other Client Revenue (Cloud / Support) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Crédit Impôt Recherche Tax Cut (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Extra Crédit Impôt Recherche (PHD) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total (KEuros)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;46,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12,7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;58&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;257&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Safe&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;505&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Mid Level&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;685&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Dream&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;300&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;300&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;150&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;70&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;905&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Real 2023&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;54,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25,7 + 12k Exceptional revenue (*)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;216&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;223&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;48&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25.5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;614.7&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Some donations received in bitcoin have increased value during 2023. We sold them now and retrieved them from bitcoin exchanges with a win of 12k.&lt;/p&gt;
&lt;p&gt;As you can see this is slightly lower than the &amp;quot;mid level&amp;quot; we expected from 2023. This is due to the research project starting later than planned. This is however more than doubling our budget from 2022 which allowed us to increase the size of the team during the year.&lt;/p&gt;
&lt;p&gt;On the spending side:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Number of Employees (Full-time Equivalent) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Team Salaries (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Other costs (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Hosting Costs (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Other Client Revenue (Cloud / Support) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Crédit Impôt Recherche Tax Cut (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Extra Crédit Impôt Recherche (PHD) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total (KEuros)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;272&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;58&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;257&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;505&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Mid Level&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7-8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;550&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;80&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;685&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Dream&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8+&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;750&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;150&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;70&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;905&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Real 2023&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;528&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;101&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;48&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25.5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;614.7&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h1&gt;2023 Financial Status&lt;/h1&gt;
&lt;p&gt;From the financial point of view the year of 2023, after doubling the size of the team and our spending, the budget has a small negative of &lt;strong&gt;-15K&lt;/strong&gt;. Also we haven&#39;t recovered the negative &lt;strong&gt;€50k of 2022&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;In 2023 we wanted to start selling CryptPad support or cloud services to organizations, and on this part we are running later than planned, although interest has been picking up in this area in the last few weeks. We have had delays to deliver an automated Cloud service and also SSO features which are necessary to propose CryptPad to companies. Also while we have a little increase in subscriptions for &amp;quot;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;&amp;quot; and donations (around 35% from 2022), these &lt;strong&gt;represent only 13% of our revenue&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;This makes us increasingly dependent from research projects and client roadmap funding, as you can see below with the 2024 budget. This has a tendency to direct our roadmap to more complex work which is not always the one that is the most requested by our individual users. This is also risky on the longer term as we risk not being able to maintain the same team size on CryptPad if we don&#39;t find more projects or funding.&lt;/p&gt;
&lt;p&gt;While we hope to be able to create recurrent revenue with enterprise clients in 2024,  &lt;strong&gt;you can help make CryptPad more sustainable&lt;/strong&gt; by helping us increase subscriptions and donations. To subscribe to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, visit &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;https://cryptpad.fr/accounts/&lt;/a&gt; and to donate on Open Collective visit &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;https://opencollective.com/cryptpad&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2024-budget-chart.png&quot; alt=&quot;bart chart of the evolution of the CryptPad budget from 2019 to 2023&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;What did we do in 2023 with our funding&lt;/h2&gt;
&lt;p&gt;You can find all the statuses of the Year 2023 on our blog in the status-update section:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.cryptpad.org/tags/status-update/&quot;&gt;https://blog.cryptpad.org/tags/status-update/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In particular in 2023 we have worked on the following:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;We almost finished the work on the NLNet BluePrints project funded by NGI Entrust, publishing the security white paper of CryptPad: &lt;a href=&quot;https://blog.cryptpad.org/2023/02/02/Whitepaper/&quot;&gt;https://blog.cryptpad.org/2023/02/02/Whitepaper/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;We delivered a new Diagram application based on &lt;a href=&quot;http://draw.io/&quot;&gt;draw.io&lt;/a&gt;: &lt;a href=&quot;https://blog.cryptpad.org/2023/08/18/status-2023-summer-02/&quot;&gt;https://blog.cryptpad.org/2023/08/18/status-2023-summer-02/&lt;/a&gt;, funded by the Sovereign Workplace Project from the German Government. Through this project we have also delivered a NextCloud integration: &lt;a href=&quot;https://blog.cryptpad.org/2023/12/01/status-2023-11/&quot;&gt;https://blog.cryptpad.org/2023/12/01/status-2023-11/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;As part also of the German Government project, there has been a lot of work on security and accessibility. Since this summer we have fixed many accessibility issues &lt;a href=&quot;https://github.com/cryptpad/cryptpad/issues?q=label%3AAccessibility+is%3Aclosed+&quot;&gt;https://github.com/cryptpad/cryptpad/issues?q=label%3AAccessibility+is%3Aclosed&lt;/a&gt; and also setup accessibility tests and more general integration tests.&lt;/li&gt;
&lt;li&gt;We also worked on 2FA and SSO as part of the NLNet CryptPad Auth project funded by the NGI Assure program. This allowed is to deliver the CryptPad SSO plugin &lt;a href=&quot;https://github.com/cryptpad/sso&quot;&gt;https://github.com/cryptpad/sso&lt;/a&gt; and also the 2FA functionality available since 5.4.0 this summer.&lt;/li&gt;
&lt;li&gt;There has been also many bug fixes and improvements, with more than 1296 commits in the core repository but also other repositories such as sso, nextcloud-open-in-cryptpad, helm and our onlyoffice repositories: &lt;a href=&quot;https://github.com/cryptpad/&quot;&gt;https://github.com/cryptpad/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;2024 Funding &amp;amp; Budget&lt;/h2&gt;
&lt;p&gt;Last year, we were waiting for the finalization of the French BPI projects which were finally signed in the mid-year. XWiki SAS has been happy to be part of the three projects selected (&lt;a href=&quot;https://xwiki.com/en/Blog/France-2030-funding-XWiki-and-CryptPad/&quot;&gt;https://xwiki.com/en/Blog/France-2030-funding-XWiki-and-CryptPad/)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Thanks to these projects we have funding for the next 3 years for the CryptPad project which allows to have a basis for the team, however we also have a lot of engagement of things to work on. The funding is very much directed towards the integration APIs and the OnlyOffice integration in the project.&lt;/p&gt;
&lt;p&gt;Also CryptPad was selected to join the German &amp;quot;Sovereign Workplace&amp;quot; project, now called openDesk (&lt;a href=&quot;https://xwiki.com/en/Blog/XWiki-joins-OpenDesk/&quot;&gt;https://xwiki.com/en/Blog/XWiki-joins-OpenDesk/)&lt;/a&gt;. During 2023 we have received significant funding, in particular for the Diagram application, the NextCloud integration, but also security and accessibility. For 2024, however we don&#39;t know if we&#39;ll get funding. The project is currently more in deployment mode and also in transition to the ZenDis organization (Zentrum Digitale Soveränität).&lt;/p&gt;
&lt;p&gt;We also hope to be able to receive more funding through the &amp;quot;CryptPad Cloud&amp;quot; offer and also through CryptPad support contracts. If you are a company, education institution or any organization and wish to run your own CryptPad instance, check our cloud offering and also our support offering at &lt;a href=&quot;https://cryptpad.org/use-case/enterprise/&quot;&gt;https://cryptpad.org/use-case/enterprise/&lt;/a&gt;. Subscribing to these offers will help the CryptPad project improve.&lt;/p&gt;
&lt;h1&gt;Expected funding for 2024&lt;/h1&gt;
&lt;p&gt;You can see in this table the details of the funding of the CryptPad project we expect for 2024:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Subscriptions (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Donations (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Research Projects (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Client Roadmap Funding (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Other Client Revenue (Cloud / Support) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Crédit Impôt Recherche Tax Cut (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Extra Crédit Impôt Recherche (PHD) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total (KEuros)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;46,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12,7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;58&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;257&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2023&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;54,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25,7 + 12k Exceptional revenue (*)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;216&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;223&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;48&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25.5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;614.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2024 (Expected)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;65&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;30&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;293&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50 to 150&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 to 100&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;24&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;101&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;513 to 763&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We have guaranteed funding from the French BPI project for 2024, regular subscriptions and donations and also CIR Tax cuts. This brings us 513k of guaranteed revenue. We can then expect from 50 to 150k of funding of our roadmap from the Sovereign Workplace project and from 0 to 100k of client revenue for CryptPad Cloud and Support.&lt;/p&gt;
&lt;p&gt;On the spending side we expect the following:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Number of Employees (Full-time Equivalent) (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Team Salaries incl. cost increase (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Other costs (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Extra hires (KEuros)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;272&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2023&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;528&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;101&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2024 (Expected)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8 to 9&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;523&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;80&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;50 to 100k&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;We would like to hire during 2024 as we also see new contracts coming in.&lt;/p&gt;
&lt;p&gt;And the following balance:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total Revenue (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Total Costs (KEuros)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Balance (KEuros)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2019&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;153,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;160&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-6,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2020&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;236,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;242&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-5,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2021&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;267&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;254&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;257,2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;307&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;-49,8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2023&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;614.7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;614&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0.7&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2024 (Expected)&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;563 to 763&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;603 to 703&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;+40 to  +100&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h2&gt;What does it mean for CryptPad&lt;/h2&gt;
&lt;p&gt;Last year we have hired in order to prepare for larger projects. We doubled the team&#39;s size, hiring 5 people of which one did not stay. While we have not fully balanced the budget we have made the right choice, as 2024 is now looking good and we are already balancing the budget. This is thanks to the long 4 year French BPI project which gives us visibility. We also hope that thanks to the German Sovereign Workplace project and also new sales on CryptPad Cloud and also support contracts we can increase this budget and continue to hire.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This also means we will hope to have new hires during the year. If the CryptPad project is something that matters to you, contact us. We don&#39;t yet have job posting up at  &lt;a href=&quot;https://cryptpad.org/jobs/&quot;&gt;https://cryptpad.org/jobs/&lt;/a&gt; but check our fediverse account for news on this during the year.&lt;/strong&gt;&lt;/p&gt;
&lt;h3&gt;You can also help CryptPad grow faster and be more sustainable&lt;/h3&gt;
&lt;p&gt;On the cash flow side, XWiki SAS has also done good sales and is able to cover the short term needs, though given the growth of both XWiki and CryptPad, we do expect that it won&#39;t be easy to hire as fast as we would like. This is why, although we do have projects coming up, the help of our community is more than welcome.&lt;/p&gt;
&lt;p&gt;Beyond the need of cash to hire faster, it is still important to bring additional, independent funding to CryptPad through &lt;strong&gt;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;subscriptions&lt;/a&gt; or through regular (monthly or yearly) &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations&lt;/a&gt; or through &lt;a href=&quot;https://cryptpad.org/pricing/enterprise/&quot;&gt;enterprise clients&lt;/a&gt;&lt;/strong&gt;, as this would increase recurrent revenue which is needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For CryptPad to be less dependent on short or medium term projects, the recurrent funding for the maintenance of the core software is &lt;strong&gt;essential.&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our users, paying users and donors are our credibility. When we discuss with potential customers or project partners, each user is key, each instance being installed, each pad being opened, each mention of CryptPad. You are our credibility.&lt;/p&gt;
&lt;p&gt;We&#39;d like to thank all of you and encourage anyone to join them on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; or &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;opencollective&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you want to know more about how at XWiki SAS we area approaching the financing of Free and Open Source software you can watch the FOSDEM presentation that I did this year: &lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1830-20-years-of-open-source-building-xwiki-and-cryptpad/&quot;&gt;https://fosdem.org/2024/schedule/event/fosdem-2024-1830-20-years-of-open-source-building-xwiki-and-cryptpad/&lt;/a&gt;. It includes a lot of information about XWiki but also financial information about CryptPad. This can give you a better overview of the challlenge but also pleasure of building a company contribution Free and Open Source software.&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
  </entry>
  <entry>
    <title>February 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/03/07/status-2024-02/"/>
    <updated>2024-03-07T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/03/07/status-2024-02/</id>
    <summary xml:lang="en" type="html">5.7 Documentation, Le Monde using CryptPad, FOSDEM recap, Post-mortems for recent CryptPad.fr outages</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This status post is a bit late, to make up for it we are treating you to a larger-than-usual serving of news and content.&lt;/p&gt;
&lt;h3&gt;📚 5.7 Documentation with a new accessibility section&lt;/h3&gt;
&lt;p&gt;We have updated our documentation to &lt;a href=&quot;https://docs.cryptpad.org/&quot;&gt;version 5.7&lt;/a&gt;. Alongside documenting new features we are introducing a &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/accessibility.html&quot;&gt;new accessibility section&lt;/a&gt;. The first thing in this section is a list of channels to provide accessibility feedback including a &lt;a href=&quot;https://matrix.to/#/#cryptpad-accessibility:matrix.xwiki.com&quot;&gt;new dedicated chat room&lt;/a&gt; in our &lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;Matrix space&lt;/a&gt;, and a dedicated email address. We plan to expand this in future, for example with a thorough list of keyboard shortcuts and navigation.&lt;/p&gt;
&lt;h3&gt;📰 Le Monde is using CryptPad again&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/lemonde-youtube-thumbnail.png&quot; alt=&quot;Video thumbnail with title in french &amp;quot;C&#39;est la faute des riches?&amp;quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are delighted to see CryptPad used once again by French newspaper Le Monde. This time sharing the &lt;a href=&quot;https://cryptpad.fr/pad/#/2/pad/view/y7CGhVOTkDMwbIUEA0W-bqTl9qbXnCPkGiTdgZWqebw/&quot;&gt;list of references&lt;/a&gt; behind a &lt;a href=&quot;https://www.youtube.com/watch?v=JQDRb7jE9qQ&quot;&gt;video analysing the disproportionate contribution of rich people to climate change&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;📢 FOSDEM&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/tshirst_cryptpad_xwiki.jpg&quot; alt=&quot;photo of two people wearing a CryptPad and XWiki t-shirts next to each other&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As stated in the previous status report, CryptPad was present at &lt;a href=&quot;https://fosdem.org/&quot;&gt;FOSDEM&lt;/a&gt; along with XWiki.
It is the biggest free and open-source European event, where communities of different projects can meet, exchange ideas and collaborate.&lt;/p&gt;
&lt;p&gt;CryptPad was present in multiple forms, first with presentations, which recorded videos are available in the following links:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Fabrice presented “&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3126-securely-collaborate-with-cryptpad/&quot;&gt;Securely collaborate with CryptPad&lt;/a&gt;”;&lt;/li&gt;
&lt;li&gt;Clément and Wieland presented “&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3274-opendesk-the-open-source-collaborative-suite/&quot;&gt;openDesk - The Open Source collaborative suite&lt;/a&gt;“&lt;/li&gt;
&lt;li&gt;Ludovic, our CEO shared his experience in “&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1830-20-years-of-open-source-building-xwiki-and-cryptpad/&quot;&gt;20 Years of Open Source building XWiki and CryptPad&lt;/a&gt;”&lt;/li&gt;
&lt;/ul&gt;
&lt;!-- - “[Cristal: a new Wiki UI to rule them all](https://fosdem.org/2024/schedule/event/fosdem-2024-1831-cristal-a-new-wiki-ui-to-rule-them-all/)” (?) --&gt;
&lt;p&gt;In a more relaxed fashion, XWiki and CryptPad organized a &lt;a href=&quot;https://xwiki.com/en/Blog/XWiki-and-CryptPad-FOSDEM-meetup/&quot;&gt;community meetup&lt;/a&gt; with their team on Saturday night, where we exchanged with the community more casually.&lt;/p&gt;
&lt;p&gt;All in all we were very glad to exchange with the community during this event and we hope to see you again in future events!&lt;/p&gt;
&lt;h3&gt;🤕 Post-mortems for recent &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; outages&lt;/h3&gt;
&lt;p&gt;Users of our flagship instance &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; may have noticed some unexpected downtime in the last couple of months. There are 4 recent outages that we&#39;d like to provide some information about, including steps that we are taking to prevent these issues from happening again. Sorry the details below get quite technical, that can&#39;t really be avoided if we want to provide a transparent account of these incidents.&lt;/p&gt;
&lt;p&gt;For context, we started migrating &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; user data to a new storage back-end system in October 2023. This was a long process where we needed to synchronize more than 4,5 TB of data from our old inefficient file-system to a new one based on BTRFS. The final step of this migration to the new storage system took place on December 13th, 2023 (all dates and times are CET). Some time later we ran into issues:&lt;/p&gt;
&lt;h4&gt;Friday January 12th 2024, 16:00&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;No log-in for accounts with &lt;a href=&quot;https://blog.cryptpad.org/2024/01/09/tutorial-two-factor-authentication/&quot;&gt;two-factor authentication&lt;/a&gt; (2FA) enabled&lt;/li&gt;
&lt;li&gt;No access to uploaded static files (blobs: images, PDFs, etc) and no upload of new files&lt;/li&gt;
&lt;li&gt;Spreadsheet documents opening as blank documents&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Due to human error, blobs weren&#39;t served anymore by the Nginx web server. The running user was changed during a maintenance task but we forgot to update the &lt;code&gt;/var/cache/nginx/&lt;/code&gt; directory access rights. We realized our mistake when users reported the issue during the weekend and fixed it on Monday January 15th at 10:30.&lt;/p&gt;
&lt;h4&gt;Friday January 19th 2024, 7:30&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;No log-in for accounts with 2FA enabled&lt;/li&gt;
&lt;li&gt;Impossible to create new documents&lt;/li&gt;
&lt;li&gt;Existing documents and drives only shown as read-only&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Our backup system was creating too many snapshots of the BTRFS filesystem because of a race condition. These snapshots took all the available space in the BTRFS pool which made the storage become read-only. We did not have appropriate monitoring in place on the new system to spot this mistake in time to prevent an outage.&lt;/p&gt;
&lt;p&gt;The issue was fixed by identifying and fixing the race condition in our in-house backup software, and adding more space to the server. Service resumed around 9:30 that morning. We then added some monitoring scripts to our Icinga instance with regular, automated checks to be sure the issue wouldn&#39;t arise again.&lt;/p&gt;
&lt;h4&gt;Tuesday January 23th 2024, 13:00&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;No log-in for accounts with 2FA enabled&lt;/li&gt;
&lt;li&gt;Impossible to create new documents&lt;/li&gt;
&lt;li&gt;Existing documents and drives only shown as read-only&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;With similar symptoms to the previous outage, this one was caused by our failure to make the disk we added the previous week fully available to BTRFS (a filesystem balancing operation was needed to spread the data among the different disks). This resulted in space running out again and producing the same &amp;quot;read-only&amp;quot; effects for our users.&lt;/p&gt;
&lt;p&gt;This took us a bit longer to figure out, service was only restored after 2.5h at around 15:30. Following this we adapted the monitoring scripts on our Icinga instance so the metadata part of the pool is also checked.&lt;/p&gt;
&lt;h4&gt;Tuesday February 13th 2024, 14:00&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Disconnections when editing documents and accessing the drive&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this case the server was rebooted while a resource-intensive BTRFS balancing operation was running (still recovering from the last outage). Because this operation was &lt;em&gt;paused&lt;/em&gt; but not &lt;em&gt;canceled&lt;/em&gt;, it prevented the BTRFS pool from being mounted again.&lt;/p&gt;
&lt;p&gt;The issue was fixed by adding the &lt;code&gt;skip_balance&lt;/code&gt; option to the mount command, with service resuming at around 15:00.&lt;/p&gt;
&lt;p&gt;In summary you will have spotted a pattern of compounded teething issues as we got used to the new storage back-end in our production conditions. Beyond adding monitoring, we plan to be more mindful of the load applied on our server and eventually refactor its architecture to be better suited to the needs of our flagship instance.&lt;/p&gt;
&lt;p&gt;We&#39;d like to apologise to our users, free and paying, for the inconvenience caused by these issues. We are grateful for your patience and your trust.&lt;/p&gt;
&lt;h3&gt;🔎 Contributions to cryptographic research&lt;/h3&gt;
&lt;p&gt;CryptPad is also contributing in theoretical research with contributions &lt;a href=&quot;https://eurocrypt.iacr.org/2024/acceptedpapers.php&quot;&gt;accepted&lt;/a&gt; at &lt;a href=&quot;https://iacr.org/meetings/eurocrypt/&quot;&gt;Eurocrypt&lt;/a&gt; one of the most reputable conferences in cryptography, hosted by the &lt;a href=&quot;https://iacr.org/&quot;&gt;International Association for Cryptologic Research&lt;/a&gt; (IACR), and at the &lt;a href=&quot;https://csrc.nist.gov/Events/2024/fifth-pqc-standardization-conference&quot;&gt;NIST Post-Quantum standardization Conference&lt;/a&gt;, which is the organism leading the current cryptographic effort toward post-quantum transition.&lt;/p&gt;
&lt;p&gt;Both results present a scalable post-quantum signature scheme, named Raccoon, that offers nice properties with regard to thresholdization and masking. Threshold signatures allow guaranteeing that a quorum of users collaborated to produce a signature, henceforth alleviating the single point of failure that certificate authorities represents for instance: some companies already &lt;a href=&quot;https://www.securityweek.com/mozilla-may-reject-uae-firms-root-inclusion-request/&quot;&gt;attempted to exploit this loophole&lt;/a&gt; in the past.&lt;/p&gt;
&lt;p&gt;Moreover, masking is important for hardware implementations of cryptography, especially on embedded devices, as a popular mitigation to &lt;a href=&quot;https://en.wikipedia.org/wiki/Side-channel_attack&quot;&gt;side channel cryptanalysis&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The full version of this work is available in the &lt;a href=&quot;https://ia.cr/2024/184&quot;&gt;IACR preprint archive&lt;/a&gt; and more information can be found on the &lt;a href=&quot;https://raccoonfamily.org/&quot;&gt;Raccoon signature website&lt;/a&gt;. This is the result of the joint effort of Shuichi Katsumata, Mary Maller, Fabrice Mouhartem, Rafael del Pino, Thomas Prest and Markku-Juhani Saarinen.&lt;/p&gt;
&lt;!--
- https://eurocrypt.iacr.org/2024/acceptedpapers.php
   - Threshold Raccoon: Practical Threshold Signatures from Standard Lattice Assumptions
       - Shuichi Katsumata, Mary Maller, Rafael del Pino, **Fabrice Mouhartem**, Thomas Prest, Markku-Juhani Saarinen
       - PQShield LTD &amp; AIST, PQShield LTD &amp; Ethereum Foundation, PQShield SAS, **XWiki SAS (CryptPad)**, PQShield LTD &amp; Tampere University
- https://csrc.nist.gov/Events/2024/fifth-pqc-standardization-conference
  - Threshold Raccoon
    -  Rafael del Pino Thomas Espitau, Shuichi Katsumata, Mary Maller, **Fabrice Mouhartem**, Thomas Prest, Markku-Juhani Saarinen, Kaoru Takemure
--&gt;
&lt;h3&gt;🔭 Up next&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;We are nearing full-draft status on the Blueprints R&amp;amp;D website which we are hoping to launch before the next status update&lt;/li&gt;
&lt;li&gt;A new blog post in the &lt;a href=&quot;https://blog.cryptpad.org/tags/tutorials/&quot;&gt;tutorial series&lt;/a&gt; is to be released on how to make the most of CryptPad’s security from a user standpoint&lt;/li&gt;
&lt;li&gt;The team is working hard on features for 5.8 which is planned for the end of Q1 2024 (also the end of this month!)&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="postmortem" scheme="https://blog.cryptpad.org/tags/postmortem/"/>
    <category term="FOSDEM" scheme="https://blog.cryptpad.org/tags/FOSDEM/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="documentation" scheme="https://blog.cryptpad.org/tags/documentation/"/>
  </entry>
  <entry>
    <title>No one cares about open-source, until …</title>
    <link href="https://blog.cryptpad.org/2024/02/15/no-one-cares-intil/"/>
    <updated>2024-02-15T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/02/15/no-one-cares-intil/</id>
    <summary xml:lang="en" type="html">If you follow privacy news, you have probably heard that Skiff, an end-to-end encrypted productivity suite, announced that it has been acquired by Notion. We could not resist chiming in since Skiff was compared with CryptPad in the past.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/skiff-migrate-data.png&quot; alt=&quot;&amp;quot;Migrating your data&amp;quot; Skiff website telling users how to get their data out of their products that will shut down in 6 months.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If you follow privacy news, you have &lt;a href=&quot;https://arstechnica.com/gadgets/2024/02/encrypted-email-service-skiff-gets-acquired-will-shut-down-in-six-months/&quot;&gt;probably heard&lt;/a&gt; that Skiff, an end-to-end encrypted productivity suite, announced that it has been acquired by Notion. Its suite of products (email, documents, contacts, calendar) will “sunset” in 6 months time. Some other elements such as community Discord chat and open-source code repositories were &lt;a href=&quot;https://blog.notesnook.com/the-skiff-privacy-fiasco/&quot;&gt;unceremoniously shut down with immediate effect&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There have been plenty of posts and takes already, so we will not elaborate too much further. But we also could not resist chiming in since &lt;a href=&quot;https://www.youtube.com/watch?v=-4MpHf4XOMw&quot;&gt;Skiff was compared with CryptPad in the past&lt;/a&gt;. While this is a really unfortunate moment for Skiff users, it is by no means a surprise.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;We’re extremely excited to accelerate our mission by joining forces with Notion’s world-class team.&lt;br /&gt;
&lt;a href=&quot;https://skiff.com/data-migration&quot;&gt;Skiff website&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The mission here was to maximise returns for the Venture Capital investors that gave Skiff &lt;a href=&quot;https://techcrunch.com/2024/02/09/notion-acquires-privacy-focused-productivity-platform-skiff/&quot;&gt;$14.2 million&lt;/a&gt;. The Skiff founders have “accelerated” and the mission is complete, we wish them well for it.&lt;/p&gt;
&lt;p&gt;For the users however, there will not be much of value left behind. For obvious privacy reasons their data will not be handed to Notion automatically so they are left with a 6 months to move their data elsewhere by themselves.&lt;/p&gt;
&lt;p&gt;Although talking about open-source is sure to get you yawns at dinner parties, this episode really illustrates that it can mean anything from empty gesturing to an actual commons that people can use and build upon. While Skiff was presented as open-source, the back-end never was so it was not possible to self-host it. In addition, the type of license used (&lt;a href=&quot;https://github.com/skiff-org/skiff-apps/blob/main/LICENSE&quot;&gt;CC-BY-NC-SA&lt;/a&gt;) is meant for artworks and more geared towards showing the code than making the service operable by others.&lt;/p&gt;
&lt;p&gt;In comparison to Skiff, CryptPad is missing a few features such as email or NFT storage. However it is also not tied to any investor&#39;s returns, and importantly is &lt;em&gt;fully&lt;/em&gt; open-source. If the team stopped working on it tomorrow, the hundreds of third-party CryptPad instances would continue running freely and people would continue to have the right to improve and maintain the code.&lt;/p&gt;
&lt;p&gt;Whether it&#39;s a technical outage or an acquisition like Skiff&#39;s, we don&#39;t think it&#39;s good karma to prey on the disgruntled users of our competition. We&#39;re also aware that CryptPad is not ready to serve all of the same use-cases as Skiff. We wish people well in finding new solutions that work for them. We also would like for this moment to encourage everyone to reflect on the ownership structure of the tools that they rely on, and perhaps to favour building some genuine commons rather than products that can simply vanish because of conflicting interests.&lt;/p&gt;
</content>
    <category term="open-source" scheme="https://blog.cryptpad.org/tags/open-source/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
  </entry>
  <entry>
    <title>January 2024 status</title>
    <link href="https://blog.cryptpad.org/2024/02/02/status-2024-01/"/>
    <updated>2024-02-02T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/02/02/status-2024-01/</id>
    <summary xml:lang="en" type="html">CryptPad 5.7.0 and FOSDEM talks</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 CryptPad 5.7.0&lt;/h2&gt;
&lt;p&gt;This release includes some features that could not be included into 5.6.0, namely instance invitations and support for images in diagrams. It also includes bug fixes in the drive, calendar and many other places.&lt;/p&gt;
&lt;h3&gt;📇 Invitation links and user directory&lt;/h3&gt;
&lt;p&gt;Instance administrators can now issue invitation links that can be used to create one account each, even if registration is closed on the instance. An optional User Directory can help keep track of the known accounts on the instance. This feature is designed for the needs of enterprise customers who use their own instance, hence allowing administrators access to more information than on a public-facing service&lt;/p&gt;
&lt;h3&gt;🖼️ Support for images in the Diagram app&lt;/h3&gt;
&lt;p&gt;Diagram documents now support embedding images.&lt;/p&gt;
&lt;p&gt;5.7.0 also includes a lot of bug fixes and improvements. See the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/5.7.0&quot;&gt;release notes on GitHub&lt;/a&gt; for the full list.&lt;/p&gt;
&lt;h2&gt;📢 FOSDEM&lt;/h2&gt;
&lt;p&gt;CryptPad will be well represented at FOSDEM this year.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🎙️ Saturday, Feb 3rd, from 12:00 to 12:25 Fabrice will present “&lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3126-securely-collaborate-with-cryptpad/&quot;&gt;Securely collaborate with CryptPad&lt;/a&gt;”. This talk will give an overview of CryptPad, show the results of the &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;nlnet Blueprints&lt;/a&gt; project as well as some future directions.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;From the XWiki side, multiple events are also organised:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🎙️ Saturday, Feb 3rd, from 16:40 to 17:05 Ludovic &amp;amp; Manuel will present &lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1831-cristal-a-new-wiki-ui-to-rule-them-all/&quot;&gt;Cristal: a new Wiki UI to rule them all&lt;/a&gt;, the new Wiki UI developed by XWiki to allow modularly creating wiki environments from heterogenous sources.&lt;/li&gt;
&lt;li&gt;🎙️ Saturday, Feb 3rd, from 14:00 to 14:45 Clément and Wieland will present &lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-3274-opendesk-the-open-source-collaborative-suite/&quot;&gt;openDesk - The Open Source collaborative suite&lt;/a&gt;, an open-source collaborative suite that embeds a part of CryptPad in it.&lt;/li&gt;
&lt;li&gt;🎙️ Sunday, Feb 4th, from 9:00 to 9:50 Ludovic will also present &lt;a href=&quot;https://fosdem.org/2024/schedule/event/fosdem-2024-1830-20-years-of-open-source-building-xwiki-and-cryptpad/&quot;&gt;20 Years of Open Source building XWiki and CryptPad&lt;/a&gt;, where we will learn about the XWiki journey as a FOSS company.&lt;/li&gt;
&lt;li&gt;🚀 XWiki will also organize &lt;a href=&quot;https://fosdem.org/2024/schedule/track/collaboration-and_content-management/&quot;&gt;the collaboration and content management track&lt;/a&gt; at FOSDEM where some of the above presentations will take place.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Finally, you are free to meet CryptPad and XWiki members &lt;!-- actors? --&gt; for a refresher on Saturday evening:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;🍻 Saturday, Feb 3rd, from 19:00 to 00:00, Brussels time: our first ever post-FOSDEM meetup, packed with open-source talks, beer, and snacks. Register here to meet the XWiki and cryptpad communities: &lt;a href=&quot;https://xwiki.com/en/Blog/XWiki-and-CryptPad-FOSDEM-meetup/&quot;&gt;https://xwiki.com/en/Blog/XWiki-and-CryptPad-FOSDEM-meetup/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We will get to work on 5.8.0&lt;/li&gt;
&lt;li&gt;We hope to release the Blueprints website in the coming weeks&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="diagram" scheme="https://blog.cryptpad.org/tags/diagram/"/>
    <category term="administration" scheme="https://blog.cryptpad.org/tags/administration/"/>
  </entry>
  <entry>
    <title>Setup 2FA for CryptPad</title>
    <link href="https://blog.cryptpad.org/2024/01/09/tutorial-two-factor-authentication/"/>
    <updated>2024-01-09T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/01/09/tutorial-two-factor-authentication/</id>
    <summary xml:lang="en" type="html">A guide to setup two-factor authentication (2FA) on your favorite CryptPad instance.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;In this tutorial we will see how to set up two-factor authentication (or 2FA) in
CryptPad from an end-user point of view. To make a long story short you can look
at &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/user_account.html#security-privacy&quot;&gt;the documentation&lt;/a&gt; for the concise explanation.&lt;/p&gt;
&lt;p&gt;The main purpose of this tutorial is to accompany you through every step and to
help you understand what is going on behind the scene.&lt;/p&gt;
&lt;h2&gt;Why does it matter?&lt;/h2&gt;
&lt;p&gt;Multi-factor authentication is a general term to describe authentication methods
relying on the combination of multiple ways to confirm you identity. Ideally,
these should live in different domains:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Something I know: a knowledge that only the authenticating user is aware
of, traditionally a password or a passphrase, but secret questions also fells
into this category;&lt;/li&gt;
&lt;li&gt;Something I have: a form of data that the user can store, but doesn&#39;t
have to remember. It is usually a cryptographic key that is stored in a device
(an authentication device, your smartphone, a USB flash drive, and so on);&lt;/li&gt;
&lt;li&gt;Something I am: everything that is inherent to the identity of the user,
such as biometry for instance.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The purpose of multi-factor authentication is to strengthen the usual
username-password authentication method (which fells into the &amp;quot;something I know&amp;quot;
category), so it does not act as a single-point of failure. With multi-factor
authentication, even if your password leaks by any means, no one should be able
to impersonate you based on this information alone. Similarly, biometric data
inherent to users should not be used as a unique authentication factor as their
secrecy cannot be guaranteed.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.cryptpad.org/2023/08/18/status-2023-summer-02/&quot;&gt;CryptPad 5.4.0&lt;/a&gt; introduced 2FA using a
&lt;a href=&quot;https://en.wikipedia.org/wiki/Time-based_one-time_password&quot;&gt;time-based
one-time-password&lt;/a&gt;
(or TOTP) approach. The core idea is that upon initialization, a common
&lt;strong&gt;secret&lt;/strong&gt; is agreed on between CryptPad and the user. Then, the &lt;strong&gt;current
time&lt;/strong&gt; is used to agree on a common value based on these two pieces of
information.&lt;/p&gt;
&lt;p&gt;As a consequence, if you are managing your own CryptPad instance, you
have to make sure that the date and time of your server remain fairly accurate
(up to a 30 seconds shift), using
&lt;a href=&quot;https://en.wikipedia.org/wiki/Network_Time_Protocol&quot;&gt;NTP&lt;/a&gt; for instance.&lt;/p&gt;
&lt;h2&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;A running CryptPad instance with version &lt;code&gt;&amp;gt;= 5.4.0&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;A CryptPad account on this instance (or you can &lt;a href=&quot;https://docs.cryptpad.org/en/user_guide/user_account.html&quot;&gt;create
one&lt;/a&gt; now)&lt;/li&gt;
&lt;li&gt;An external device that supports TOTP (for instance a smartphone with an
authenticator application, like &lt;a href=&quot;https://getaegis.app/&quot;&gt;Aegis&lt;/a&gt;, that can be
found on &lt;a href=&quot;https://f-droid.org/en/packages/com.beemdevelopment.aegis/&quot;&gt;F-Droid&lt;/a&gt;
or &lt;a href=&quot;https://play.google.com/store/apps/details?id=com.beemdevelopment.aegis&quot;&gt;Google Play
Store&lt;/a&gt;).
It will later be referred as &lt;em&gt;authentication device&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Step-by-step user guide to setup 2FA on Cryptpad&lt;/h2&gt;
&lt;p&gt;Now that we have everything we need, let us start. The first step is to
open your Security &amp;amp; Privacy settings:&lt;br /&gt;
&lt;strong&gt;User menu&lt;/strong&gt; (top-right avatar to access) &amp;gt; &lt;i class=&quot;fa fa-gear&quot;&gt;&lt;/i&gt;
&lt;strong&gt;Settings&lt;/strong&gt; &amp;gt; &lt;i class=&quot;fa fa-lock&quot;&gt;&lt;/i&gt; &lt;strong&gt;Security &amp;amp; Privacy&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Then look for the “&lt;strong&gt;Two-Factor Authentication (2FA)&lt;/strong&gt;” section:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-initialization.png&quot; alt=&quot;2FA is not initialized yet&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Now, you can enter your password to initiate the process. Once you validate, it
should show an alert telling you to store a recovery code that will be useful to
disable 2FA in case you don&#39;t have access to your authentication device anymore.
Thus, you should store it in a safe place:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;recoverable even if you lose your authentication device;&lt;/li&gt;
&lt;li&gt;accessible even if you don&#39;t have access to your CryptPad account;&lt;/li&gt;
&lt;li&gt;separated from your password;&lt;/li&gt;
&lt;li&gt;not easily accessible for a third party.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These make your mobile phone or a “Recovery Code” file in your CryptDrive a bad
idea. However, you can use an encrypted USB flash drive or a &lt;a href=&quot;https://www.cnil.fr/en/what-you-should-know-about-our-standard-digital-safe-boxes&quot;&gt;digital safe
box/vault&lt;/a&gt; for instance.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-recovery-code.png&quot; alt=&quot;2FA recovery code&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Once you stored this recovery code in a safe place, you can click on the “&lt;i class=&quot;fa fa-check&quot;&gt;&lt;/i&gt; &lt;strong&gt;Done&lt;/strong&gt;” button, then “&lt;strong&gt;Continue&lt;/strong&gt;”.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-recovery-code-done.png&quot; alt=&quot;2FA recovery code done&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then, it should show you a &lt;a href=&quot;https://en.wikipedia.org/wiki/QR_code&quot;&gt;QR code&lt;/a&gt; that
contains the common secret between CryptPad and yourself.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Warning.&lt;/strong&gt; This is sensitive information, make sure that no one is spying on
your screen at this point of time.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-qr-code.png&quot; alt=&quot;QR Code&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You can now scan the QR code with your authentication device, for instance Aegis
on android would open the form shown hereunder upon scanning the QR Code,
allowing you to customize the entry in the application. It could prove useful if
you have many CryptPad accounts for instance to distinguish them in a glance.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-aegis-create.png&quot; alt=&quot;Aegis scanner&quot; width=&quot;50%&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Once validated, your CryptPad 2FA verification token would appear as an item in a
list in the application, with a progress bar telling you how long the shown
verification code remains valid.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-aegis-show.png&quot; alt=&quot;Aegis scanner&quot; width=&quot;50%&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Now, it leaves you to enter this verification code in the CryptPad webpage and
validate with the “&lt;i class=&quot;fa fa-check&quot;&gt;&lt;/i&gt; &lt;strong&gt;ENABLE 2FA&lt;/strong&gt;” button.&lt;/p&gt;
&lt;p&gt;One this is done, you should see the following text:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-activated.png&quot; alt=&quot;2FA is active on this account&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Congratulations! Your account is now set up to use 2FA using with TOTP.&lt;/p&gt;
&lt;p&gt;Note that you will be disconnected for all your other sessions once it&#39;s done,
you have to log in again in these sessions with your verification code.&lt;/p&gt;
&lt;p&gt;This is done as usual, with the difference that after typing your login and
password, a validation code from your authentication device will be requested.&lt;/p&gt;
&lt;h2&gt;More information&lt;/h2&gt;
&lt;h3&gt;Disabling 2FA&lt;/h3&gt;
&lt;p&gt;When &lt;strong&gt;disabling 2FA&lt;/strong&gt;, you need a final verification code, so don&#39;t
remove it from your authentication device &lt;em&gt;before&lt;/em&gt; removing it from CryptPad.
Otherwise, you would need to retrieve your recovery code from its safe space. Or
in a last resort, see the “I lost my recovery code!” section below to see how to
use human intervention by contacting your instance administrators.&lt;/p&gt;
&lt;h3&gt;What is this text box above the QR Code?&lt;/h3&gt;
&lt;p&gt;Upon generating the shared secret between you and the server, that is given to
you in the form of a QR Code, you can also notice that there is a text box above
the QR code that contains a &lt;em&gt;uniform resource identifier&lt;/em&gt; (URI for short). This
&lt;a href=&quot;https://github.com/google/google-authenticator/wiki/Key-Uri-Format&quot;&gt;otpauth
URI&lt;/a&gt;
represents the secret in a plaintext manner and allows to easily import it into
applications that don&#39;t rely on a QR code scanner, for instance a password
manager.&lt;/p&gt;
&lt;p&gt;As we said previously, it is not recommended to store your password and your
2FA secret in the same place, as it makes your password manager a single-point
of failure.&lt;/p&gt;
&lt;h2&gt;I lost my recovery code!&lt;/h2&gt;
&lt;h3&gt;User guide&lt;/h3&gt;
&lt;p&gt;Good thing you use an encrypted flash drive to store your recovery code, however
its data &lt;a href=&quot;https://en.wikipedia.org/wiki/Flash_memory#Limitations&quot;&gt;got corrupted&lt;/a&gt;
on the way. What to do now?&lt;/p&gt;
&lt;p&gt;Stay calm, it is possible for an administrator to disable 2FA for you provided
that you send the relevant information.&lt;/p&gt;
&lt;p&gt;For that when logging in, after typing your username and password, there is a link under the verification code prompt:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-recovery-request.png&quot; alt=&quot;Unable to get a code? Recover your account&quot; /&gt;&lt;/p&gt;
&lt;p&gt;You can then click on the “&lt;strong&gt;Recover your account&lt;/strong&gt;” link, that will ask your
username and password again. Once that done, you end up in the page asking for
your recovery code, however there is also a section to unfold “&lt;i class=&quot;fa
fa-caret-right&quot;&gt;&lt;/i&gt; &lt;strong&gt;Forgot recovery code&lt;/strong&gt;” which shows a data-block that
you can give to an instance administrator so that they can disable 2FA for your account.&lt;/p&gt;
&lt;p&gt;Now, you can contact your instance administrator, politely explaining the
situation and attaching this data block, and patiently wait for their answer.&lt;/p&gt;
&lt;h3&gt;Administrator guide&lt;/h3&gt;
&lt;p&gt;As an instance administrator, upon receiving a request to disable 2FA and
verifying the identity of the requesting party, you have to go to the database
section of the administration panel:
&lt;strong&gt;User menu&lt;/strong&gt; &amp;gt; &lt;i class=&quot;fa fa-gears&quot;&gt;&lt;/i&gt; &lt;strong&gt;Administration&lt;/strong&gt; &amp;gt; &lt;i class=&quot;fa fa-database&quot;&gt;&lt;/i&gt; &lt;strong&gt;Database&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There you can go to the &lt;strong&gt;2FA Recovery&lt;/strong&gt; section and paste the data-block that
the forgetful user sent you:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2fa-admin-disabling.png&quot; alt=&quot;Disabling 2FA for admins&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Then you just have to hit the “&lt;strong&gt;DISABLE&lt;/strong&gt;” button and the “&lt;strong&gt;Are you sure?&lt;/strong&gt;”
confirmation to validate the user&#39;s query.&lt;/p&gt;
&lt;h2&gt;Good practices&lt;/h2&gt;
&lt;p&gt;Activating and using 2FA in itself doesn&#39;t guarantee that your account would
remain safe whatever what happens, it is just another safety net.&lt;/p&gt;
&lt;p&gt;However, to ensure that it works as intended, there are some mistakes to avoid.
For instance, some password managers can act as a storage for your 2FA secrets
and even generate the verification codes for you. In the event that your
password is also stored there, then you create a new &lt;a href=&quot;https://en.wikipedia.org/wiki/LastPass#2022_customer_data_and_partially-encrypted_vault_theft&quot;&gt;single-point of
failure&lt;/a&gt;
in your password manager. For the sake of honesty, we should mention that is it
still way better than not having any 2FA at all (as it adds a temporal factor in
what your password manager outputs in case of phishing attacks for instance). It
should be avoided in an ideal world, but we are not living in this world.&lt;/p&gt;
&lt;p&gt;In general, you should avoid at all cost storing your passwords, secret keys and
recovery keys in a place where it is easily accessible (for instance in a
&lt;code&gt;my_passwords.csv&lt;/code&gt; file in the clear on your drive, or in a plaintext cloud
storage).
The use of a password manager makes it easier for users to manage this part as
long as one sets up the appropriate measures to keep it secure, for instance
with the use of a strong primary password, or not leaving your &lt;a href=&quot;https://support.mozilla.org/en-US/kb/password-manager-remember-delete-edit-logins#w_protecting-your-passwords&quot;&gt;computer
unattended in an unlocked
state&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;See also&lt;/h2&gt;
&lt;p&gt;For further information about multi-factor authentication and password
management, you can see:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Wikipedia. &lt;a href=&quot;https://en.wikipedia.org/wiki/Multi-factor_authentication&quot;&gt;Multi-Factor Authentication&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;NIST blog. &lt;a href=&quot;https://www.nist.gov/blogs/cybersecurity-insights/back-basics-whats-multi-factor-authentication-and-why-should-i-care&quot;&gt;Back to Basics: What’s multi-factor authentication - and why should I care?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;NIST Topics. &lt;a href=&quot;https://www.nist.gov/itl/smallbusinesscyber/guidance-topic/multi-factor-authentication&quot;&gt;Multi-factor authentication&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;i class=&quot;fa fa-file-pdf-o&quot;&gt;&lt;/i&gt; NIST. &lt;a href=&quot;https://csrc.nist.gov/csrc/media/Presentations/2022/multi-factor-authentication-and-sp-800-63-digital/images-media/Federal_Cybersecurity_and_Privacy_Forum_15Feb2022_NIST_Update_Multi-Factor_Authentication_and_SP800-63_Digital_Identity_%20Guidelines.pdf&quot;&gt;NIST Update: Multi-Factor Authentication and SP 800-63 Digital Identity Guidelines&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;i class=&quot;fa fa-file-pdf-o&quot;&gt;&lt;/i&gt; 🇫🇷 ANSSI. &lt;a href=&quot;https://cyber.gouv.fr/publications/recommandations-relatives-lauthentification-multifacteur-et-aux-mots-de-passe&quot;&gt;Recommendations about multi-factor authentication and passwords&lt;/a&gt;. October 2021.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="tutorials" scheme="https://blog.cryptpad.org/tags/tutorials/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
  </entry>
  <entry>
    <title>December 2023 status</title>
    <link href="https://blog.cryptpad.org/2024/01/04/status-2023-12/"/>
    <updated>2024-01-04T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2024/01/04/status-2023-12/</id>
    <summary xml:lang="en" type="html">CryptPad 5.6.0, Presentation at Grenoble-Alpes, start on CryptPad Cloud</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We present the December 2023 status post, and the team&#39;s best wishes to you and yours for 2024. This post was slightly delayed as all of our pre-holiday-break energies were focused on releasing CryptPad 5.6.0.&lt;/p&gt;
&lt;h2&gt;🚀 CryptPad 5.6.0 released&lt;/h2&gt;
&lt;h3&gt;🔑 SSO&lt;/h3&gt;
&lt;p&gt;This release paves the way for the much awaited Single-Sign-On (SSO) authentication in CryptPad instances. The 2nd piece of this feature is a plugin which we will release in January 2024. After this we will wrap up the &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Auth/&quot;&gt;AUTH project&lt;/a&gt; making CryptPad not only more secure with Two-Factor Authentication (2FA) but also easier to integrate with identity providers and existing security infrastructure.&lt;/p&gt;
&lt;p&gt;Speaking of 2FA, this release also adds the option to make it mandatory for all users of an instance.&lt;/p&gt;
&lt;h3&gt;🗓️☑️ Form and Calendar improvements&lt;/h3&gt;
&lt;p&gt;The Form editor now allows to duplicate a question. Calendar events now have a description field. Both applications received lots of improvements (e.g. mobile usability) and bug fixes.&lt;/p&gt;
&lt;h3&gt;♿ Accessibility improvements to the drive and toolbars&lt;/h3&gt;
&lt;p&gt;Finally we are continuing to improve accessibility across CryptPad. In this release the toolbar becomes much more navigable with the keyboard and (most) menus can be used with arrow keys. We will keep pushing on this until full Web Content Accessibility Guidelines (WCAG) compliance.&lt;/p&gt;
&lt;p&gt;Please see the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/5.6.0&quot;&gt;changelog&lt;/a&gt; for the full list of improvements.&lt;/p&gt;
&lt;h3&gt;🎁 More teams for CryptPad&lt;nolink&gt;.fr subscribers&lt;/nolink&gt;&lt;/h3&gt;
&lt;p&gt;This release includes a setting to set the number of teams for subscribed users of an instance. We have increased this limit on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt; from 3 to 10 teams after receiving requests from our supporters. Enjoy these responsibly as joining many teams with lots data in each may impact loading time.&lt;/p&gt;
&lt;h2&gt;🎙️ Presentation at Grenoble-Alpes University&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/slide-penguins.png&quot; alt=&quot;Slide demonstrating CryptPad&#39;s encrypted collaboration between some cute penguin characters&quot; /&gt;&lt;/p&gt;
&lt;p&gt;For his first public speaking since joining the team in October, Fabrice presented CryptPad at the &lt;a href=&quot;https://www-ljk.imag.fr/spip.php?article35&amp;amp;id=657c64a4a12e9fe262398bc5&amp;amp;type=SEMINAIRE&quot;&gt;Jean Kuntzmann Lab seminar&lt;/a&gt; on December 20th. The presentation centered on the cryptography used in the project and the challenges ahead. The &lt;a href=&quot;https://blog.cryptpad.org/images/2023-12-20-FM-CryptPad-talk.pdf&quot;&gt;slide deck&lt;/a&gt; is available for more details.&lt;/p&gt;
&lt;h2&gt;☁️ CryptPad Cloud&lt;/h2&gt;
&lt;p&gt;At the end of 2023, a few clients showed interest in having their own CryptPad instance hosted and maintained by XWiki (our parent company). While it is still early days, it is safe to say that we will be increasing efforts to make CryptPad easier to test-deploy and customize in 2024. More on this soon!&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;XWiki CEO Ludovic Dubost is preparing our yearly budget update. It will be published on this blog in the coming weeks.&lt;/li&gt;
&lt;li&gt;With all of the work now completed, we will be looking to officially wrap up our &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Auth/&quot;&gt;AUTH&lt;/a&gt; and &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;Blueprints&lt;/a&gt; projects with NGI.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
  </entry>
  <entry>
    <title>November 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/12/01/status-2023-11/"/>
    <updated>2023-12-01T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/12/01/status-2023-11/</id>
    <summary xml:lang="en" type="html">Capitole du Libre, Nextcloud integration, Call for testimonials, Team News</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🎪 Capitole du Libre&lt;/h2&gt;
&lt;p&gt;November 18 and 19, the &lt;em&gt;Capitole du Libre&lt;/em&gt; was held in Toulouse, France. It is an annual meeting for free and open ways enthusiasts.
During this event, Cryptpad was present on a stand that was quite well-received by curious attendees, as well as during two talks by Ludovic Dubost and Clément Aubin about &lt;a href=&quot;https://cfp.capitoledulibre.org/cdl-2023/talk/PWQ8UQ/&quot;&gt;FOSS as a job&lt;/a&gt; and &lt;a href=&quot;https://cfp.capitoledulibre.org/cdl-2023/talk/GTQZDS/&quot;&gt;OpenDesk&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;▶️ Videos should be online at some point in the future on the &lt;a href=&quot;https://www.youtube.com/channel/UCceC8Q8hThsWwmhqkjclcZg/videos&quot;&gt;Capitole du Libre YouTube channel&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;📬 Nextcloud integration&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/nextcloud-app.png&quot; alt=&quot;screenshot of the Nextcloud application&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Wolfgang has been hard at work on our Nextcloud application this month, receiving feedback and fixing issues. This &lt;a href=&quot;https://apps.nextcloud.com/apps/openincryptpad&quot;&gt;Open in CryptPad&lt;/a&gt; integration is part of &lt;a href=&quot;https://xwiki.com/en/Blog/XWiki-joins-OpenDesk/&quot;&gt;OpenDesk&lt;/a&gt;. It provides encrypted real-time collaborative sessions on diagram documents stored on a Nextcloud instance. If this is of interest to you please check out the application in the Nextcloud app store and our &lt;a href=&quot;https://github.com/cryptpad/nextcloud-open-in-cryptpad&quot;&gt;source code repository&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;💌 Still collecting testimonials&lt;/h2&gt;
&lt;p&gt;Quick reminder that we are still collecting nice words about why you love CryptPad through our &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/1NDX7MEkhzNz1FCrcjCxmvjgIj24QjWNncZygR60Ch8/&quot;&gt;Testimonials Survey&lt;/a&gt;. We already have &lt;a href=&quot;https://cryptpad.org/testimonials/&quot;&gt;lots of individual submissions&lt;/a&gt; but please keep them coming. We are especially grateful if you are able to endorse our project on behalf of an organization, company, or institution.&lt;/p&gt;
&lt;h2&gt;🏠 Team news&lt;/h2&gt;
&lt;p&gt;Unfortunately Faye did not renew her contract with us after 6 months in the team. We are thankful for her contributions to CryptPad and wish her the very best on her future endeavors.&lt;/p&gt;
&lt;h2&gt;🔭 What&#39;s next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are still at work on CryptPad 5.6 which we are hoping to release before the end of the year&lt;/li&gt;
&lt;li&gt;Looking ahead, we are thinking about next year&#39;s priorities. There&#39;s no doubt that improving our OnlyOffice integrations (esp. Document and Presentation) will be high on that list&lt;/li&gt;
&lt;li&gt;We&#39;re thinking about contributions to this blog beyond the monthly status, perhaps more tutorials, let us know if there is anything you would like us to cover!&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
    <category term="opendesk" scheme="https://blog.cryptpad.org/tags/opendesk/"/>
  </entry>
  <entry>
    <title>October 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/11/02/status-2023-10/"/>
    <updated>2023-11-02T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/11/02/status-2023-10/</id>
    <summary xml:lang="en" type="html">Planning 5.6.0, Community translation program, press &amp; presentation</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 5.5.0 is out, now planning 5.6.0&lt;/h2&gt;
&lt;p&gt;This month we released &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/5.5.0&quot;&gt;CryptPad 5.5.0&lt;/a&gt; with the features that we covered in detail in the &lt;a href=&quot;https://blog.cryptpad.org/2023/10/03/status-2023-09/&quot;&gt;September status post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are now shifting our attention to the next release, 5.6.0, which is planned for the end of the calendar year.&lt;/p&gt;
&lt;p&gt;With the recent growth of the team (+6 people in 2023, an increase of over 200%), we are still refining our work processes. For this release cycle we are testing GitHub Projects to triage and track issues. You can follow current work in the &lt;a href=&quot;https://github.com/orgs/cryptpad/projects/7&quot;&gt;5.6.0 project&lt;/a&gt;. The pull-requests addressing these issues and implementing features are visible in the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/milestone/4&quot;&gt;5.6.0 milestone&lt;/a&gt; as they are awaiting review and being merged into the &lt;code&gt;staging&lt;/code&gt; branch. A higher level view including research projects is still available on our &lt;a href=&quot;https://cryptpad.fr/kanban/#/2/kanban/view/PLM0C3tFWvYhd+EPzXrbT+NxB76Z5DtZhAA5W5hG9wo/&quot;&gt;public roadmap&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/github-project-preview.png&quot; alt=&quot;preview of the 5.6.0 Project on GitHub&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;🎁 Community translation program&lt;/h2&gt;
&lt;p&gt;As you may know CryptPad is available in many languages (19 at the time of writing). The development team maintains the English and French translations, and other languages are translated by volunteers in the community. Unfortunately we are not able to compensate people financially for translation work but we offer free plans on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; as a token of gratitude (this means increased storage and priority support). We have been doing this informally for some time but have now taken the time to &lt;a href=&quot;https://docs.cryptpad.org/en/how_to_contribute.html#community-translation-program&quot;&gt;document this &amp;quot;program&amp;quot; officially&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;📰 Press &amp;amp; presentation&lt;/h2&gt;
&lt;p&gt;Our CEO Ludovic Dubost was &lt;a href=&quot;https://www.websiteplanet.com/blog/ludovic-dubost-interview/&quot;&gt;interviewed by Website Planet&lt;/a&gt; about open-source and the control of &amp;quot;cloud&amp;quot; infrastructure.&lt;/p&gt;
&lt;p&gt;David will present CryptPad at the &lt;a href=&quot;https://opensourceinnovation.eu/&quot;&gt;Open Research Webinar&lt;/a&gt; organized by &lt;a href=&quot;https://www.ow2.org/&quot;&gt;OW2&lt;/a&gt; and &lt;a href=&quot;https://www.eclipse.org/research/&quot;&gt;Eclipse Foundation&lt;/a&gt; on 7th November. The event is online and &lt;a href=&quot;https://www.eventbrite.fr/e/open-research-webinar-november-7-tickets-718514866307&quot;&gt;free to attend if registered&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We were also happy to read &lt;a href=&quot;https://www.lemonde.fr/pixels/article/2023/10/14/face-aux-gafam-les-chatons-sortent-les-griffes_6194362_4408996.html&quot;&gt;a small mention of CryptPad&lt;/a&gt; in French newspaper Le Monde, as part of an article about ethical hosting collective &lt;a href=&quot;https://www.chatons.org/&quot;&gt;CHATONS&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🔭 What&#39;s next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Work on supporting Single Sign On with various identity providers&lt;/li&gt;
&lt;li&gt;Ongoing work on accessibility and mobile support&lt;/li&gt;
&lt;li&gt;More things to include in the upcoming 5.6.0 release&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="translations" scheme="https://blog.cryptpad.org/tags/translations/"/>
  </entry>
  <entry>
    <title>September 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/10/03/status-2023-09/"/>
    <updated>2023-10-03T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/10/03/status-2023-09/</id>
    <summary xml:lang="en" type="html">CryptPad 5.5.0 nearly ready, Daria and Diana stay on the team and Fabrice joins</summary>
    <content xml:lang="en" type="html">&lt;p&gt;After two &amp;quot;summer statuses&amp;quot; we resume our monthly updates.&lt;/p&gt;
&lt;h2&gt;🚀🔭 CryptPad 5.5 coming soon&lt;/h2&gt;
&lt;p&gt;The team is preparing the latest version of CryptPad. At the time of writing we are planning to deploy 5.5 to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; this week and make it available on GitHub shortly after if all goes well. Highlights for this release will include:&lt;/p&gt;
&lt;h3&gt;Moderation and deletion features&lt;/h3&gt;
&lt;p&gt;Instance administrators will now have the option to archive a whole  account, including all documents where the account is the only owner. This enables admins to take stronger action in moderation cases where more than a single document is in breach of the instance&#39;s terms of service.&lt;/p&gt;
&lt;p&gt;We also took this opportunity to better communicate &lt;em&gt;why&lt;/em&gt; a document is not accessible. Previously, CryptPad would display confusing messages such as this one if a document had been deleted or if its password was changed:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;The document you are trying to open no longer exists or is protected with a new password. Enter the correct password to access the content.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;With 5.5.0 CryptPad will give more information in cases where the document or account was:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Deleted by an owner&lt;/li&gt;
&lt;li&gt;Deleted by an admin (user account or document)&lt;/li&gt;
&lt;li&gt;Deleted for inactivity (documents not stored in a user drive and inactive)&lt;/li&gt;
&lt;li&gt;Protected with a new password (user account or document)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;OnlyOffice upgrade&lt;/h3&gt;
&lt;p&gt;CryptPad 5.5.0 includes an upgraded version of OnlyOffice applications (7.3.3.60) and fixes some import/export bugs for office documents.&lt;/p&gt;
&lt;h3&gt;End-to-end testing&lt;/h3&gt;
&lt;p&gt;For this release we are making use of the end-to-end testing suite that Zuzanna has been developing for the last few months. It has been a &lt;em&gt;lot&lt;/em&gt; of work to program all of the test cases using &lt;a href=&quot;https://playwright.dev/&quot;&gt;Playwright&lt;/a&gt; but these efforts are finally starting to pay off as the tests have already identified a few bugs. We&#39;ll continue these efforts to improve the quality assurance of CryptPad in future releases.&lt;/p&gt;
&lt;h3&gt;Acessibility and mobile fixes&lt;/h3&gt;
&lt;p&gt;With Daria and Diana&#39;s internships coming to an end, we are releasing their contributions. They mostly have to do with improvements related to &lt;a href=&quot;https://github.com/orgs/cryptpad/projects/5&quot;&gt;accessibility&lt;/a&gt; and using CryptPad on &lt;a href=&quot;https://github.com/orgs/cryptpad/projects/6&quot;&gt;mobile&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 🧑‍🔬 Daria and Diana are joining the team&lt;/h2&gt;
&lt;p&gt;Speaking of Daria and Diana, we are happy to announce that they will remain on the team after their internships finish. They will each take a part time role while also completing the last year of their studies. Their work will continue to focus on improving the CryptPad front-end for better accessibility and mobile usability, two areas that need a lot of continued improvement.&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 Fabrice joins the team&lt;/h2&gt;
&lt;p&gt;We have another addition to the team this month: &lt;a href=&quot;https://fmouhart.epheme.re/&quot;&gt;Fabrice Mouhartem&lt;/a&gt;. Fabrice is a cryptography researcher who completed his PhD at École Nationale Supérieure (ENS) in Lyon, France (2018). His recent post-docs at ENS and PQShield focused on building provable cryptographic protocols based on both classical and post-quantum assumptions. His role on the CryptPad team will be split between research on how to get CryptPad post-quantum ready, and contributing features and bug fixes to the code. We look forward to having Fabrice&#39;s expertise on the team!&lt;/p&gt;
&lt;h2&gt;🔭 What&#39;s next&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Continuing work on our document API and authentication features&lt;/li&gt;
&lt;li&gt;Wrapping up the Blueprints project with a website that details all outcomes and provides a place for future research and prototypes&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
  </entry>
  <entry>
    <title>Summer 2023 status - part 2</title>
    <link href="https://blog.cryptpad.org/2023/08/18/status-2023-summer-02/"/>
    <updated>2023-08-18T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/08/18/status-2023-summer-02/</id>
    <summary xml:lang="en" type="html">CryptPad 5.4.0, New Diagram app, 2 Factor Authentication</summary>
    <content xml:lang="en" type="html">&lt;p&gt;As promised, this is the second part of our summer status. It is all about the new 5.4.0 version of CryptPad which is now live and released.&lt;/p&gt;
&lt;h2&gt;🚀 CryptPad 5.4.0&lt;/h2&gt;
&lt;p&gt;We deployed the new version to our &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;flagship instance&lt;/a&gt; on July 20th. With members of the team taking summer breaks, we took our time to test the new features, bring the &lt;a href=&quot;https://docs.cryptpad.org/&quot;&gt;documentation&lt;/a&gt; up to date, gather feedback and translations. We released &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/5.4.0&quot;&gt;5.4.0 on GitHub&lt;/a&gt; on August 10th. The major new feature are:&lt;/p&gt;
&lt;h3&gt;🎨 New Diagram app&lt;/h3&gt;
&lt;p&gt;The Diagram application is an integration of &lt;a href=&quot;https://www.drawio.com/&quot;&gt;Draw.io&lt;/a&gt; into CryptPad&#39;s encrypted real-time collaboration.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;btn&quot; href=&quot;https://cryptpad.fr/diagram/&quot;&gt;&lt;i class=&quot;fa fa-external-link&quot;&gt;&lt;/i&gt; Try the Diagram app on cryptpad.fr&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/diagram-screenshot.png&quot; alt=&quot;screenshot of the new diagram application&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;🔑🔑 2 Factor Authentication&lt;/h3&gt;
&lt;p&gt;You can now protect your account with 2 factor authentication using one-time passwords.&lt;/p&gt;
&lt;p&gt;How-to for your &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt; account:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Settings &amp;gt; Security &amp;amp; Privacy&lt;/li&gt;
&lt;li&gt;Enter your password&lt;/li&gt;
&lt;li&gt;Save the recovery code&lt;/li&gt;
&lt;li&gt;Snap the QR code with a 2FA app of your choice&lt;/li&gt;
&lt;li&gt;Confirm with a code&lt;/li&gt;
&lt;li&gt;✅ 2FA is enabled&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;2FA is the first deliverable for the &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Auth/&quot;&gt;CryptPad AUTH&lt;/a&gt; project, ahead of the upcoming SSO features. We are very grateful to NLnet and NGI Assure for the support in making CryptPad more secure.&lt;/p&gt;
&lt;h3&gt;🎁 and more&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;We dropped Bower, an &lt;a href=&quot;https://github.com/cryptpad/cryptpad/issues/295#issuecomment-1373267211&quot;&gt;outdated tool&lt;/a&gt; to manage client-side dependencies&lt;/li&gt;
&lt;li&gt;In addition to the Diagram application, Mermaid.js is also upgraded to 10.2.4 adding more diagram types such as &lt;a href=&quot;https://mermaid.js.org/syntax/mindmap.html&quot;&gt;mindmap&lt;/a&gt; and &lt;a href=&quot;https://mermaid.js.org/syntax/timeline.html&quot;&gt;timeline&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;New setting to destroy all of the documents you own in one click&lt;/li&gt;
&lt;li&gt;The full release notes are &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/5.4.0&quot;&gt;on GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;🚀 🪂 CryptPad 5.4.1&lt;/h2&gt;
&lt;p&gt;Even though we had plenty of time to test things on &lt;em&gt;our&lt;/em&gt; instance, problems occured after the release with a number of configuration issues and &lt;a href=&quot;https://github.com/cryptpad/cryptpad/commit/a3772cf92c448e893cf8e021cfe9149939d3fd6c&quot;&gt;typos&lt;/a&gt; causing upgrading issues on other instances. We are tracking these and will release &lt;a href=&quot;https://github.com/cryptpad/cryptpad/milestone/3&quot;&gt;5.4.1&lt;/a&gt; ASAP to make the fixes available.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We&#39;ll be resuming monthly status updates at the end of each month starting with September&lt;/li&gt;
&lt;li&gt;SSO authentication features are next on the roadmap for the AUTH project&lt;/li&gt;
&lt;li&gt;We are in the final talks for an exciting new hire for the team, we&#39;ll say more in the next couple of months&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="diagram" scheme="https://blog.cryptpad.org/tags/diagram/"/>
    <category term="auth" scheme="https://blog.cryptpad.org/tags/auth/"/>
  </entry>
  <entry>
    <title>Summer 2023 status - part 1</title>
    <link href="https://blog.cryptpad.org/2023/07/17/status-2023-summer-01/"/>
    <updated>2023-07-17T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/07/17/status-2023-summer-01/</id>
    <summary xml:lang="en" type="html">Late update: Summer internships &amp; hackathon projects</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We missed the June 2023 status as the end of the month was busy with summer internships and travel to the annual XWiki seminar for part of the team. To catch up, here is a &amp;quot;Summer status&amp;quot; format which will be staggered mid-July and mid-August before we resume monthly schedule in September.&lt;/p&gt;
&lt;h2&gt;🩴🧢 Summer internships&lt;/h2&gt;
&lt;p&gt;We are delighted to welcome Daria Burghelea and Diana Voineag to the team for 3 months internships as part of the &lt;a href=&quot;https://stagiipebune.ro/&quot;&gt;Stagii pe Bune&lt;/a&gt; program in Romania. Daria started on June 26th with a focus on front-end work including &lt;a href=&quot;https://github.com/orgs/cryptpad/projects/5&quot;&gt;accessibility issues&lt;/a&gt;. Diana started last week on July 10th and will be focusing on end-to-end testing and screenshot automation at first.&lt;/p&gt;
&lt;h2&gt;💡 Seminar hackathon projects&lt;/h2&gt;
&lt;p&gt;Each year the XWiki seminar includes a one day hackathon where teams mix and work on experimental or neglected. We had two CryptPad projects this time&lt;/p&gt;
&lt;h3&gt;📁🌳 Where to save? tree view&lt;/h3&gt;
&lt;p&gt;Documents and files are saved to the root of the Drive by default in a few cases, for example when adding an image to a document, or when opening a linked shared by someone and choosing to store it. This can lead to a cluttered drive, and provides little visibility on what is happening when something is stored. This project was about prototyping a new tree view that would allow users to pick a specific folder when storing something new in their drive.&lt;/p&gt;
&lt;p&gt;The sprint resulted in a usable prototype, see the screenshot below and the &lt;a href=&quot;https://github.com/cryptpad/cryptpad/tree/hackathon-treeview&quot;&gt;branch on GitHub&lt;/a&gt;.
We will do our best to fix the remaining issues and release this in a future version of CryptPad.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2023-hackathon-where-to-save.png&quot; alt=&quot;screenshot of the image upload dialog including a new folder tree to select where the image will be saved&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;📱🪲 Mobile bug hunt&lt;/h3&gt;
&lt;p&gt;Issues with using CryptPad on mobile may be the number one source of negative feedback we get about the product. While none of these neatly fit into our funded projects, we took the hackathon opportunity to list as many mobile bugs as we could. The result is a &lt;a href=&quot;https://github.com/orgs/cryptpad/projects/6&quot;&gt;list of 41 issues&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;We are working on &lt;a href=&quot;https://github.com/cryptpad/cryptpad/milestone/1&quot;&gt;CryptPad 5.4&lt;/a&gt; and looking forward to releasing it soon. Part 2 of the summer status will bring more details&lt;/li&gt;
&lt;li&gt;Members of the team will be taking well deserved breaks during the coming weeks&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
    <category term="internships" scheme="https://blog.cryptpad.org/tags/internships/"/>
    <category term="prototypes" scheme="https://blog.cryptpad.org/tags/prototypes/"/>
  </entry>
  <entry>
    <title>May 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/06/01/status-2023-05/"/>
    <updated>2023-06-01T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/06/01/status-2023-05/</id>
    <summary xml:lang="en" type="html">GitHub re-org, Docker container, Faye joins the team</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🗃️ GitHub re-organization&lt;/h2&gt;
&lt;p&gt;Although the team unanimously agrees that there are &lt;a href=&quot;https://sfconservancy.org/GiveUpGitHub/&quot;&gt;very good reasons to leave GitHub&lt;/a&gt;, we have decided to stay there for a little while longer. CryptPad has been on GitHub since the very beginning, that is nearly 9 years of building visibility for the project. On top of this the team is changing and growing a lot currently. I feel that our priority should be to spend our time learning how to work well together rather than undertaking a big move on top of our workload.&lt;/p&gt;
&lt;p&gt;To make the most out of our remaining time on GitHub, we are doing some reorganization. We are moving to the &lt;a href=&quot;https://github.com/cryptpad&quot;&gt;CryptPad Organization&lt;/a&gt; which we created a couple years back but never used. The move is currently ongoing. The main CryptPad repository, documentation, and blog have been moved, the rest of our projects and packages are still under &lt;a href=&quot;https://github.com/xwiki-labs&quot;&gt;XWiki Labs&lt;/a&gt; and will follow in the coming weeks. GitHub should redirect requests to the old location but you can now use &lt;code&gt;git clone https://github.com/cryptpad/cryptpad.git&lt;/code&gt; to get the latest code.&lt;/p&gt;
&lt;p&gt;We will keep our eye on a few great open-source forge projects (for example &lt;a href=&quot;https://forgejo.org/&quot;&gt;Forgejo&lt;/a&gt; self-hosted or as part of &lt;a href=&quot;https://codeberg.org/&quot;&gt;Codeberg&lt;/a&gt;) to prepare a move out of GitHub in future.&lt;/p&gt;
&lt;h2&gt;🐳 Docker container&lt;/h2&gt;
&lt;p&gt;There has long been a demand for deploying CryptPad using Docker. As long as the team was &lt;em&gt;tiny&lt;/em&gt; (2 or 3) we did not have the resources to maintain a container, so Docker was a &amp;quot;community&amp;quot; effort thanks to &lt;a href=&quot;https://github.com/promasu&quot;&gt;Promasu&lt;/a&gt; volunteering his time 🙏 2 years ago with &lt;a href=&quot;https://github.com/cryptpad/cryptpad/releases/tag/3.17.0&quot;&gt;3.17.0&lt;/a&gt; we even made a point of moving all Docker related files to their &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad-docker&quot;&gt;own repository&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today the team has a bit more capacity (6) and some of our &lt;a href=&quot;https://blog.cryptpad.org/2023/02/09/CryptPad-Funding-Status-January-2023/&quot;&gt;ongoing projects for 2023&lt;/a&gt; include funding for Docker and Kubernetes deployment. We will therefore be able to move the dockerfile back to main CrytpPad repository and maintain it for each new release. We want to thank Promasu for all the work done over many years. It has become harder for him to find the time to do this work so we are happy to take it forward. Expect an update on the new container in a future status post and/or in the changelog!&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 Faye joins the team&lt;/h2&gt;
&lt;p&gt;We are delighted to welcome Faye Duxovni to the team as a privacy and cryptography engineer. Her focus will be on CryptPad&#39;s security and on making cryptography useful to people. She was previously at Element working on technical specifications as well as user-facing implementations for their end-to-end encrypted chat. We are thrilled to have Faye and her expertise on board!&lt;/p&gt;
&lt;h2&gt;🔭 Next steps&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Turning our attention back to the &lt;a href=&quot;https://www.drawio.com/&quot;&gt;Draw.io&lt;/a&gt; integration prototype and working towards its release&lt;/li&gt;
&lt;li&gt;Preparing for the XWiki annual seminar at the end of the month&lt;/li&gt;
&lt;li&gt;Getting ready to welcome Daria and Diana, our two summer interns as part of the &lt;a href=&quot;https://stagiipebune.ro/&quot;&gt;Stagii pe Bune&lt;/a&gt; program in Romania&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="docker" scheme="https://blog.cryptpad.org/tags/docker/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
  </entry>
  <entry>
    <title>April 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/05/03/status-2023-04/"/>
    <updated>2023-05-03T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/05/03/status-2023-04/</id>
    <summary xml:lang="en" type="html">5.3 release, new status pages, and some team updates</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 CryptPad 5.3&lt;/h2&gt;
&lt;p&gt;At the time of writing we are in the last stages of wrapping up CryptPad 5.3 for release. This version upgrades all of the OnlyOffice applications (Spreadsheet, Document, Presentation) to version 7.1. We improved the Form application with Condorcet voting results (ordered list questions) as well as bug fixes and minor tweaks. Please see the &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/5.3.0&quot;&gt;Changelog&lt;/a&gt; for the full details.&lt;/p&gt;
&lt;h2&gt;🚦 New status pages&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/status-page.png&quot; alt=&quot;status page screenshot&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are introducing two new pages to check on the status of CryptPad and its related services. &lt;a href=&quot;https://uptime.cryptpad.org/status/cryptpad&quot;&gt;🚦 CryptPad Status&lt;/a&gt; shows the availability of our flagship instance &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; and all other sites maintained by the development team (documentation, project website, this blog, and so on). &lt;a href=&quot;https://uptime.cryptpad.org/status/public-instances&quot;&gt;🚦 CryptPad Instances Status&lt;/a&gt; shows all &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;public instances listed on our website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We are very grateful to &lt;a href=&quot;https://uptime.kuma.pet/&quot;&gt;Uptime Kuma&lt;/a&gt; for providing a simple, easy to use, and &lt;a href=&quot;https://github.com/louislam/uptime-kuma&quot;&gt;open-source&lt;/a&gt; monitoring tool.&lt;/p&gt;
&lt;h2&gt;🛠️ Team&lt;/h2&gt;
&lt;p&gt;There is more movement on the team this month. Unfortunately Arnaud Laprévote will not stay with XWiki, so he will also stop contributing to CryptPad&#39;s business and research efforts. We thank Arnaud for the ideas, leads, and projects generated in the last few months and whish him well for future endeavours.&lt;/p&gt;
&lt;p&gt;On the hiring front, we are in the last stages of contractual work for a great &lt;a href=&quot;https://cryptpad.org/jobs/#privacy-eng&quot;&gt;Privacy and Cryptography Engineer&lt;/a&gt;. We hope to report some exciting news on this in the next monthly status!&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;p&gt;We will be pushing forward on the various research projects in the next month. Some partnerships have now officially been announced so we will say more about them soon. Most importantly we will be planning which of our prototype features to prioritize for the next release!&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="onlyoffice" scheme="https://blog.cryptpad.org/tags/onlyoffice/"/>
    <category term="infrastructure" scheme="https://blog.cryptpad.org/tags/infrastructure/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
  </entry>
  <entry>
    <title>March 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/03/31/status-2023-03/"/>
    <updated>2023-03-31T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/03/31/status-2023-03/</id>
    <summary xml:lang="en" type="html">Welcoming Zuzanna to the team, and saying goodbye to Aaron and Theo</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;👩‍🔬 Zuzanna Łudzik joins the team&lt;/h2&gt;
&lt;p&gt;Last week we welcomed Zuzanna to the team as a junior developer. She studied neuroscience and climate science before retraining as a software engineer and working for charities and educational companies. She will start by looking at how to improve Quality Assurance for CryptPad, and will no doubt end up contributing to more areas.&lt;/p&gt;
&lt;h2&gt;👋 Farewell to Aaron MacSween&lt;/h2&gt;
&lt;p&gt;This month was Aaron&#39;s last with the team, as &lt;a href=&quot;https://blog.cryptpad.org/2022/12/29/stepping-down/&quot;&gt;he announced&lt;/a&gt; at the end of 2022 he will be taking a well-deserved holiday before focusing on his work as an independent privacy and security researcher.&lt;/p&gt;
&lt;p&gt;On behalf of the whole team I&#39;d like to thank Aaron for the 7 years of relentless work he has committed to CryptPad. By this I don&#39;t just mean 5400+ commits on our &lt;code&gt;main&lt;/code&gt; branch but also all the work as project lead: securing grants to fund the project, driving the roadmap, all while endlessly monitoring prod, building a customer base, and making CryptPad known and used by thousands.&lt;/p&gt;
&lt;p&gt;Aaron we wish you the very best in your future endeavours, and we hope that you&#39;ll be back to visit!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/Cryptpad-2.png&quot; alt=&quot;screenshot of the CryptPad 2.0.0 homepage&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As a farewell postcard, this is CryptPad 2.0.0 released around the time Aaron became project lead in 2018. Note that Sheets, shared folders, Teams, Contacts, and so many other features are missing...&lt;/p&gt;
&lt;h2&gt;👋 Farewell to Theo von Arx&lt;/h2&gt;
&lt;p&gt;We are also saying good bye to Theo as his 6 months of work on &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;Blueprints&lt;/a&gt; are coming to an end. Theo has been applying his cryptography expertise to CryptPad to both document how it currently works and pave the way for future developments. These contributions will help improve the product in months and years to come. We are very grateful to Theo for all the work he produced. The &lt;a href=&quot;https://blog.cryptpad.org/2023/02/02/Whitepaper/&quot;&gt;Cryptpad whitepaper&lt;/a&gt; is already published and we will be gathering all the other outputs in a dedicated R&amp;amp;D website in the coming weeks. Theo is going to start a PhD at ETH Zurich and we wish him the very best on his future projects!&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;p&gt;With all of these changes in the team we have been busy with handing off various projects (AUTH, Blueprints) and onboarding. Following our quarterly schedule we should have released a new version of CryptPad about now, but we are pushing this back to prioritize team communication and workload management.&lt;/p&gt;
&lt;p&gt;As mentioned &lt;a href=&quot;https://blog.cryptpad.org/2023/02/28/status-2023-02/&quot;&gt;last month&lt;/a&gt;, we have lots of prototypes around, as well as improvements to Forms and OnlyOffice. We will package some of these into a new release in the coming weeks. Maybe even before the next status!&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
  </entry>
  <entry>
    <title>February 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/02/28/status-2023-02/"/>
    <updated>2023-02-28T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/02/28/status-2023-02/</id>
    <summary xml:lang="en" type="html">Lots of prototypes and CryptPad AUTH officially starts</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚧 Lots of prototypes&lt;/h2&gt;
&lt;p&gt;Since the start of the year we have been working on a few projects in parallel, so we are accumulating prototypes for a variety of new experimental features:&lt;/p&gt;
&lt;h3&gt;Nextcloud&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/proto-nextcloud.png&quot; alt=&quot;screenshot of CryptPad code app running in Nextcloud&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Wolfgang and Yann have been working on an integration with &lt;a href=&quot;https://nextcloud.com/&quot;&gt;Nextcloud&lt;/a&gt;. A minimal CryptPad instance (as in limited to the Code/Markdown application for now) opens documents in temporary collaborative editing sessions, with all changes synced back to Nextcloud for storage.&lt;/p&gt;
&lt;h3&gt;Diagrams&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/proto-diagram.png&quot; alt=&quot;screenshot of Diagram app in CryptPad&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Wolfgang has been working on integrating &lt;a href=&quot;https://www.diagrams.net/&quot;&gt;Draw.io&lt;/a&gt; as a CryptPad application. Early tests are looking very promising, there are still a few key challenges ahead such as import/export, inserting images, increasing security (CSP headers).&lt;/p&gt;
&lt;h3&gt;Notes&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/proto-notes.png&quot; alt=&quot;the Code and Markdown Slide apps merging into the Notes app&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Yann and David are working on the early stages of Notes, a new application that will combine the current Code and Markdown Slides apps. We plan on supporting different &amp;quot;modes&amp;quot; that will 1) preserve existing features and 2) improve the visibility and experience of using Markdown on CryptPad. Yann currently has most existing Code features working in &lt;a href=&quot;https://codemirror.net/&quot;&gt;CodeMirror 6&lt;/a&gt; (current apps use CodeMirror 5). Next steps are to use &lt;a href=&quot;https://revealjs.com/&quot;&gt;reveal.js&lt;/a&gt; for the slide mode and to design a single-pane note mode with Markdown inline preview.&lt;/p&gt;
&lt;h3&gt;Yjs&lt;/h3&gt;
&lt;p&gt;As part of our &lt;a href=&quot;https://blog.cryptpad.org/tags/blueprints/&quot;&gt;Blueprints project&lt;/a&gt;, Theo has put together a working prototype of CryptPad&#39;s Code application over &lt;a href=&quot;https://yjs.dev/&quot;&gt;Yjs&lt;/a&gt;. This will likely remain at an experimental stage for now, but it will be made available with the other project deliverables.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;As you may have noticed, each of these prototypes integrates or relies on other open-source projects. CryptPad wouldn&#39;t exist without this broader ecosystem so we encourage you to check out and support all of these projects: &lt;a href=&quot;https://nextcloud.com/&quot;&gt;Nextcloud&lt;/a&gt;, &lt;a href=&quot;https://www.diagrams.net/&quot;&gt;Draw.io&lt;/a&gt;, &lt;a href=&quot;https://codemirror.net/&quot;&gt;CodeMirror&lt;/a&gt;, &lt;a href=&quot;https://revealjs.com/&quot;&gt;reveal.js&lt;/a&gt;, and &lt;a href=&quot;https://yjs.dev/&quot;&gt;Yjs&lt;/a&gt;. We will in turn make all of these prototypes available and open-source when they are ready, whether or not they are integrated into a future version of CryptPad.&lt;/p&gt;
&lt;h2&gt;🔑 🪪 AUTH officially starts&lt;/h2&gt;
&lt;p&gt;We are happy to announce that we have finally signed off the &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Auth/&quot;&gt;CryptPad AUTH&lt;/a&gt; project with NLNet, as part of the &lt;a href=&quot;https://nlnet.nl/assure/&quot;&gt;NGI ASSURE&lt;/a&gt; grant programme. The project&#39;s main goal is to make CryptPad more secure by adding support for external authentication methods. We will be working to add suport for two main types of services: identity providers (such as OpenID, LDAP, etc) and two factor authenticators (such as Time-based One-time Passwords). We know these are much requested features for many people looking to integrate CryptPad with existing infrastructure (e.g. in enterprise) so we look forward to making them available.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The various prototypes presented here are all part of different projects and partnerships with their own time-frames. We will be aligning those with our own roadmap and planning how and when each of them will make their way into future versions of CryptPad.&lt;/li&gt;
&lt;li&gt;We are &lt;a href=&quot;https://fosstodon.org/@cryptpad/109875016889111728&quot;&gt;still hiring&lt;/a&gt; please look at our &lt;a href=&quot;https://cryptpad.org/jobs/&quot;&gt;available roles&lt;/a&gt; and share them with anyone who might be interested.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="auth" scheme="https://blog.cryptpad.org/tags/auth/"/>
  </entry>
  <entry>
    <title>CryptPad Funding Status January 2023</title>
    <link href="https://blog.cryptpad.org/2023/02/09/CryptPad-Funding-Status-January-2023/"/>
    <updated>2023-02-09T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/02/09/CryptPad-Funding-Status-January-2023/</id>
    <summary xml:lang="en" type="html">A summary of our budget for the year 2022 and planning for 2023</summary>
    <content xml:lang="en" type="html">&lt;p&gt;It&#39;s been since January 2021 that we haven&#39;t given a funding status to our community, especially to everyone supporting us on Open Collective. We are sorry about that. The reason is that we have been very busy working on European Union (EU) projects and also working to secure some larger funding for the years 2023-2026. We&#39;ll come back to that later in this post.&lt;/p&gt;
&lt;p&gt;First some news about how 2022 went.&lt;/p&gt;
&lt;h2&gt;2022 Financial Status&lt;/h2&gt;
&lt;p&gt;From the financial point of view the year of 2022 is negative by &lt;strong&gt;€50k&lt;/strong&gt;. So the TL;DR for this post is that you can help us cover the losses of 2022 in 2023 by donating on &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;Open Collective&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;On the revenue side, for 2022 we have been accepted for 2 grants of 50k each from NLnet through Next Generation Internet (NGI) Assure and NGI Zero Entrust, which is €50k less than last year. The special research tax credit, or Crédit Impôt Recherche (CIR) in French, for 2022 for hiring a PhD graduate gives us €40k for the last year. Subscriptions and donations have increased to a total of €59k (from €49k) for a total funding of &lt;strong&gt;€199k&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;On the spending side we have increased spending on 2022 to &lt;strong&gt;€249k&lt;/strong&gt;, through some raises, hiring &lt;a href=&quot;https://blog.cryptpad.org/2022/10/28/status-2022-10/&quot;&gt;Theo&lt;/a&gt; for the NGI Zero Entrust project and also hiring &lt;a href=&quot;https://blog.cryptpad.org/2022/08/30/status-2022-08/&quot;&gt;Mathilde&lt;/a&gt; and &lt;a href=&quot;https://blog.cryptpad.org/2022/11/28/status-2022-11/&quot;&gt;Arnaud&lt;/a&gt; to prepare the future, bringing the final balance to -€50k.&lt;/p&gt;
&lt;p&gt;However during 2022 we have also worked hard to find some new funding for 2023,which is why we decided to hire anyway to prepare for this. This turned out to be the right decision, because just before the end of the year, we have received some funding to implement Diagrams inside CryptPad and also a 10K$ donation from a large company.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2023-budget-chart.png&quot; alt=&quot;chart showing the balance of resources vs spending for the years 2019 to 2022&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;What did we do in 2022 with our funding&lt;/h2&gt;
&lt;p&gt;In particular we released version 5.0 with a new, more modern and minimalist design with rounded corners and simpler colors, but many other improvements and additions to all our apps.&lt;/p&gt;
&lt;p&gt;Here is a summary of our achievements in 2022.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cryptpad.org/2022/12/21/status-2022-12/&quot;&gt;December&lt;/a&gt;: new form settings, improved team drive onboarding&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cryptpad.org/2022/10/28/status-2022-10/&quot;&gt;October&lt;/a&gt;: new forum, repeating calendar events&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cryptpad.org/2022/09/29/status-2022-09/&quot;&gt;September&lt;/a&gt;: new features for instance administrators&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cryptpad.org/2022/04/27/status-2022-04/&quot;&gt;April&lt;/a&gt;: project website, public instance list&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://blog.cryptpad.org/2022/03/29/March-2022-status-catching-up-on-recent-news/&quot;&gt;March&lt;/a&gt;: INTEROFFICE project wrap up, bug bounty program&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We also started the work on the CryptPad Auth project bringing SSO and MFA to CryptPad which is still in progress, and we published the CryptPad White Paper to describe the &lt;a href=&quot;https://blog.cryptpad.org/2023/02/02/Whitepaper/&quot;&gt;security of CryptPad&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;2023 Funding &amp;amp; Budget&lt;/h2&gt;
&lt;p&gt;At the beginning of 2022 we have applied to a French Banque Publique d&#39;Investissement (BPI) program called « Development of Cloud-based collaborative Office suite&amp;quot; ( Développement de suites bureautiques cloud de travail collaboratif ») in partnership with other French companies. We decided to join multiple consortiums, which have been successfully selected for the final validation step. We are now expecting the projects (unless there is a bad surprise) to be signed by BPI France at the beginning of 2023. We expect these projects to bring significant funding for 2023 to 2026 to CryptPad, but we cannot yet confirm those. The funding planned for BPI will include investment on the OnlyOffice components, on the integration with other platforms (including implement Open with CryptPad APIs), improve the Docker &amp;amp; Kubernetes deployment of CryptPad.&lt;/p&gt;
&lt;p&gt;Secondly we are happy that we have now received a sponsorship from a state project in Germany, to develop a CryptPad &lt;a href=&quot;http://draw.io/&quot;&gt;Draw.io&lt;/a&gt; integration and provide a diagram editor and build an API to integrate CryptPad as an editor for NextCloud text and diagrams. The full extend and the scope of the funding is in finalization and still needs to be confirmed but we expect it to cover:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the integration of &lt;a href=&quot;http://draw.io/&quot;&gt;Draw.io&lt;/a&gt; providing a professional diagram editor to CryptPad&lt;/li&gt;
&lt;li&gt;an integration API&lt;/li&gt;
&lt;li&gt;a Nextcloud integration to open and store CryptPad documents in Nextcloud&lt;/li&gt;
&lt;li&gt;the Docker and Kubernetes packaging&lt;/li&gt;
&lt;li&gt;accessibility of the general CryptPad UI, the text and diagram editors&lt;/li&gt;
&lt;li&gt;security work&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect this funding to significantly accelerate the development of CryptPad this year.&lt;/p&gt;
&lt;p&gt;Therefore, XWiki SAS has decided to anticipate the hiring in the CryptPad team to prepare for the growth in 2023.&lt;/p&gt;
&lt;p&gt;For 2023, the budget will increase significantly with a larger team. Theo will finish his 6 month contract at the end of March, as planned, to start his PhD. We also hired Wolfgang, who has started in January to complete the team and allow us to prepare the projects planned in 2023.&lt;/p&gt;
&lt;p&gt;Aaron the current technical lead of CryptPad will &lt;a href=&quot;https://blog.cryptpad.org/2022/12/29/stepping-down/&quot;&gt;take a break from the project and leave us end of March 2023&lt;/a&gt;. He has already passed on the project leadership to David, now the technical leadership will be passed on to Yann. &lt;strong&gt;Aaron has been an incredible lead to bring the project to this status which allowed larger organizations to believe in this project.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;With all this, before including the BPI projects, the budget for the team will be reaching &lt;strong&gt;€500k of spending&lt;/strong&gt; and we won&#39;t have the extra PhD help we had for 2020-2022. This budget will not be covered only with subscriptions and donations, which we expect to be around &lt;strong&gt;€80k.&lt;/strong&gt; We already expect €300k   from the large German project, which would allow to balance the budget but not cover the loss of 2022. This budget only includes one new hire (Wolfgang) in the team and a part-time web developer.&lt;/p&gt;
&lt;p&gt;With the BPI funding, we expect the revenue to reach &lt;strong&gt;€600k to €800k&lt;/strong&gt;, which would allow us to accelerate hiring in the team, while being careful on long term funding of the team.&lt;/p&gt;
&lt;h2&gt;CryptPad funding over the years&lt;/h2&gt;
&lt;p&gt;You can see in this table the details of the funding of the CryptPad project inside XWiki SAS throughout the years&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Year&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Total Revenue&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Total Costs&lt;/th&gt;
&lt;th style=&quot;text-align:left&quot;&gt;Balance&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;2019&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;153,5&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;160&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;-6,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;2020&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;236,5&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;242&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;-5,5&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;2021&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;267&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;254&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;13&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;257,2&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;307&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;-49,8&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Planned 2023 - Safe&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;505&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;495&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Planned 2023 - Mid Level&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;685&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;630&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;55&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:left&quot;&gt;Planned 2023 - Dream&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;905&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;835&lt;/td&gt;
&lt;td style=&quot;text-align:left&quot;&gt;70&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All data in thousands of Euros&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2023-budget-chart-possible.png&quot; alt=&quot;bar chart comparing the figures in the table above&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Additional details about the source of the funding and the costs. As you can see most of the costs of the CryptPad project are the team salaries. Some additional costs cover structure costs for XWiki SAS (office, HR, activities, trips, etc..). In terms of revenue we can count of the subscriptions and donations which cover part of the budget and the french tax cut &amp;quot;Crédit Impôt Recherche&amp;quot; covering part of the salaries. The main part of our funding in the last years has been European Research Project in particular from the Next Generation Internet Program. As explained before, this should change in 2023 with the arrival of a large project from Germany and the French research projects.&lt;/p&gt;
&lt;h2&gt;Financial Resources&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Subscriptions&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Donations&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Research Projects&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Client Roadmap&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Client Service&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;CIR*&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;CIR PHD**&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2019&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;10&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;39&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2020&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;20&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;109&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;59&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2021&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;14&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;150&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;28&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;46,5&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;12,7&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;100&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;58&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;40&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Safe&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Mid Level&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;200&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;110&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;90&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Dream&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;60&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;25&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;300&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;300&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;150&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;70&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;* CIR: Crédit Impôt Recherche Tax Cut&lt;br /&gt;
** CIR PHD: Extra Crédit Impôt Recherche for the first two years of hiring a PhD graduate&lt;br /&gt;
All data in thousands of Euros&lt;/p&gt;
&lt;h2&gt;Spending&lt;/h2&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th style=&quot;text-align:center&quot;&gt;&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Number of Employees (Full-time Equivalent)&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Team Salaries&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Other costs&lt;/th&gt;
&lt;th style=&quot;text-align:center&quot;&gt;Hosting Costs&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2019&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;141&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;19&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2020&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;210&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;32&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2021&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;3&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;212&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;42&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;2022&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;4&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;272&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;35&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Safe&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;6&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;420&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;75&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Mid Level&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;7-8&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;550&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;80&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td style=&quot;text-align:center&quot;&gt;Planned 2023 - Dream&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;8+&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;750&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;85&lt;/td&gt;
&lt;td style=&quot;text-align:center&quot;&gt;0 (*)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;All data in thousands of Euros&lt;/p&gt;
&lt;p&gt;(*)  XWiki SAS is sponsoring the hosting and infrastructure management of the &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; service as well as the development servers.&lt;/p&gt;
&lt;h2&gt;What does it mean for CryptPad&lt;/h2&gt;
&lt;p&gt;Overall, even if the budget for 2022 is not balanced and the budget for 2023 not yet completed, as we are waiting for the signature of the BPI Projects, this is incredibly good news for CryptPad. In 2022, we have continued to grow, securing funding for Single Sign-On (SSO, CryptPad Auth) and for documenting the Cryptography (CryptPad Blueprints). We have also seen an increased interest of CryptPad through the consortiums, for both the BPI and the German project. The promise of an end-to-end encrypted collaboration solution is becoming real. These projects are needed because the work required to achieve this is immense.&lt;/p&gt;
&lt;p&gt;We just came back from FOSDEM where we had 3 presentations from our team and have been talking to the community, giving away CryptPad t-shirts to our users. Our stock went away quickly as we are happy to see that more and more people know and use CryptPad.&lt;/p&gt;
&lt;p&gt;We are therefore optimistic that in 2023, it will be a great year of growth for CryptPad and that we will also be able to secure the funding for the following years. However over the long term we have not yet guaranteed the sustainability of CryptPad. For this we would need more recurrent revenue from subscriptions, donations and clients.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;This also means we will have new hires during the year. If the CryptPad project is something that matters to you, check our jobs postings: &lt;a href=&quot;https://cryptpad.org/jobs/&quot;&gt;https://cryptpad.org/jobs/&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2&gt;You can help CryptPad grow faster and be more sustainable&lt;/h2&gt;
&lt;p&gt;On the cash flow side, XWiki SAS has also done good sales and is able to cover the short term needs, though given the growth of both XWiki and CryptPad, we do expect that it won&#39;t be easy to hire as fast as we would like. This is why, although we do have projects coming up, the help of our community is more than welcome.&lt;/p&gt;
&lt;p&gt;Beyond the need of cash to hire faster, it is still important to bring additional, independent funding to CryptPad through &lt;strong&gt;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;subscriptions&lt;/a&gt; or through regular (monthly or yearly) &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations&lt;/a&gt; or through &lt;a href=&quot;https://cryptpad.org/pricing/enterprise/&quot;&gt;enterprise clients&lt;/a&gt;&lt;/strong&gt;, as this would increase recurrent revenue which is needed.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For CryptPad to be less dependent on short or medium term projects, the recurrent funding for the maintenance of the core software is &lt;strong&gt;essential.&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Our users, paying users and donors are our credibility. When we discuss with potential customers or project partners, each user is key, each instance being installed, each pad being opened, each mention of CryptPad. You are our credibility.&lt;/p&gt;
&lt;p&gt;We&#39;d like to thank all of you and encourage anyone to join them on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; or &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;Open Collective&lt;/a&gt;.&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>CryptPad White Paper</title>
    <link href="https://blog.cryptpad.org/2023/02/02/Whitepaper/"/>
    <updated>2023-02-02T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/02/02/Whitepaper/</id>
    <summary xml:lang="en" type="html">We proudly present the CryptPad white paper summarizing the use of cryptography in CryptPad.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/whitepaper-diagram.png&quot; alt=&quot;Figure: Key derivation for a form&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We proudly present the &lt;a href=&quot;https://blog.cryptpad.org/images/whitepaper.pdf&quot;&gt;CryptPad white paper&lt;/a&gt;
summarizing the use of cryptography in CryptPad.
The paper is targeted at people who are familiar with cryptography, but
obviously available for everyone interested in CryptPad.&lt;/p&gt;
&lt;p&gt;&lt;a class=&quot;btn&quot; href=&quot;https://blog.cryptpad.org/images/whitepaper.pdf&quot;&gt;&lt;i class=&quot;fa fa-file-pdf-o&quot;&gt;&lt;/i&gt; White Paper PDF - 355kB&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;In this white paper, we discuss CryptPad&#39;s underlying threat model, and explain
the communication between the server and the client.
We present the encryption of documents as the core functionality of CryptPad.
We further show how the login mechanism works and how we establish secure
communication between different users.
Finally, we discuss how we enable secure communication and access control within
a team.&lt;/p&gt;
&lt;p&gt;This white paper is part of the &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;CryptPad Blueprints
Project&lt;/a&gt; and is funded through
the &lt;a href=&quot;https://nlnet.nl/entrust&quot;&gt;NGI0 Entrust Fund&lt;/a&gt;. We thank
&lt;a href=&quot;https://nlnet.nl/&quot;&gt;NLnet&lt;/a&gt; for their support. All of the project&#39;s outputs, including this white paper, will be made available through a dedicated website as the project progresses.&lt;/p&gt;
&lt;p&gt;We wish you a good read!
You can reach us with any questions or comments on &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;our forum&lt;/a&gt;,
&lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;Matrix&lt;/a&gt;,
&lt;a href=&quot;https://fosstodon.org/@cryptpad&quot;&gt;Mastodon&lt;/a&gt;, or
via &lt;a href=&quot;mailto:contact@cryptpad.fr&quot;&gt;Email&lt;/a&gt;.&lt;/p&gt;
&lt;!-- &lt;iframe src=&quot;/images/whitepaper.pdf#view=fit&amp;toolbar=0&amp;navpanes=0&quot; width=&quot;100%&quot; height=&quot;450px&quot;&gt;&lt;/iframe&gt; --&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="documentation" scheme="https://blog.cryptpad.org/tags/documentation/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="Blueprints" scheme="https://blog.cryptpad.org/tags/Blueprints/"/>
  </entry>
  <entry>
    <title>January 2023 status</title>
    <link href="https://blog.cryptpad.org/2023/01/31/status-2023-01/"/>
    <updated>2023-01-31T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2023/01/31/status-2023-01/</id>
    <summary xml:lang="en" type="html">New pricing for hosted instances, Wolfgang joins the team, CryptPad Blueprints officially starts, FOSDEM presentations</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/instance-education.png&quot; alt=&quot;screenshot of customized cryptpad instance for education&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;🎟️ New pricing for hosted instances&lt;/h2&gt;
&lt;p&gt;The project site has &lt;a href=&quot;https://cryptpad.org/pricing/&quot;&gt;new pages&lt;/a&gt; dedicated to &lt;a href=&quot;https://cryptpad.org/pricing/education/&quot;&gt;Education&lt;/a&gt;, &lt;a href=&quot;https://cryptpad.org/pricing/nonprofit/&quot;&gt;Nonprofits&lt;/a&gt;, and &lt;a href=&quot;https://cryptpad.org/pricing/enterprise/&quot;&gt;Enterprise&lt;/a&gt;. This is an opportunity to showcase some instance customizations and put forward some key arguments for CryptPad in each of these sectors. We are also launching our pricing range for managed instances, with the following basis:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Enterprise&lt;/li&gt;
&lt;li&gt;Nonprofit (50% off Enterprise)&lt;/li&gt;
&lt;li&gt;Education (50% off Enterprise + only staff are counted)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;While self-hosting remains a free option for everyone, managed instances are a way for companies and organizations to contribute to the long-term stability of the project.&lt;/p&gt;
&lt;h2&gt;🧑‍🔬 Wolfgang joins the team&lt;/h2&gt;
&lt;p&gt;We are thrilled to welcome Wolfgang Ginolas to the team. He started first thing in 2023 as an R&amp;amp;D Engineer, bringing 14 years of experience in full-stack software development. Wolfgang will tackle some of the important challenges ahead, such as improving OnlyOffice integrations, and many more...&lt;/p&gt;
&lt;h2&gt;🔬🔭 CryptPad Blueprints officially starts&lt;/h2&gt;
&lt;p&gt;Even though work has started since Theo &lt;a href=&quot;https://blog.cryptpad.org/2022/10/28/status-2022-10/&quot;&gt;joined the team back in October&lt;/a&gt;, the CryptPad &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Blueprints/&quot;&gt;Blueprints&lt;/a&gt; project has now been fully signed-off as part of the &lt;a href=&quot;https://nlnet.nl/entrust/&quot;&gt;NGI0 Entrust fund&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Blueprints&lt;/em&gt; is perhaps the most R&amp;amp;D project we have done to date. It is about thoroughly documenting the use of cryptography in CryptPad, and paving the way  towards the &amp;quot;next generation&amp;quot; of the project. This will be done through a set of deliverables that range from documentation to experimental prototypes, including but not limited to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Whitepaper documenting the use of cryptography in CryptPad
&lt;ul&gt;
&lt;li&gt;Including a detailed threat model&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Guide for users on how to use CryptPad in the most secure way&lt;/li&gt;
&lt;li&gt;Experimental prototypes and/or mockups for future features:
&lt;ul&gt;
&lt;li&gt;Offline first editing with Conflict Free Replicated Data Types (CRDTs)&lt;/li&gt;
&lt;li&gt;Perfect forward secrecy for a more fine-grained degree of access control e.g. to the document history&lt;/li&gt;
&lt;li&gt;Account-recovery mechanism making use of social secret sharing&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Look for these as we start publishing outcomes in the coming weeks and months. If you&#39;d like to hear about this work from Theo himself, catch his presentation at FOSDEM this Saturday Feb. 4th, which brings us to:&lt;/p&gt;
&lt;h2&gt;📢 FOSDEM presentations&lt;/h2&gt;
&lt;p&gt;A few people of the team will be at FOSDEM in Brussels this weekend, so please come say hi if you are around. We&#39;ll be giving the following presentations&lt;/p&gt;
&lt;h3&gt;Whom Do You Trust?&lt;/h3&gt;
&lt;p&gt;Privacy and Collaboration in CryptPad&lt;/p&gt;
&lt;p&gt;Speaker: Theo von Arx (Cryptography researcher, CryptPad team)&lt;br /&gt;
Day: Saturday&lt;br /&gt;
Start: 15:00&lt;br /&gt;
End: 15:25&lt;br /&gt;
Location: UA2.118 (Henriot)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2023/schedule/event/security_whom_do_you_trust/&quot;&gt;https://fosdem.org/2023/schedule/event/security_whom_do_you_trust/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;The Importance of Collaborative Applications for European Digital Sovereignty&lt;/h3&gt;
&lt;p&gt;Progress and challenges of alternatives facing the BigTechs&lt;/p&gt;
&lt;p&gt;Speaker: Ludovic Dubost (XWiki CEO)&lt;br /&gt;
Day: Saturday&lt;br /&gt;
Start: 15:45&lt;br /&gt;
End: 16:45&lt;br /&gt;
Location: H.1301 (Cornil)&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2023/schedule/event/sovcloud_the_importance_of_collaborative_applications_for_european_digital_sovereignty/&quot;&gt;https://fosdem.org/2023/schedule/event/sovcloud_the_importance_of_collaborative_applications_for_european_digital_sovereignty/&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Privacy and Collaboration&lt;/h3&gt;
&lt;p&gt;How CryptPad lets you have both&lt;/p&gt;
&lt;p&gt;Speaker: David Benqué (Project lead, CryptPad team)&lt;br /&gt;
Day: Saturday&lt;br /&gt;
Start: 18:00&lt;br /&gt;
End: 18:25&lt;br /&gt;
Location: K.4.601&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://fosdem.org/2023/schedule/event/collab_cryptpad/&quot;&gt;https://fosdem.org/2023/schedule/event/collab_cryptpad/&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Similar to &lt;em&gt;Blueprints&lt;/em&gt;, CryptPad &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Auth/&quot;&gt;AUTH&lt;/a&gt; has been in the final stage of approval for some time, so we are looking forward to getting it over the line and start implementing new authentication features.&lt;/li&gt;
&lt;li&gt;We have a number of big partnership projects lined up for 2023, each with the potential for adding new and important features to CryptPad in the year(s) to come. We hope to be able to say more in the next monthly status.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="Blueprints" scheme="https://blog.cryptpad.org/tags/Blueprints/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
  </entry>
  <entry>
    <title>Stepping down</title>
    <link href="https://blog.cryptpad.org/2022/12/29/stepping-down/"/>
    <updated>2022-12-29T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/12/29/stepping-down/</id>
    <summary xml:lang="en" type="html">After seven years of contributing to CryptPad&#39;s code and having led the project since 2018, I have decided that it is time for me to take a step back to pursue some new goals.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;After seven years of contributing to CryptPad&#39;s code and having led the project since 2018, I have decided that it is time for me to take a step back to pursue some new goals.
I plan to take an extended holiday, after which I&#39;ll focus on growing my practice as an independent privacy and security researcher.&lt;/p&gt;
&lt;p&gt;Not that long ago we had to try convince people just to test the platform.
Now, I&#39;ve lost track of all the times its usage doubled or more overnight, leaving us scrambling to solve new scaling issues.
I am truly grateful that I had the opportunity to be a part of this journey and to have spent this time alongside some fantastic colleagues.&lt;/p&gt;
&lt;p&gt;Going forward the team will be led by David, who you may have known up until now as our design lead.
Since 2019, David has been the bridge between our users&#39; needs and the platform&#39;s engineering requirements.
That design work is at the core of our mission - to make privacy and encryption accessible to a much broader audience - and I am confident the team will thrive as it begins this new chapter.&lt;/p&gt;
&lt;p&gt;I will remain on the team for a few more months to ensure that this transition happens smoothly, but naturally, David will have the support of the rest of the team.
Yann has been a part of CryptPad since the very beginning, well before I moved from Canada to France to join the effort.
Mathilde has taken on the role of platform administrator and community organizer since the summer.
We will have a new member joining in January, and there are still &lt;a href=&quot;https://cryptpad.org/jobs/&quot;&gt;open positions on the team&lt;/a&gt; which you might be able to fill.
I am leaving the project in excellent hands.&lt;/p&gt;
&lt;p&gt;And of course, CryptPad is not just the product of our team&#39;s work, but also the sum of many contributions from the wider community.
I&#39;m very thankful for the support of our past and present funders from BPI France, Mozilla, members of Europe&#39;s NGI initiative, subscribers on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;, and everyone who has donated to our &lt;a href=&quot;https://opencollective.com/cryptpad#category-CONTRIBUTE&quot;&gt;OpenCollective campaign&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Once again, thank you to all of you who helped make these last seven years what they were, and have a great 2023!&lt;/p&gt;
</content>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
  </entry>
  <entry>
    <title>December 2022 status</title>
    <link href="https://blog.cryptpad.org/2022/12/21/status-2022-12/"/>
    <updated>2022-12-21T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/12/21/status-2022-12/</id>
    <summary xml:lang="en" type="html">CryptPad 5.2.0 and 5.2.1, Bitwarden Open Source Security Summit, and a sneak peek to 2023</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;🚀 New version (and fixes)&lt;/h2&gt;
&lt;p&gt;This month we released &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/5.2.0&quot;&gt;CryptPad 5.2.0&lt;/a&gt;, introducing some new and long-requested features&lt;/p&gt;
&lt;h3&gt;📊 New Forms settings&lt;/h3&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/new-form-settings.png&quot; alt=&quot;preview of the new forms settings dialog&quot; /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Submit multiple times and/or edit and delete past responses&lt;/li&gt;
&lt;li&gt;Notifications for form owners&lt;/li&gt;
&lt;li&gt;Form authors can delete all responses&lt;/li&gt;
&lt;li&gt;JSON export&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The settings area was getting crowded, so we refactored them into a modal window with a summary in the main editor view.&lt;/p&gt;
&lt;h3&gt;🗓️ 🔁 Repeating Calendar events&lt;/h3&gt;
&lt;p&gt;We already &lt;a href=&quot;https://blog.cryptpad.org/2022/10/28/status-2022-10/&quot;&gt;talked about this back in October&lt;/a&gt; but the feature is now available to everyone.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quick default patterns (daily, weekly, etc)&lt;/li&gt;
&lt;li&gt;Custom patterns&lt;/li&gt;
&lt;li&gt;Edit this, future, or all events&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;🤝 Team drive on-boarding improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Invite links can now be used a set number of times instead of only once&lt;/li&gt;
&lt;li&gt;Set the initial role for links instead of inviting everyone as viewer and promoting manually&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;🩹 Bug fixes&lt;/h3&gt;
&lt;p&gt;Following the release we identified a few bugs with help from the community. We released the fixes as &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/5.2.1&quot;&gt;CryptPad 5.2.1&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🛡️ Bitwarden Open Source Security Summit&lt;/h2&gt;
&lt;p&gt;David did a quick presentation of CryptPad at the Open Source Security Summit 2022 organized by &lt;a href=&quot;https://bitwarden.com/&quot;&gt;Bitwarden&lt;/a&gt; on 8th December. The individual speaker videos should be available on their &lt;a href=&quot;https://www.youtube.com/playlist?list=PL-IZTwAxWO4VMST3rtJTQPvNc277Xh1wW&quot;&gt;YouTube channel&lt;/a&gt; in the coming weeks.&lt;/p&gt;
&lt;h2&gt;🔭 What&#39;s next&lt;/h2&gt;
&lt;p&gt;We are excited to welcome another team member first thing in the new year, a senior developer that we will introduce soon.&lt;/p&gt;
&lt;p&gt;We are also looking forward to implementing some important new features next year, namely Single-Sign-On and Multi-factor authentication. We will be doing this thanks to a grant from &lt;a href=&quot;https://nlnet.nl/project/CryptPad-Auth/&quot;&gt;NLNet and NGI ASSURE&lt;/a&gt;. There will be much more information to come on this when the project starts.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="forms" scheme="https://blog.cryptpad.org/tags/forms/"/>
    <category term="calendar" scheme="https://blog.cryptpad.org/tags/calendar/"/>
    <category term="teams" scheme="https://blog.cryptpad.org/tags/teams/"/>
  </entry>
  <entry>
    <title>How to setup TLS certificates for CryptPad</title>
    <link href="https://blog.cryptpad.org/2022/12/12/tutorial-nginx-tls-acme/"/>
    <updated>2022-12-12T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/12/12/tutorial-nginx-tls-acme/</id>
    <summary xml:lang="en" type="html">A complete tutorial about Nginx TLS configuration with acme.sh</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Hello!&lt;/p&gt;
&lt;p&gt;This is the first of a new series of articles for the CryptPad blog. Let me introduce you to: tutorials! 📚&lt;/p&gt;
&lt;p&gt;Today we&#39;ll be diving into an important step during CryptPad setup when deploying your own instance: TLS certificate generation.&lt;/p&gt;
&lt;h2&gt;Prerequisites&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;You have read and followed the installation steps in the &lt;a href=&quot;https://docs.cryptpad.org/en/admin_guide/&quot;&gt;administrator guide&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;You are already familiar with Linux or UNIX systems, a command line text editor and basic command line use.
Unless stated otherwise, all commands listed in this article are meant to be run as superuser, &lt;code&gt;root&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;You have two different domains available, it&#39;s a strong requirement &lt;a href=&quot;https://docs.cryptpad.org/en/admin_guide/installation.html#admin-domain-config&quot;&gt;explained in the documentation&lt;/a&gt;. You know how to setup their DNS zone file and have added proper entries for both IPv4 &amp;amp; IPv6.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Dependencies&lt;/h2&gt;
&lt;p&gt;As Nginx is a basic requirement for CryptPad we&#39;ll assume that &lt;a href=&quot;https://nginx.org/en/linux_packages.html#Debian&quot;&gt;you have already installed it&lt;/a&gt;. However, we still need a way to generate our TLS certificates.&lt;/p&gt;
&lt;p&gt;Luckily, since 2015 and thanks to &lt;a href=&quot;https://letsencrypt.org/&quot;&gt;Let&#39;s Encrypt&lt;/a&gt;, something that was once expensive and kind of a hassle to setup has been greatly simplified. Now you can get TLS certificates for free and provision them in a super simple way thanks to a variety of clients available. We will focus on &lt;a href=&quot;https://github.com/acmesh-official/acme.sh&quot;&gt;acme.sh&lt;/a&gt;, &lt;em&gt;a pure Unix shell script implementing ACME client protocol&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Let&#39;s start by cloning the git repository.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;git&lt;/span&gt; clone https://github.com/acmesh-official/acme.sh.git&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then move inside the new folder and install it by specifying an email address for the account registration:&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token builtin class-name&quot;&gt;cd&lt;/span&gt; ./acme.sh&lt;br /&gt;./acme.sh &lt;span class=&quot;token parameter variable&quot;&gt;--install&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-m&lt;/span&gt; my@example.com&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This command should produce the following output.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Fri 02 Dec 2022 09:13:23 AM CET] It is recommended to install socat first.
[Fri 02 Dec 2022 09:13:23 AM CET] We use socat for standalone server if you use standalone mode.
[Fri 02 Dec 2022 09:13:23 AM CET] If you don&#39;t use standalone mode, just ignore this warning.
[Fri 02 Dec 2022 09:13:23 AM CET] Installing to /root/.acme.sh
[Fri 02 Dec 2022 09:13:23 AM CET] Installed to /root/.acme.sh/acme.sh
[Fri 02 Dec 2022 09:13:23 AM CET] Installing alias to &#39;/root/.bashrc&#39;
[Fri 02 Dec 2022 09:13:23 AM CET] OK, Close and reopen your terminal to start using acme.sh
[Fri 02 Dec 2022 09:13:23 AM CET] Installing cron job
38 0 * * * &amp;quot;/root/.acme.sh&amp;quot;/acme.sh --cron --home &amp;quot;/root/.acme.sh&amp;quot; &amp;gt; /dev/null
[Fri 02 Dec 2022 09:13:23 AM CET] Good, bash is found, so change the shebang to use bash as preferred.
[Fri 02 Dec 2022 09:13:24 AM CET] OK
[Fri 02 Dec 2022 09:13:24 AM CET] Install success!
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can safely ignore the socat warning since we won&#39;t use the standalone mode.&lt;/p&gt;
&lt;h2&gt;Configuration&lt;/h2&gt;
&lt;h3&gt;&lt;a href=&quot;http://acme.sh/&quot;&gt;acme.sh&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;It&#39;s a great ACME client because of its simplicity and the fact that it just works and then gets out of your way.&lt;/p&gt;
&lt;p&gt;The maintainers of &lt;a href=&quot;http://acme.sh/&quot;&gt;acme.sh&lt;/a&gt; have a sponsored partnership with ZeroSSL to set up their Certificate Authority (CA) as &lt;a href=&quot;http://acme.sh/&quot;&gt;acme.sh&lt;/a&gt;&#39;s default. But ZeroSSL free services can be unreliable. That&#39;s why we prefer Let&#39;s Encrypt, which is more reliable and also operated by a nonprofit organization.&lt;/p&gt;
&lt;p&gt;We need to change a single parameter to switch the CA from ZeroSSL to Let&#39;s Encrypt.
We do this with the following command:&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;acme.sh --set-default-ca &lt;span class=&quot;token parameter variable&quot;&gt;--server&lt;/span&gt; letsencrypt&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Which produces this result:&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;[&lt;/span&gt;Fri 02 Dec &lt;span class=&quot;token number&quot;&gt;2022&lt;/span&gt; 09:22:27 AM CET&lt;span class=&quot;token punctuation&quot;&gt;]&lt;/span&gt; Changed default CA to: https://acme-v02.api.letsencrypt.org/directory&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Nginx&lt;/h3&gt;
&lt;p&gt;Now we can configure Nginx!&lt;/p&gt;
&lt;p&gt;First we create a directory where the ACME token will be put for authenticating before certificates retrieval.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-p&lt;/span&gt; /var/www/le_root/.well-known/acme-challenge&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then we create a directory where the certificates will be stored when installed.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;&lt;span class=&quot;token function&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-p&lt;/span&gt; /etc/ssl/lets-encrypt/your-main-domain.com&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We also need to create an Nginx configuration file for &lt;a href=&quot;http://acme.sh/&quot;&gt;acme.sh&lt;/a&gt; webroot.&lt;/p&gt;
&lt;pre class=&quot;language-nginx&quot;&gt;&lt;code class=&quot;language-nginx&quot;&gt;&lt;span class=&quot;token directive&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;cat&lt;/span&gt; &amp;lt;&amp;lt;EOT &gt;&gt; /etc/nginx/letsencrypt-webroot&lt;br /&gt;location ^~ /.well-known/acme-challenge&lt;/span&gt; &lt;span class=&quot;token punctuation&quot;&gt;{&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token directive&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;allow&lt;/span&gt; all&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token directive&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;expires&lt;/span&gt; -1&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token directive&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;add_header&lt;/span&gt; Cache-Control no-store&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;    &lt;span class=&quot;token directive&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;alias&lt;/span&gt; /var/www/le_root/.well-known/acme-challenge/&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token punctuation&quot;&gt;}&lt;/span&gt;&lt;br /&gt;EOT&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;We link it to the default Nginx configuration file, pasting those lines below the &lt;code&gt;listen&lt;/code&gt; directive in &lt;code&gt;/etc/nginx/conf.d/default.conf&lt;/code&gt;:&lt;/p&gt;
&lt;pre class=&quot;language-nginx&quot;&gt;&lt;code class=&quot;language-nginx&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;# Let&#39;s Encrypt webroot&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token directive&quot;&gt;&lt;span class=&quot;token keyword&quot;&gt;include&lt;/span&gt; letsencrypt-webroot&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then we check if everything is sound.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;nginx &lt;span class=&quot;token parameter variable&quot;&gt;-t&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Finally, if we get no warning or errors, we reload the configuration to apply the last changes.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;nginx &lt;span class=&quot;token parameter variable&quot;&gt;-s&lt;/span&gt; reload&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Certificate generation&lt;/h2&gt;
&lt;p&gt;Now that we have configured &lt;a href=&quot;http://acme.sh/&quot;&gt;acme.sh&lt;/a&gt; &amp;amp; Nginx we can finally issue our certificates. We&#39;ll validate them against two domains, the main one and the one dedicated to the sandbox.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;acme.sh &lt;span class=&quot;token parameter variable&quot;&gt;--issue&lt;/span&gt; &lt;span class=&quot;token parameter variable&quot;&gt;-d&lt;/span&gt; your-main-domain.com &lt;span class=&quot;token parameter variable&quot;&gt;-d&lt;/span&gt; your-sandbox-domain.com &lt;span class=&quot;token parameter variable&quot;&gt;-w&lt;/span&gt; /var/www/le_root/&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This command should produce the following output.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Fri 02 Dec 2022 09:23:23 AM CET] Using stage ACME_DIRECTORY: https://acme-staging.api.letsencrypt.org/directory
[Fri 02 Dec 2022 09:23:23 AM CET] Creating domain key
[Fri 02 Dec 2022 09:23:23 AM CET] The domain key is here: /root/acme/.acme.sh/your-main-domain.com/your-main-domain.com.key
[Fri 02 Dec 2022 09:23:23 AM CET] Single domain=&#39;your-main-domain.com&#39;
[Fri 02 Dec 2022 09:23:24 AM CET] Getting domain auth token for each domain
[Fri 02 Dec 2022 09:23:24 AM CET] Getting webroot for domain=&#39;your-main-domain.com&#39;
[Fri 02 Dec 2022 09:23:25 AM CET] Getting new-authz for domain=&#39;your-main-domain.com&#39;
[Fri 02 Dec 2022 09:23:25 AM CET] The new-authz request is ok.
[Fri 02 Dec 2022 09:23:26 AM CET] Verifying:your-main-domain.com
[Fri 02 Dec 2022 09:23:27 AM CET] Success
[Fri 02 Dec 2022 09:23:27 AM CET] Verify finished, start to sign.
[Fri 02 Dec 2022 09:23:27 AM CET] Cert success.
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
[Fri 02 Dec 2022 09:23:28 AM CET] Your cert is in  /root/acme/.acme.sh/your-main-domain.com/your-main-domain.com.cer 
[Fri 02 Dec 2022 09:23:28 AM CET] Your cert key is in  /root/acme/.acme.sh/your-main-domain.com/your-main-domain.com.key 
[Fri 02 Dec 2022 09:23:28 AM CET] The intermediate CA cert is in  /root/acme/.acme.sh/your-main-domain.com/ca.cer 
[Fri 02 Dec 2022 09:23:28 AM CET] And the full chain certs is there:  /root/acme/.acme.sh/your-main-domain.com/fullchain.cer 
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;After retrieving the certificates we will now install them in their proper directory. We&#39;ll also specify the command to be run for reloading Nginx after the certificates auto-renewal.&lt;/p&gt;
&lt;pre class=&quot;language-bash&quot;&gt;&lt;code class=&quot;language-bash&quot;&gt;acme.sh --install-cert &lt;span class=&quot;token parameter variable&quot;&gt;-d&lt;/span&gt; your-main-domain.com &lt;span class=&quot;token parameter variable&quot;&gt;-d&lt;/span&gt; your-sandbox-domain.com &lt;span class=&quot;token punctuation&quot;&gt;&#92;&lt;/span&gt;&lt;br /&gt;--key-file /etc/ssl/lets-encrypt/your-main-domain.com/key &lt;span class=&quot;token punctuation&quot;&gt;&#92;&lt;/span&gt;&lt;br /&gt;--fullchain-file /etc/ssl/lets-encrypt/your-main-domain.com/cert &lt;span class=&quot;token punctuation&quot;&gt;&#92;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token parameter variable&quot;&gt;--reloadcmd&lt;/span&gt; &lt;span class=&quot;token string&quot;&gt;&quot;systemctl reload nginx.service&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This command should produce the following output.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[Fri 02 Dec 2022 09:25:38 AM CET] Installing key to:/etc/ssl/lets-encrypt/your-main-domain.com/key
[Fri 02 Dec 2022 09:25:38 AM CET] Installing full chain to:/etc/ssl/lets-encrypt/your-main-domain.com/cert
[Fri 02 Dec 2022 09:25:38 AM CET] Run reload cmd: systemctl reload nginx.service
[Fri 02 Dec 2022 09:25:38 AM CET] Reload success
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;Going forward&lt;/h2&gt;
&lt;p&gt;Now you just have to continue the installation process described in &lt;a href=&quot;https://docs.cryptpad.org/en/admin_guide/installation.html#install-and-configure-nginx&quot;&gt;the administrator guide&lt;/a&gt;, copying the example configuration file provided and edit it to match your configuration.&lt;/p&gt;
&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;It&#39;s done! In this tutorial we&#39;ve seen how to install &lt;a href=&quot;http://acme.sh/&quot;&gt;acme.sh&lt;/a&gt;, adapt Nginx configuration to handle TLS certificates generation and what are the next steps going forward. Thank you very much for reading this far, and for your interest in CryptPad!&lt;/p&gt;
&lt;p&gt;In case of need, don&#39;t hesitate to join the &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;community forum&lt;/a&gt; or the &lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;Matrix space&lt;/a&gt;. You can also follow CryptPad on the fediverse with the &lt;a href=&quot;https://fosstodon.org/@cryptpad&quot;&gt;official Mastodon account&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Have a great day!&lt;/p&gt;
</content>
    <category term="tutorials" scheme="https://blog.cryptpad.org/tags/tutorials/"/>
    <category term="configuration" scheme="https://blog.cryptpad.org/tags/configuration/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
  </entry>
  <entry>
    <title>November 2022 status</title>
    <link href="https://blog.cryptpad.org/2022/11/28/status-2022-11/"/>
    <updated>2022-11-28T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/11/28/status-2022-11/</id>
    <summary xml:lang="en" type="html">New blog design, Arnaud Laprévote joins the team, Le Monde uses CryptPad, Social media channels</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2022-new-blog.png&quot; alt=&quot;Screenshot of the new blog design split between light and dark mode&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;🎨 New blog design&lt;/h2&gt;
&lt;p&gt;You may have noticed the refreshed design of &lt;a href=&quot;https://blog.cryptpad.org/&quot;&gt;our blog&lt;/a&gt;. In addition to providing a clearer overview of recent posts it now supports dark mode, gives us more control over the content of the RSS feed, and is overall much easier to maintain than the previous setup. We would like to thank &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt; for providing such a great and open-source static site generator!&lt;/p&gt;
&lt;h2&gt;🧑‍💼 Arnaud Laprévote joins the team&lt;/h2&gt;
&lt;p&gt;We welcome another new member to the team this month. Arnaud Laprévote, who you may have met in our &lt;a href=&quot;https://blog.cryptpad.org/2022/11/17/FR-education-2022-11/&quot;&gt;last post&lt;/a&gt; (in French) has extensive experience in the French open-source software industry. He was previously CEO of &lt;a href=&quot;https://en.wikipedia.org/wiki/Mandriva_Linux&quot;&gt;Mandriva&lt;/a&gt; and Lybero, and worked in research at France&#39;s &lt;em&gt;National Institute for Research in Digital Science and Technology&lt;/em&gt; (INRIA). Arnaud&#39;s role will involve managing research project across our team and parent company XWiki. He will also lead business efforts such as selling managed CryptPad instances and other partnerships.&lt;/p&gt;
&lt;h2&gt;📰 Le Monde uses CryptPad&lt;/h2&gt;
&lt;p&gt;We were happy to see French national newspaper Le Monde &lt;a href=&quot;https://www.lemonde.fr/international/video/2022/11/17/comment-les-stocks-d-armes-et-de-munitions-de-la-russie-ont-ete-severement-entames-par-des-attaques-ciblees-ukrainiennes_6150240_3210.html&quot;&gt;use CryptPad to share the sources of an article&lt;/a&gt;. This enables their journalists in the field in Ukraine, as well as anyone accessing the content, to protect their privacy.&lt;/p&gt;
&lt;h2&gt;📢 Social media channels&lt;/h2&gt;
&lt;p&gt;We have followed a &amp;quot;Fediverse first&amp;quot; approach to our social media presence for a long time. We provide an alternative to the big platforms when it comes to collaborative office suites, so it seems logical to use alternative social media such as &lt;a href=&quot;https://fosstodon.org/@cryptpad&quot;&gt;Mastodon&lt;/a&gt;, &lt;a href=&quot;https://peertube.xwiki.com/c/cryptpad_channel/videos&quot;&gt;PeerTube&lt;/a&gt; or &lt;a href=&quot;https://pixelfed.social/cryptpad_design&quot;&gt;Pixelfed&lt;/a&gt; for our communication.&lt;/p&gt;
&lt;p&gt;Until now we used Twitter to re-post our Mastodon content, and also monitored the account for any questions or mentions. Given the current events unfolding at Twitter, and the many abhorrent stances taken by its new CEO, we &lt;a href=&quot;https://nitter.net/cryptpad/status/1590277396431015938&quot;&gt;asked our followers&lt;/a&gt; what we should do with the account. We will respect the preference of 77.5% of the 40 voters and keep the account active for now. We will however divest the time spent monitoring Twitter and have disabled cross posting. We encourage our followers to join the wave of people moving to Mastodon and the Fediverse.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;p&gt;We are working on features for the next version of CryptPad, due for release before the end of the calendar year. In addition to &lt;a href=&quot;https://blog.cryptpad.org/2022/10/28/status-2022-10/&quot;&gt;repeating events in Calendar&lt;/a&gt; we are also making a number of long-requested improvements to Forms.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="team" scheme="https://blog.cryptpad.org/tags/team/"/>
    <category term="in use" scheme="https://blog.cryptpad.org/tags/in use/"/>
  </entry>
  <entry>
    <title>CryptPad et le monde de l&#39;éducation en France</title>
    <link href="https://blog.cryptpad.org/2022/11/17/FR-education-2022-11/"/>
    <updated>2022-11-17T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/11/17/FR-education-2022-11/</id>
    <summary xml:lang="en" type="html">🇫🇷 Post in French - Le Journal Officiel a publié le 15 novembre 2022 une réponse du ministre de l&#39;Éducation Nationale à une question parlementaire</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Le Journal Officiel a publié le 15 novembre 2022 une réponse du ministre de l&#39;Éducation Nationale à une question parlementaire ( &lt;a href=&quot;https://questions.assemblee-nationale.fr/q16/16-971QE.htm&quot;&gt;https://questions.assemblee-nationale.fr/q16/16-971QE.htm&lt;/a&gt; ). Le député Philippe Latombe interrogeait le ministre sur l&#39;usage de la suite bureautique Microsoft Office 365 dans sa version gratuite par les élèves et les enseignants. Le ministre a rappelé dans sa réponse les instructions qui ont été transmises au rectorat. Le résumé : comme Office 365 (ou l&#39;équivalent chez Google) tombe sous le droit extra-européen, &lt;strong&gt;ces solutions sont interdites&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;La communauté CryptPad, son équipe de développement et la société qui soutient ce développement (XWiki SAS), sont très heureuses de ce rappel. Les académies peuvent d&#39;ors et déjà utiliser &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://cryptpad.fr&lt;/a&gt; directement, même sans compte.&lt;/p&gt;
&lt;p&gt;En Allemagne, par exemple, le secteur éducatif a depuis longtemps compris le besoin essentiel de se protéger du modèle GAFAM. Au-delà de la surveillance et autres exploitations commerciales des données produites en milieu scolaire, &lt;a href=&quot;https://www.hrw.org/StudentsNotProducts&quot;&gt;soulignées par Human Rights Watch,&lt;/a&gt; ces entreprises conditionnent l&#39;apprentissage et les usages futurs des élèves. De nombreuses structures éducatives utilisent CryptPad en Allemagne, et nous sommes en discussion avec plusieurs partenaires pour amplifier ces usages.&lt;/p&gt;
&lt;p&gt;CryptPad est une suite bureautique complète, chiffrée de bout en bout, avec les plus hautes exigences concernant la sécurité, la confidentialité et l&#39;absence de traçabilité des usages. Le chiffrement et le déchiffrement se font dans le navigateur, donc aucune donnée non chiffrée ne quitte l&#39;appareil des utilisateur·ices. Aucune donnée personnelle n&#39;est demandée pour créer un compte, pas même une addresse email. Les administrateur·ices du système ne peuvent pas accéder aux documents ou comptes, et les logs sont réduits au minimum. Ces données chiffrées sont hébergées en France par OVH.&lt;/p&gt;
&lt;p&gt;CryptPad est un logiciel libre, vous pouvez donc mettre en place votre propre serveur sans que nous n&#39;en ayons la moindre idée. Évidemment, si vous souhaitez que le projet perdure, nous ne saurions trop vous conseiller de &lt;a href=&quot;https://opencollective.com/cryptpad/contribute&quot;&gt;nous soutenir que ce soit par un don, si possible récurrent&lt;/a&gt;, un abonnement sur la plateforme &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://cryptpad.fr&lt;/a&gt;, un achat de service à l&#39;équipe de développement, ou bien en contribuant directement au développement.&lt;/p&gt;
&lt;p&gt;Vous souhaitez avoir plus d&#39;informations ou de l&#39;aide ? &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/kk-fRzy7YTN+SEYUNWxElLb5pLwTS2DXZtp4sOcnoYQ/&quot;&gt;Remplissez ce questionnaire&lt;/a&gt; (données stockées dans &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, chiffrées de bout en bout 😉 ) et nous nous ferons un plaisir de revenir vers vous pour vous aider.&lt;/p&gt;
</content>
    <category term="France" scheme="https://blog.cryptpad.org/tags/France/"/>
    <category term="education" scheme="https://blog.cryptpad.org/tags/education/"/>
  </entry>
  <entry>
    <title>October 2022 status</title>
    <link href="https://blog.cryptpad.org/2022/10/28/status-2022-10/"/>
    <updated>2022-10-28T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/10/28/status-2022-10/</id>
    <summary xml:lang="en" type="html">Repeating events in Calendar, Filter by document type in the drive, Theo joined the team, and more...</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;📰 Review from Ubuntu Buzz&lt;/h2&gt;
&lt;p&gt;CryptPad received &lt;a href=&quot;https://www.ubuntubuzz.com/2022/10/cryptpad-review-google-docs-forms-alternative-and-a-self-hosting-bliss.html&quot;&gt;an in-depth and positive review from Ubuntu Buzz&lt;/a&gt;. They had already covered our Forms application &lt;a href=&quot;https://www.ubuntubuzz.com/2022/01/how-to-create-online-forms-with-cryptpad-an-alternative-to-google-forms.html&quot;&gt;earlier this year&lt;/a&gt; and it great to see them keep up to date with our work. Thank you Ade Malsasa Akbar!&lt;/p&gt;
&lt;h2&gt;🗓️🔁 Repeating events in Calendar&lt;/h2&gt;
&lt;p&gt;We are happy to announce that you can now repeat calendar events on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt;. This feature will be included in CryptPad 5.2, the next version planned for the end of 2022. We have received regular requests for this feature since the release of the Calendar application in &lt;a href=&quot;https://blog.cryptpad.org/2021/05/26/status-may-2021/&quot;&gt;May 2021&lt;/a&gt;. At the time we stretched the scope of our &lt;em&gt;Dialogue&lt;/em&gt; research project (funded by NLNet/NGI Zero) to include this new Calendar app, and this meant we had to &lt;a href=&quot;https://blog.cryptpad.org/2021/04/26/status-april-2021/&quot;&gt;compromise&lt;/a&gt; on what features to include. We are glad to be adding this now and hope that it will make Calendar even more useful.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/calendar-repeat-schedule.png&quot; alt=&quot;The calendar application with a weekly schedule of repeating tasks&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/calendar-repeat-event.png&quot; alt=&quot;Event creation dialog for a &amp;quot;weekly checkup&amp;quot; meeting&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;🎛️ Filter by document type in the drive&lt;/h2&gt;
&lt;p&gt;You can now filter documents by type in the drive. This feature was developed by Maxime Cesson, our summer intern, and is now available on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/drive-filter.png&quot; alt=&quot;The document type filter in the drive&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;👨‍🔬 Theo joined the team&lt;/h2&gt;
&lt;p&gt;Theo has officially joined the team, and begun his investigation of how cryptography is used in CryptPad. He has started adding comments to the code, writing documentation, reviewing the state of the art, and drafting a whitepaper that will summarise his findings.&lt;/p&gt;
&lt;!-- XXX non dark theme diagram, re-export as Mermaid SVG and use their light/dark themes --&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/mermaid-diagram-theo-intro.png&quot; alt=&quot;Key derivation for editable documents&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;📢 Forum open to the public&lt;/h2&gt;
&lt;p&gt;Our &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;forum&lt;/a&gt; is now &lt;a href=&quot;https://blog.cryptpad.org/2022/10/03/Forum-launch/&quot;&gt;officially open to the public&lt;/a&gt;. We have started receiving feedback through this new channel and it is already proving easier to keep track of it than in ephemeral chats and/or GitHub issues. If you have requests, bug reports, or any questions about CryptPad please &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;join and let us know&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;🌐 New public instances&lt;/h2&gt;
&lt;p&gt;This month we welcome two new CryptPad instances to our &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;list of public instances&lt;/a&gt;. The Netherlands-based non-profit &lt;a href=&quot;https://disroot.org/&quot;&gt;Disroot&lt;/a&gt; is one of them, meaning that CryptPad instance are now available in 8 jurisdictions: Germany, Canada, Czech Republic, Netherlands, USA, Austria, Italy &amp;amp; France.&lt;/p&gt;
&lt;h2&gt;🔭 Next up&lt;/h2&gt;
&lt;p&gt;We are currently starting work on another set of long-requested features, this time in Forms. These &lt;a href=&quot;https://forum.cryptpad.org/t/forms&quot;&gt;improvements&lt;/a&gt; will make Forms suitable for even more use-cases, and make existing ones easier. We also hope to finalise agreements for some new research projects, after which we&#39;ll be in a better position to talk about our plans for 2023!&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="calendar" scheme="https://blog.cryptpad.org/tags/calendar/"/>
  </entry>
  <entry>
    <title>Welcome to the CryptPad forum!</title>
    <link href="https://blog.cryptpad.org/2022/10/03/Forum-launch/"/>
    <updated>2022-10-03T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/10/03/Forum-launch/</id>
    <summary xml:lang="en" type="html">We are opening a new forum as the central place for feedback and discussion around CryptPad</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/forum-launch.png&quot; alt=&quot;the cryptpad forum logo surrounded by two party poppers&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are opening &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;a new forum&lt;/a&gt; as the central place for feedback and discussion around CryptPad. At the moment we receive feature requests, bug reports, and other feedback through various channels:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;Matrix chat&lt;/a&gt; (great for synchronous communication, not ideal for keeping track of ideas over time)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/issues&quot;&gt;GitHub issues&lt;/a&gt; (great for developers, not ideal for people who don&#39;t write code)&lt;/li&gt;
&lt;li&gt;Support tickets on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; (only visible by the sender and the instance admins)&lt;/li&gt;
&lt;li&gt;Email, word of mouth, and anything else that gets lost if we don&#39;t write it down&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This forum is now the main place to submit feedback such as feature requests, ideas for improvements, and bug reports. It will allow the community to keep track of these discussions and contribute to them. We hope this place becomes part living documentation part pre-roadmap for the project.&lt;/p&gt;
&lt;p&gt;We thank the &lt;a href=&quot;https://flarum.org/&quot;&gt;Flarum&lt;/a&gt; team for providing an open-source forum that is simple and easy to use.&lt;/p&gt;
&lt;p&gt;This forum is part of the CryptPad project and as such our &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/blob/main/CODE_OF_CONDUCT.md&quot;&gt;Code of Conduct&lt;/a&gt; applies. Please familiarize yourself with it before posting.&lt;/p&gt;
&lt;p&gt;We look forward to reading your feedback on how you use CryptPad and how to improve it!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;Join us on the CryptPad Forum!&lt;/a&gt;&lt;/p&gt;
</content>
    <category term="forum" scheme="https://blog.cryptpad.org/tags/forum/"/>
    <category term="community" scheme="https://blog.cryptpad.org/tags/community/"/>
    <category term="documentation" scheme="https://blog.cryptpad.org/tags/documentation/"/>
  </entry>
  <entry>
    <title>September 2022 status: The team keeps growing</title>
    <link href="https://blog.cryptpad.org/2022/09/29/status-2022-09/"/>
    <updated>2022-09-29T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/09/29/status-2022-09/</id>
    <summary xml:lang="en" type="html">Theo will be joining us in October and we have signed another hire to start in January 2023</summary>
    <content xml:lang="en" type="html">&lt;h2&gt;5.1 release&lt;/h2&gt;
&lt;p&gt;This month we released &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/5.1.0&quot;&gt;CryptPad 5.1&lt;/a&gt; that includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New features for instance adminstrators. We added a &amp;quot;Database&amp;quot; tab in the admin panel that makes it easier to review metadata on user accounts and documents in cases where malicious activity is reported.&lt;/li&gt;
&lt;li&gt;New translations in Spanish and Portugese (Portugal) thanks to the work of volunteers.&lt;/li&gt;
&lt;li&gt;Many smaller improvements and bug fixes such as asciidoc syntax highlighting in Code documents.&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe src=&quot;https://fosstodon.org/@cryptpad/109040856162389039/embed&quot; class=&quot;mastodon-embed&quot; style=&quot;max-width: 100%; border: 0&quot; width=&quot;400&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&lt;script src=&quot;https://fosstodon.org/embed.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
&lt;h2&gt;The team keeps growing&lt;/h2&gt;
&lt;p&gt;We&#39;re happy to welcome Theo to the team starting in October. He has recently completed a master in cyber security at ETH Zurich. Theo will relocate to Paris for 6 months to work on documenting the use of cryptography in CryptPad and pave the way for future developments.&lt;/p&gt;
&lt;p&gt;We are also happy to announce that we have signed with antoher new hire, a senior developer from Germany. We will give more details on this when they join the team full-time in January 2023.&lt;/p&gt;
&lt;h2&gt;Next up&lt;/h2&gt;
&lt;p&gt;We took advantage of the XWiki seminar hackathon last week to set up a &lt;a href=&quot;https://forum.cryptpad.org/&quot;&gt;new forum for CryptPad&lt;/a&gt; using &lt;a href=&quot;https://flarum.org/&quot;&gt;Flarum&lt;/a&gt;. We will be sharing the details shortly. This new forum will centralize discussions around CryptPad, part living documentation part pre-roadmap for the project.&lt;/p&gt;
&lt;p&gt;Calendar improvements didn&#39;t quite make it into 5.1, but they are coming along nicely. The much-requested feature of recurring events will defintely be part of the next release, and deployed to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt; before that.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="cryptpad team" scheme="https://blog.cryptpad.org/tags/cryptpad team/"/>
  </entry>
  <entry>
    <title>August 2022 status: Hi and bye to new team members</title>
    <link href="https://blog.cryptpad.org/2022/08/30/status-2022-08/"/>
    <updated>2022-08-30T00:00:00Z</updated>
    <id>https://blog.cryptpad.org/2022/08/30/status-2022-08/</id>
    <summary xml:lang="en" type="html">The end of Maxime&#39;s internship and Mathilde&#39;s first month</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Monthly status posts are back!&lt;/p&gt;
&lt;h2&gt;End of Maxime&#39;s internship&lt;/h2&gt;
&lt;p&gt;August 31st is Maxime Cesson&#39;s last day with the CryptPad team. His 2 months with us have been very productive. Maxime went from &amp;quot;zero-knowledge&amp;quot; of JavaScript to having his code deployed in production in a few weeks.&lt;/p&gt;
&lt;p&gt;He addressed &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/issues?q=is%3Aissue+is%3Aopen+label%3A%22Junior+friendly%22+label%3A%22Fixed+in+staging%22+&quot;&gt;a number of &amp;quot;junior friendly&amp;quot; issues&lt;/a&gt; as well as the not-so-junior &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/issues/438&quot;&gt;document type filter for the drive&lt;/a&gt;. Some of these features are already live on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; and they will all be included in the next version of CryptPad. We are very happy with Maxime&#39;s contributions and wish him all the best for his future endeavours. He will go on to complete the last year of his studies while working in cyber-security.&lt;/p&gt;
&lt;h2&gt;Mathilde&#39;s first month&lt;/h2&gt;
&lt;p&gt;Mathilde Blanchemanche joined the team full-time on August 1st as instance administrator for &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;. Effectively her role incudes support, engaging with the community (on Matrix, Github, and possibly new platforms coming soon), managing the bug-fixing pipeline, and more things that we are still figuring out.&lt;/p&gt;
&lt;p&gt;Mathilde has hit the ground running. She brought us to INBOX ZERO on support tickets after just over a week on the job, and has engaged with countless GitHub issues that were left without a response, sometimes for years.&lt;/p&gt;
&lt;p&gt;This will continue into next month and beyond. In addition, she will contribute to user-research for some features we have in mind, and continue planning how to improve our efficiency and openness in dealing with incoming bug-reports and feature-requests.&lt;/p&gt;
&lt;h2&gt;Next up&lt;/h2&gt;
&lt;p&gt;We are planning to release CryptPad 5.1 in the next couple of weeks. This will include improvements to the admin panel for better moderation, a much requested improvement to the Calendar app, and more!&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="cryptpad team" scheme="https://blog.cryptpad.org/tags/cryptpad team/"/>
  </entry>
  <entry>
    <title>Against #chatcontrol</title>
    <link href="https://blog.cryptpad.org/2022/05/19/against-chatcontrol/"/>
    <updated>2022-05-19T17:05:00Z</updated>
    <id>https://blog.cryptpad.org/2022/05/19/against-chatcontrol/</id>
    <summary xml:lang="en" type="html">Something terrible is happening in the EU and we need help to stop it</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Something terrible is happening in the EU and we need help to stop it. Many people are very busy and understandably don&#39;t have the time to engage deeply with politics. I&#39;ll start with a brief summary and link to some resources on simple actions you can take to help prevent a bad law from being passed.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/chatcontrol-cryptpad-graphic.png&quot; alt=&quot;no #ChatControl - EU citizens, make your voices heard to stop this dangerous proposal. It would do nothing to protect the most vulenerable, and put everone at risk. Contact your MEP. Give feedback through the EU portal&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;The short version&lt;/h2&gt;
&lt;p&gt;The office of the &lt;a href=&quot;https://ec.europa.eu/home-affairs/index_en&quot;&gt;European Commission&#39;s&#39; Directorate-General for Migration and Home Affairs&lt;/a&gt; recently &lt;a href=&quot;https://ec.europa.eu/commission/presscorner/detail/en/ip_22_2976&quot;&gt;announced new legislation&lt;/a&gt;, so called #chatcontrol, which would mandate that online platforms scan user-generated content like text, images, and videos to detect instances of child sexual abuse materials (CSAM) and grooming behaviour.&lt;/p&gt;
&lt;p&gt;This policy would extend to providers of encrypted platforms (like CryptPad) through a practice known as &lt;a href=&quot;https://www.internetsociety.org/resources/doc/2020/fact-sheet-client-side-scanning/&quot;&gt;client-side scanning&lt;/a&gt;. In this approach, encrypted platform providers are expected to deploy code to your device which will access and use your encryption keys against you, analyzing your private content and reporting back to the provider if it matches a set of rules defined by a government agency. All of this would be applied indiscriminantly with no need for a court order or reasonable suspicion.&lt;/p&gt;
&lt;p&gt;This proposal already faces opposition from members of the European parliament, but they are the minority and they require more public support in order to stop this law from passing. Patrick Breyer, a former judge and current member of European parliament wrote a &lt;a href=&quot;https://www.patrick-breyer.de/en/posts/messaging-and-chat-control/&quot;&gt;comprehensive and accessible analysis&lt;/a&gt; of what the law would mean for citizens. If you don&#39;t have time to read the full article, skip to the &lt;a href=&quot;https://www.patrick-breyer.de/en/posts/messaging-and-chat-control/#WhatYouCanDo&quot;&gt;&lt;strong&gt;what you can do&lt;/strong&gt;&lt;/a&gt; section to see how to join those organizing to oppose this proposal on social media and beyond.&lt;/p&gt;
&lt;p&gt;Such a system will affect people from around the world, not just Europe, but it is primarily Europeans who can do something about it. If you are a European resident or citizen you can also check &lt;a href=&quot;https://mepwatch.eu/9/vote.html?v=134463&quot;&gt;how your EU representatives voted&lt;/a&gt; on &lt;a href=&quot;https://european-pirateparty.eu/parliament-approves-chatcontrol/&quot;&gt;the precursor to this legislation&lt;/a&gt;. From there it is possible to find your representatives contact information &lt;a href=&quot;https://www.europarl.europa.eu/meps/en/home&quot;&gt;by name or by country&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;An overview of #chatcontrol&lt;/h2&gt;
&lt;p&gt;It&#39;s extremely useful to have short, descriptive names like &amp;quot;&lt;a href=&quot;https://twitter.com/hashtag/chatcontrol&quot; title=&quot;The chat control hashtag on Twitter&quot;&gt;#chatcontrol&lt;/a&gt;&amp;quot; for laws like this so that they can easily become a part of a broad public conversation. That said, some people have taken it to mean that these laws would only apply to messaging services and email. Our team read through the full proposal the day after it was released, and it&#39;s obvious that our flagship instance (&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;) would be an eligible target if the upcoming parliamentary vote passes.&lt;/p&gt;
&lt;p&gt;That would mean that at any time we could be served with a &amp;quot;detection order&amp;quot; and be expected to begin scanning the data of all of our users for illicit content. The people proposing this legislation would like the public to believe the classic argument that &lt;a href=&quot;https://en.wikipedia.org/wiki/Nothing_to_hide_argument&quot;&gt;&lt;em&gt;&amp;quot;if you have nothing to hide, you have nothing to fear&amp;quot;&lt;/em&gt;&lt;/a&gt;, that the surveillance mechanisms they want to deploy are reliable and safe, but that simply isn&#39;t true.&lt;/p&gt;
&lt;h3&gt;Client-Side Scanning is an experimental technology&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;[Client-Side Scanning] has been promoted as a magical technological fix for the conflict between the privacy of people’s data and communications and the desire by intelligence and law enforcement agencies for more comprehensive investigative tools. A thorough analysis shows that the promise of CSS solutions is an illusion.&lt;/p&gt;
&lt;p&gt;from &lt;a href=&quot;https://arxiv.org/abs/2110.07450&quot;&gt;The Risks of Client-Side Scanning report&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;In October 2021 a group of fourteen broadly respected experts in the fields of cryptography, privacy, security, and digital policy collectively published a report of the risks of deploying client-side scanning as a tool for combatting child abuse. The report makes it very clear that the technologies are highly experimental and unreliable. They suffer from high rates of both false negatives (failing to detect their intended targets) and false positives (incorrectly identifying benign content as harmful). Worse still, these detection tools are usually trained with biased data sets that are far less accurate when applied to underrepresented subjects. Typically this means people of color, members of the LGBTQ+ community, and people with disabilities, making it very likely that this surveillance will disproportionately affect people who are already marginalized.&lt;/p&gt;
&lt;p&gt;If that wasn&#39;t bad enough, that only assesses how these tools perform under ideal circumstances. Things get far worse when we consider &lt;em&gt;adversarial scenarios&lt;/em&gt;; cases where certain people are deliberately trying to manipulate the likelihood of false negatives or false positives. In recent years researchers have demonstrated techniques where an image can be imperceptively modified to avoid or trigger detection. This means it&#39;s not only possible for people distributing CSAM to become practically invisible, but that the next meme you download to your device might have been manipulated to have you flagged as a sexual predator.&lt;/p&gt;
&lt;p&gt;It probably sounds like the techniques involved are incredibly sophisticated, and they are, but that sophistication is matched by publicly available tooling. For context, researchers from Apple developed an algorithm intended to accurately detect CSAM and it was &lt;a href=&quot;https://twitter.com/matthew_d_green/status/1428179884954853379&quot;&gt;broken within 48 hours&lt;/a&gt;. Since then, many people have tinkered with different approaches and improved on the initial results, often &lt;a href=&quot;https://gist.github.com/unrealwill/c480371c3a4bf3abb29856c29197c0be&quot;&gt;publishing their code for anyone to use&lt;/a&gt;. If client-side scanning is mandated in the EU then it is practically guaranteed that tools for evading or abusing it will become widespread and progressively easier to use.&lt;/p&gt;
&lt;h3&gt;Deeper risks&lt;/h3&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;quot;The ability of citizens to freely use digital devices, to create and store content, and to communicate with others depends strongly on our ability to feel safe in doing so. The introduction of scanning on our personal devices—devices that keep information from to-do notes to texts and photos from loved ones—tears at the heart of privacy of individual citizens. Such bulk surveillance can result in a significant chilling effect on freedom of speech and, indeed, on democracy itself.&amp;quot;&lt;/p&gt;
&lt;p&gt;from &lt;a href=&quot;https://arxiv.org/abs/2110.07450&quot;&gt;The Risks of Client-Side Scanning report&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There is broad consensus among people familiar with the proposed technologies that they are not sufficiently accurate for widespread deployment. That might be good enough to stop this bill, but it&#39;s likely that we&#39;ll just have to fight such legislation again in the near future when scanning technologies become marginally more accurate. There are deeper reasons why it&#39;s important to say not only that such an approach is unacceptable now, but that it will &lt;em&gt;never&lt;/em&gt; be acceptable.&lt;/p&gt;
&lt;p&gt;First, tools for encryption remain widely available, and distributors of CSAM can always continue to use existing file hosting platforms to host data that they have encrypted themselves. We can&#39;t eliminate encryption because it is key not only to protect civil liberties, but for basic tasks like online commerce. So there will always be a deeper, darker hole where predators can hide, meanwhile everyone else&#39;s privacy will be in jeopardy.&lt;/p&gt;
&lt;p&gt;Second, it&#39;s crucial that we critique not just the technology that would be deployed, but the people deploying it. Databases of CSAM are extremely sensitive in nature and obviously can&#39;t be reviewed by the public. As a natural consequence, it is impossible to independently verify that other types of media are not added to the database. A system that scans for CSAM today can be used tomorrow to detect and report criticism of the government, or its police force.&lt;/p&gt;
&lt;p&gt;We don&#39;t have to look far into the past or beyond Europe&#39;s borders to find examples of data misuse. The &lt;a href=&quot;https://www.berlin.de/en/news/coronavirus/6493422-6098215-luca-app-how-the-digital-contact-tracing.en.html&quot;&gt;Luca app&lt;/a&gt; which was intended strictly for COVID19 contact tracing in Germany was &lt;a href=&quot;https://www.washingtonpost.com/world/2022/01/13/german-covid-contact-tracing-app-luca/&quot;&gt;illegally accessed by police&lt;/a&gt; early in 2022 to investigate a suspicious death.&lt;/p&gt;
&lt;p&gt;Finally, and perhaps most horrifying of all, is the risk that in trying to stop the distribution of CSAM, the agencies carrying out this task might inadvertently reveal information from their database of known material. &lt;a href=&quot;https://arxiv.org/abs/2108.13873&quot;&gt;Model-extraction attacks&lt;/a&gt; are a technique for reverse-engineering machine learning (ML) models, such as the ones used to detect CSAM videos and grooming text in the EU proposal. By making a large number of queries against an ML system and observing the results an attacker can learn what qualities it searches for. With that information it becomes possible to apply those qualities to synthetic images, producing results that are remarkably similar to those in the secret database of training data. The website &lt;a href=&quot;https://thispersondoesnotexist.com/&quot;&gt;this person does not exist&lt;/a&gt; serves as an example of the level of detail that can be expected.&lt;/p&gt;
&lt;p&gt;Our position, and the consensus of experts on the matter, is that client-side scanning is far worse than a &lt;em&gt;slippery slope&lt;/em&gt; which &lt;em&gt;might possibly lead to abuse&lt;/em&gt; at some distant date in the future. Its risks are so numerous and its safeguards so inadequate that it&#39;s fair to question whether it could ever be safely deployed.&lt;/p&gt;
&lt;h2&gt;What this law will could mean for CryptPad&#39;s future&lt;/h2&gt;
&lt;p&gt;Client-side scanning is fundamentally incompatible with privacy. It cannot be implemented responsibly, and its adverse affects will further entrench existing inequalities in society. Knowing this, it would be unethical for us to deploy such a system against our own users.&lt;/p&gt;
&lt;p&gt;If this proposal passes its vote and becomes mandatory within the EU we will most likely have to move away from acting as a service provider. This would eliminate revenue which accounts for approximately one third of our budget and put extraordinary pressure on our team when we are already severely under-resourced for the goals we are trying to accomplish.&lt;/p&gt;
&lt;p&gt;On a positive note, CryptPad is better prepared for this eventuality than many other platforms by virtue of being open-source. Anyone with the required expertise can host a server, meaning that even without active involvement from our team, our work can provide continued benefits to the public, which is our ultimate goal regardless of whether Europe enforces indiscriminate surveillance. To that end, we recently compiled &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;a list of publicly available CryptPad instances&lt;/a&gt; hosted by trustworthy third-parties, and we welcome new additions to this list.&lt;/p&gt;
&lt;p&gt;In the longer term, however, being unable to offer our platform as a commercial service will make it very difficult for us to continue improving the software at our current pace. We will become increasingly dependent on &lt;a href=&quot;https://opencollective.com/cryptpad&quot; title=&quot;CryptPad&#39;s open collective campaign&quot;&gt;donations&lt;/a&gt; to continue, and it&#39;s possible that our opposition to this policy will affect our eligibility for research projects funded by the European Commission.&lt;/p&gt;
&lt;p&gt;In recent years Europe has earned a solid reputation as a welcome home to leaders in the field of privacy-preserving technologies. As such, we are far from alone in opposing this legislation (see statements from &lt;a href=&quot;https://european-pirateparty.eu/chat-control-leaked-commission-paper-eu-mass-surveillance-plans/&quot;&gt;The European Pirate Party&lt;/a&gt;, &lt;a href=&quot;https://www.ccc.de/en/updates/2022/eu-kommission-will-alle-chatnachrichten-durchleuchten&quot;&gt;the Chaos Computer Club&lt;/a&gt;, &lt;a href=&quot;https://tutanota.com/blog/posts/eu-surveillance-csam/&quot;&gt;Tutanota&lt;/a&gt;, &lt;a href=&quot;https://protonmail.com/blog/joint-statement-eu-encryption/&quot;&gt;Protonmail&lt;/a&gt;, &lt;a href=&quot;https://edri.org/our-work/protecting-digital-rights-and-freedoms-in-the-legislation-to-effectively-tackle-child-abuse/&quot;&gt;EDRi&lt;/a&gt;). I&#39;m confident the people working to strengthen safeguards for privacy will find ways to continue, even if they are forced to do so elsewhere. What is less certain is how much damage will be done to people&#39;s trust in elected officials and public institutions. It&#39;s vital that we organize to defeat this legislation, and work to strengthen institutions so that such a proposal is never considered again.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Given recent experience in multiple countries of hostile-state interference in elections and referenda, it should be a national-security priority to resist attempts to spy on and influence law-abiding citizens. CSS makes law-abiding citizens more vulnerable with their personal devices searchable on an industrial scale. Plainly put, it is a dangerous technology. Even if deployed initially to scan for child sex-abuse material, content that is clearly illegal, there would be enormous pressure to expand its scope. We would then be hard-pressed to find any way to resist its expansion or to control abuse of the system.&lt;/p&gt;
&lt;p&gt;from &lt;a href=&quot;https://arxiv.org/abs/2110.07450&quot;&gt;The Risks of Client-Side Scanning report&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
</content>
    <category term="ethics" scheme="https://blog.cryptpad.org/tags/ethics/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="social media" scheme="https://blog.cryptpad.org/tags/social media/"/>
    <category term="storage" scheme="https://blog.cryptpad.org/tags/storage/"/>
    <category term="chatcontrol" scheme="https://blog.cryptpad.org/tags/chatcontrol/"/>
  </entry>
  <entry>
    <title>April 2022 status: The public instance list goes live</title>
    <link href="https://blog.cryptpad.org/2022/04/27/status-2022-04/"/>
    <updated>2022-04-27T13:53:00Z</updated>
    <id>https://blog.cryptpad.org/2022/04/27/status-2022-04/</id>
    <summary xml:lang="en" type="html">We have been talking about our project site for a while ... Last week we added an important feature to the site: the list of public CryptPad instances.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We have been talking about &lt;a href=&quot;https://cryptpad.org/&quot;&gt;our project site&lt;/a&gt; for a while. Its main purpose is to improve communication about CryptPad (the open-source project) and to differentiate it from &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt; (the flagship instance we administer). Last week we added an important feature to the site: &lt;a href=&quot;https://cryptpad.org/instances/&quot;&gt;the list of public CryptPad instances&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/project-site-preview.png&quot; alt=&quot;Screenshot of the updated project site. Clicking &amp;quot;Try CryptPad&amp;quot; takes visitors to the public instance list&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The purpose of this list is to make the meaning of &amp;quot;open-source&amp;quot; clearer, as most people don&#39;t otherwise know or care about it: CryptPad can be hosted by anyone who likes, and they are free to offer the service, even in a commercial capacity. For us the development team, this list is also a new way for instance administrators to contribute to the project. &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt; exists to provide financial support for development through its paid plans. Administering this instance, for example responding to support tickets, is a significant part of our workload. When a third-party instance accepts to take care of &amp;quot;free&amp;quot; users and their associated support questions it effectively helps us to dedicate more time to improving CryptPad itself for everyone.&lt;/p&gt;
&lt;p&gt;Publishing this list is not straightforward however, especially for a privacy-focused project like CryptPad. What if we inadvertently direct people to a careless or malicious instance that puts their data at risk? To address this we put in place &lt;a href=&quot;https://docs.cryptpad.fr/en/admin_guide/admin_panel.html#list-my-instance-in-public-directories&quot;&gt;a set of criteria&lt;/a&gt; that an instance has to meet in order to be listed:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It has to be up-to-date with the latest version, meaning the latest security fixes will be applied&lt;/li&gt;
&lt;li&gt;It has to pass a comprehensive series of tests to ensure all recommended security settings are enabled&lt;/li&gt;
&lt;li&gt;Some basic information has to be provided such as the location where encrypted data is hosted and a privacy policy&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In addition to this the instance administrators have, of course, to opt-in for their instance to be listed.&lt;/p&gt;
&lt;p&gt;As of today the list is still short, with only 2 instances aside from &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. However we expect to see this number rise as more of the ~20 administrators who have opted in bring their instance in line with the requirements.&lt;/p&gt;
&lt;iframe src=&quot;https://social.weho.st/@cryptpad/108073662309134459/embed&quot; class=&quot;mastodon-embed&quot; style=&quot;max-width: 100%; border: 0&quot; width=&quot;400&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&lt;script src=&quot;https://social.weho.st/embed.js&quot; async=&quot;async&quot;&gt;&lt;/script&gt;
&lt;p&gt;In addition to the list requirements, we have released two versions this month that take a stronger stance on enforcing correct configuration for &lt;em&gt;all&lt;/em&gt; CryptPad instances. We want to prevent CryptPad from providing a false sense of security to users while being misconfigured by administrators and actually putting user information at risk. This is why from version &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.14.0&quot;&gt;4.14.0&lt;/a&gt; and &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.14.1&quot;&gt;4.14.1&lt;/a&gt; CryptPad will not work unless the security guarantees we expect are actually implemented.&lt;/p&gt;
&lt;p&gt;Over the coming weeks we plan to add more information to the &lt;a href=&quot;https://cryptpad.org/&quot;&gt;project site&lt;/a&gt;. Some time ago we launched &lt;a href=&quot;https://cryptpad.fr/form/#/3/form/view/0684aee21b4a36ed9dc41cfca9a27246/&quot;&gt;a survey&lt;/a&gt; in which we asked people to tell us what they love about CryptPad. Their responses will be displayed on the home-page. We will also be promoting hosted instances with &amp;quot;Your Own CryptPad&amp;quot; aimed at different sectors: education, NGOs, and enterprise. These will be installed and maintained by the development team for organizations who want the benefits of their own instance.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="project site" scheme="https://blog.cryptpad.org/tags/project site/"/>
  </entry>
  <entry>
    <title>March 2022 status: catching up on recent news</title>
    <link href="https://blog.cryptpad.org/2022/03/29/March-2022-status-catching-up-on-recent-news/"/>
    <updated>2022-03-29T17:37:08Z</updated>
    <id>https://blog.cryptpad.org/2022/03/29/March-2022-status-catching-up-on-recent-news/</id>
    <summary xml:lang="en" type="html">The beginning of 2022 has been sufficiently busy that we decided to skip two of our usual monthly status update blog posts. Things have not calmed down that much in March, but we didn&#39;t want to go any longer without an update.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;The beginning of 2022 has been sufficiently busy that we decided to skip two of our usual monthly status update blog posts. Things have not calmed down that much in March, but we didn&#39;t want to go any longer without an update.&lt;/p&gt;
&lt;h2&gt;DAPSI wrap-up and FOSDEM&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/dapsi-what-normally-happens.png&quot; alt=&quot;A diagram depicting a client sending content to a server for conversion&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In January we concluded the INTEROFFICE project which was sponsored by &lt;a href=&quot;https://dapsi.ngi.eu/&quot;&gt;NGI DAPSI&lt;/a&gt;. The DAPSI project administrators arranged a final event where all the projects they&#39;d funded summarized their results in brief five-minute pitches. David Benqué, our design lead, managed to fit our most interesting results into this limited timespan. His presentation is available &lt;a href=&quot;https://www.youtube.com/watch?v=RQ9Ll-1UEF4&amp;amp;t=2437s&quot;&gt;on YouTube&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/dapsi-with-interoffice.png&quot; alt=&quot;A diagram depicting a server sending a conversion engine to a client&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Approximately two weeks later David gave a somewhat longer presentation at FOSDEM, titled &lt;strong&gt;INTEROFFICE: Making CryptPad more interoperable with common office formats&lt;/strong&gt;, in the &lt;em&gt;Collaborative Information and Content Management Applications&lt;/em&gt; dev room. The talk&#39;s description, video recording, slides, and links to related talks from the same track can be found on &lt;a href=&quot;https://fosdem.org/2022/schedule/event/collabinteroffice/&quot;&gt;FOSDEM&#39;s website&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Even more information about the project can be found on DAPSI&#39;s website, where we are listed as one of the program&#39;s &lt;a href=&quot;https://dapsi.ngi.eu/success-story-interoffice-collaborating-on-office-documents-without-giving-up-privacy/&quot;&gt;success stories&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Intigriti bug bounty program and new releases&lt;/h2&gt;
&lt;p&gt;Late in 2021 we were invited to participate in a bug bounty program coordinated by &lt;a href=&quot;https://www.intigriti.com/&quot;&gt;Intigriti&lt;/a&gt; and &lt;a href=&quot;https://ec.europa.eu/info/news/european-commissions-open-source-programme-office-starts-bug-bounties-2022-jan-19_en&quot;&gt;sponsored&lt;/a&gt; by the European Commission. The program began in mid-January and continued up until mid-March, with independent security researchers probing CryptPad&#39;s code looking for issues which could negatively impact users.&lt;/p&gt;
&lt;p&gt;Our 4.13 release addressed a number of security issues which are described in its &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.13.0&quot;&gt;release notes&lt;/a&gt;, however, we&#39;ve noticed that relatively few third-party instance administrators have applied these updates. Furthermore, many that have updated have not done so correctly, and in some cases this means that their users&#39; data may be at risk.&lt;/p&gt;
&lt;p&gt;Up until now we&#39;ve tried to make it &lt;em&gt;easier to configure CryptPad correctly&lt;/em&gt; by providing our &lt;a href=&quot;https://docs.cryptpad.fr/en/admin_guide/installation.html&quot;&gt;admin installation guide&lt;/a&gt;, including clear and detailed explanations of the update process in each release&#39;s notes, as well as shipping a built-in diagnostics page which tells administrators what they need to correct. The trouble with this approach is that many admins don&#39;t read the docs, the release notes, or review the diagnostics page. With this in mind, we&#39;re starting to consider that the only reliable way to communicate with admins is through the platform&#39;s code.&lt;/p&gt;
&lt;p&gt;Starting with our upcoming 4.14 release we plan to shift our strategy towards making CryptPad &lt;em&gt;harder to configure incorrectly&lt;/em&gt;. We have made a number of changes that cause misconfigured instances to abort loading entirely, rather than proceed without the expected level of security.&lt;/p&gt;
&lt;p&gt;We are also expanding our definition of &lt;em&gt;correct configuration&lt;/em&gt; to include things like &lt;em&gt;privacy policies&lt;/em&gt; and &lt;em&gt;terms of service&lt;/em&gt;. If an instance permits registration of user accounts but has not included either of these links then the diagnostics page will suggest that they add such pages or deactivate registration.&lt;/p&gt;
&lt;p&gt;Some of these features are already live on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, and we plan to tag the latest code as a release on GitHub as soon as we&#39;ve finalized its notes.&lt;/p&gt;
&lt;h2&gt;What&#39;s next&lt;/h2&gt;
&lt;p&gt;Our &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/4.7.0&quot;&gt;4.7.0 release&lt;/a&gt; release introduced an option permitting administrators to opt-in to inclusion in a directory of public instances. At the time no such directory existed because we wanted to confirm that there was actually interest from a sufficient number of administrators. At this point there are nineteen admins who have indicated their interest, ten of which are running an up-to-date instance which passes its tests, so we&#39;re moving forward with the project.&lt;/p&gt;
&lt;p&gt;We&#39;ve decided to make the 4.14 release the last major version of the 4.0 cycle and have begun preparing for a 5.0 release. We&#39;re going to introduce a new look for CryptPad with a simpler home page, with more information moved out of the platform itself and onto our project site (&lt;a href=&quot;https://cryptpad.org/&quot;&gt;cryptpad.org&lt;/a&gt;), which will also host the public instance directory.&lt;/p&gt;
&lt;p&gt;Since our team consists of only three full-time developers we&#39;re trying to create more ways for the community to get involved with the direction of the open-source project. We&#39;ve created &lt;a href=&quot;https://matrix.to/#/#cryptpad:matrix.xwiki.com&quot;&gt;a space on the federated Matrix network&lt;/a&gt; where members of the community can connect with each other. It offers dedicated rooms for instance administrators, developers, translators, and general discussion about the project&#39;s roadmap and governance.&lt;/p&gt;
&lt;p&gt;As always, if you like what we&#39;re doing and would like to support our continued effort, you can donate through &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;our OpenCollective campaign&lt;/a&gt; or purchase a subscription for a premium account on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;.&lt;/p&gt;
</content>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
  </entry>
  <entry>
    <title>Preparing for 2022</title>
    <link href="https://blog.cryptpad.org/2021/12/30/Preparing-for-2022/"/>
    <updated>2021-12-30T12:52:20Z</updated>
    <id>https://blog.cryptpad.org/2021/12/30/Preparing-for-2022/</id>
    <summary xml:lang="en" type="html">With the end of the year nearly upon us I am keeping up my tradition of writing a retrospective of what the CryptPad team has done over the past twelve months and an overview of our plans for the next twelve.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;With the end of the year nearly upon us I am keeping up my tradition of writing a &lt;a href=&quot;https://blog.cryptpad.org/tags/retrospective/&quot;&gt;retrospective&lt;/a&gt; of what the CryptPad team has done over the past twelve months and an overview of our plans for the next twelve.&lt;/p&gt;
&lt;h2&gt;The year in retrospect&lt;/h2&gt;
&lt;h3&gt;NGI research&lt;/h3&gt;
&lt;p&gt;We&#39;ve been very fortunate to have received continued support from the European Commission&#39;s &lt;a href=&quot;https://www.ngi.eu/&quot;&gt;Next Generation Internet Initiative&lt;/a&gt;. We completed two research projects funded by &lt;a href=&quot;https://nlnet.nl/PET/&quot;&gt;NGI0 PET&lt;/a&gt; and launched a new project funded by &lt;a href=&quot;https://dapsi.ngi.eu/&quot;&gt;NGI DAPSI&lt;/a&gt; which will wrap up in January.&lt;/p&gt;
&lt;p&gt;We released the last components of the &lt;a href=&quot;https://nlnet.nl/project/Cryptpad-Communities/&quot;&gt;&lt;em&gt;CryptPad for Communities&lt;/em&gt; project&lt;/a&gt; which made the platform quite a bit easier to set up and administrate. We deployed our &lt;a href=&quot;https://docs.cryptpad.fr/en/admin_guide/index.html&quot;&gt;administrator guide&lt;/a&gt;, added a variety of configuration options on the &lt;a href=&quot;https://docs.cryptpad.fr/en/admin_guide/admin_panel.html&quot;&gt;admin panel&lt;/a&gt;, and developed an instance diagnostics page to automatically detect common configuration issues and suggest remediations.&lt;/p&gt;
&lt;p&gt;NGI0 also funded this year&#39;s &lt;a href=&quot;https://nlnet.nl/project/CryptPadForms/&quot;&gt;&lt;em&gt;Dialogue&lt;/em&gt; project&lt;/a&gt; which comprised of a new &lt;em&gt;Form&lt;/em&gt; app and a variety of supporting features, including a new &lt;em&gt;calendar&lt;/em&gt; app, an internal reminders API, and more admin panel features for broadcasting instance-wide announcements.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&quot;https://blog.cryptpad.org/2021/04/26/status-april-2021/&quot;&gt;our April status update&lt;/a&gt; we introduced the DAPSI-funded &lt;em&gt;INTEROFFICE&lt;/em&gt; project, through which we&#39;ve aimed to improve interoperability with other platforms through the use of common file extensions. Unlike most online platforms which convert between formats on their cloud infrastructure, we&#39;ve had to develop new methods which process data entirely in your browser so that your private data is never revealed to anyone.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/expected-conversion-workflows.png&quot; alt=&quot;A graph of desired workflows for conversion between different formats based on the results of our user studies&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Our &lt;a href=&quot;https://blog.cryptpad.org/2021/10/21/Announcing-new-apps/&quot;&gt;October status update&lt;/a&gt; went further, announcing our integration of OnlyOffice&#39;s Document and Presentation editors. These are fully open-source and available to anyone self-hosting the platform but remain in &lt;em&gt;early access&lt;/em&gt; for premium users on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. This phased release model is new for us, but so far it&#39;s been very effective as a means to solicit quality feedback from a few active users without us getting overwhelmed by duplicated bug reports.&lt;/p&gt;
&lt;h3&gt;Community contributions&lt;/h3&gt;
&lt;p&gt;Each new feature we add to the platform requires text in the form of labels for buttons, descriptions of the effects of different account and document settings, and of course various warnings, prompts, and error messages. CryptPad is hosted on hundreds of different servers all around the world and used by people who don&#39;t necessarily speak English or French. As such, all that text needs to be translated.&lt;/p&gt;
&lt;p&gt;For the past few years, German-speaking members of our community have very reliably kept up with all the new text we&#39;ve added, and have even gone as far as to translate our user guide. This year they&#39;ve been joined by native speakers of Japanese, Russian, and Brazilian Portuguese to make the platform more accessible to a much broader range of people.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/translations-status-2021-12.png&quot; alt=&quot;Status of CryptPad&#39;s translations as of December 2021 with six languages at least 99% complete&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;Project maintenance and administration&lt;/h3&gt;
&lt;p&gt;Revenue from premium accounts on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; goes towards answering premium support tickets first. Any funds that are left over are combined with donations to our &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;OpenCollective campaign&lt;/a&gt; to fund all the work that isn&#39;t covered by our research grants. That allows us to review translations, keep our documentation up to date, write detailed release notes, triage bug reports, and answer questions submitted via email or social media.&lt;/p&gt;
&lt;p&gt;This year there have been multiple occasions when a new version of a major browser broke support for critical features, forcing us to drop whatever we were doing at the time and find alternative solutions for these regressions. When code isn&#39;t simply rotting out from underneath us, there are always critical security notices that need to be attended to, most recently with the sudden disclosure of &lt;a href=&quot;https://en.wikipedia.org/wiki/Log4Shell&quot;&gt;vulnerabilities in the log4j library&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This year we saw an increasing number of subscriptions and donations from our supporters which allowed us to keep up with these surprises and to catch up on a bit of a backlog of maintenance. It helped that 2021 was overall somewhat less surprising than 2020, but we don&#39;t want to rely on that continuing to be the case.&lt;/p&gt;
&lt;h2&gt;What the future holds&lt;/h2&gt;
&lt;p&gt;Our general plan for the coming year is to scale back the proportion of our budget which is covered by European research grants and to focus more heavily on projects sponsored directly by clients. To that end, we&#39;ll soon add a number of pages to our project website (&lt;a href=&quot;https://cryptpad.org/&quot;&gt;CryptPad.org&lt;/a&gt;) which will differentiate the open-source project from our commercial offering on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. We&#39;ll list various support packages tailored for &lt;em&gt;education&lt;/em&gt;, &lt;em&gt;enterprises&lt;/em&gt;, and &lt;em&gt;NGOs&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-org-2021-12.png&quot; alt=&quot;Screenshot of CryptPad.org, providing general information about the open-source project&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Earlier this year we included options in the platform&#39;s admin panel to allow administrators to mark their instance as intended for public usage, and to opt-in to inclusion in a directory of public instances. We wanted to wait and see if there was sufficient interest in such a listing before we went to the trouble of building it. The good news is that at this point 11 operators have opted in, so it seems worthwhile to build. The bad news is that a number of these don&#39;t seem to be configured correctly. We plan to reach out to these administrators in the near future to rectify these concerns before including them in the directory.&lt;/p&gt;
&lt;h3&gt;Wrapping up our the INTEROFFICE project&lt;/h3&gt;
&lt;p&gt;The last remaining milestone for our INTEROFFICE project is to publish our client-side office conversion utilities as an open-source software library usable outside of CryptPad. After that our work and that of the other grantees will be evaluated by NGI DAPSI&#39;s expert reviewers, but this won&#39;t be the end of our efforts to improve office functionality.&lt;/p&gt;
&lt;p&gt;Local computation (executing functions on your device instead of one in the cloud) is a critical component of privacy-respecting software, but there are other clear advantages to it. It enables more functionality to continue to operate when you are offline or on an unstable network connection. It also makes it feasible to host web services on less powerful devices, potentially making network infrastructure accessible to a wider audience. We hope that these diverse interests will align more developers to work toward the same goals for the public&#39;s benefit.&lt;/p&gt;
&lt;p&gt;We plan to present the results of this project at FOSDEM in early February and hopefully to continue working with the broader community to make this approach the norm.&lt;/p&gt;
&lt;h3&gt;Stronger and more diverse authentication measures&lt;/h3&gt;
&lt;p&gt;Many administrators of third-party instances will be happy to hear that we&#39;re going to start working on adding support for identity provider services like LDAP and SSO. This will allow them to restrict who can access their services, adding an extra layer of security for existing users of their service.&lt;/p&gt;
&lt;p&gt;We&#39;ll complement this top-down approach to security with another bottom-up method, employing various second-factor authentication methods to give individual users more control over access to their account. We hope to introduce both app-based TOTP and emailed magic links. We&#39;ll publish a survey in the near future to determine how to prioritize these and possibly other methods.&lt;/p&gt;
&lt;h3&gt;Better support for offline access&lt;/h3&gt;
&lt;p&gt;With all of our pending research projects wrapping up we&#39;re going to revisit some promising prototypes which we developed in late 2020. We experimented with using the &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API&quot;&gt;Service Worker API&lt;/a&gt; to cache CryptPad&#39;s browser code, allowing it to be loaded as normal even while fully offline. The basic concept is pretty simple, but it required a lot of additional controls in the UI to choose to operate offline, to update the cached version, to allow persistent storage on the device to be used, and so on.&lt;/p&gt;
&lt;p&gt;Solving these basic usability problems related to offline functionality will provide a solid basis for us to develop CryptPad to be more like a mobile or desktop application, paving the way for more advanced (and highly requested) features like filesystem synchronization.&lt;/p&gt;
&lt;h3&gt;Accessibility&lt;/h3&gt;
&lt;p&gt;We&#39;ve corresponded with a number of groups that aim to improve the state of accessibility in open-source software, but we&#39;ve lacked the time to follow through on their recommendations in a meaningful way. This is going to be a clear priority for our team with dedicated time on our roadmap in the new year.&lt;/p&gt;
&lt;h3&gt;Hiring&lt;/h3&gt;
&lt;p&gt;There&#39;s a lot more that we would like to do in 2022, but realistically the work described above is likely to take a lot of time to get right. In order to accomplish more of our goals we&#39;ll need to hire additional team members, possibly as many as three.&lt;/p&gt;
&lt;p&gt;If you are a web application developer with an interest in privacy and usability we want to hear from you. Our team works remotely, but for accounting purposes we&#39;d prefer candidates from within the EU. We offer flexible working hours, competitive salaries for western Europe, four-day weeks every second week, and the opportunity to serve the public interest through free software.&lt;/p&gt;
&lt;p&gt;If you think you could help us accomplish our goals, send us (&lt;a href=&quot;mailto:jobs@cryptpad.fr&quot;&gt;jobs@cryptpad.fr&lt;/a&gt;) a brief introduction and a CV or resume indicating your relevant qualifications or experience. We tend to receive a disproportionate number of applications from certain demographics. To account for that bias, we&#39;d like to encourage members of communities that are underrepresented in the tech industry to overcome their hesitation and apply. We want to hear to from you!&lt;/p&gt;
&lt;h2&gt;Get ready!&lt;/h2&gt;
&lt;p&gt;We&#39;ve gotten this far because we&#39;ve had your help. You&#39;ve introduced CryptPad to friends, family, and colleagues. You&#39;ve written &lt;a href=&quot;https://marker.io/blog/write-bug-report&quot;&gt;great bug reports&lt;/a&gt; that have helped us find and fix stubborn problems. You&#39;ve &lt;a href=&quot;https://social.weho.st/@cryptpad&quot;&gt;boosted&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/cryptpad&quot;&gt;retweeted&lt;/a&gt;, and &lt;a href=&quot;https://pixelfed.social/cryptpad_design&quot;&gt;liked&lt;/a&gt; our updates. You&#39;ve &lt;a href=&quot;https://weblate.cryptpad.fr/projects/cryptpad/app/&quot;&gt;translated the platform&lt;/a&gt; for your community, &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;subscribed to a premium subscription&lt;/a&gt;, &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donated to our cause&lt;/a&gt;, all of which have had a tremendous impact.&lt;/p&gt;
&lt;p&gt;We&#39;re extremely grateful for all your support, proud of what we&#39;ve created together, and excited to continue this journey with you in the new year!&lt;/p&gt;
&lt;p&gt;See you in 2022!&lt;/p&gt;
</content>
    <category term="retrospective" scheme="https://blog.cryptpad.org/tags/retrospective/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
  </entry>
  <entry>
    <title>November 2021 status: Talks and testimonials</title>
    <link href="https://blog.cryptpad.org/2021/11/24/status-2021-11/"/>
    <updated>2021-11-24T15:12:48Z</updated>
    <id>https://blog.cryptpad.org/2021/11/24/status-2021-11/</id>
    <summary xml:lang="en" type="html">This month we released some minor fixes with 4.12.1. We have been busy making preparations for the upcoming upgrade to OnlyOffice 6.4.2.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released some minor fixes with &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.12.1&quot;&gt;4.12.1&lt;/a&gt;. We have been busy making preparations for the upcoming upgrade to OnlyOffice 6.4.2. This will include the much-requested conditional formatting in Sheets and dark mode support. We have also spent time considering strategy and long-term goals as we prepare the project website, which brings us to:&lt;/p&gt;
&lt;h2&gt;Call for project site testimonials&lt;/h2&gt;
&lt;p&gt;As we have &lt;a href=&quot;https://blog.cryptpad.org/2021/09/15/Relocating-our-blog/&quot;&gt;mentioned before&lt;/a&gt; we are currently working on a project website for CryptPad. This will be used to promote the project and to better communicate the distinction between CryptPad and &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; (the flagship instance).&lt;/p&gt;
&lt;p&gt;The new site will include a public instance list, new pricing for hosted instances, and pages tailored to various sectors such as NGOs, education, and enterprise.&lt;/p&gt;
&lt;p&gt;We are planning to include testimonials on the site. If you use CryptPad and have a few minutes to share some words of support using &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/1NDX7MEkhzNz1FCrcjCxmvjgIj24QjWNncZygR60Ch8/&quot;&gt;our new survey&lt;/a&gt;, that would be much appreciated.&lt;/p&gt;
&lt;h2&gt;Recent and upcoming talks&lt;/h2&gt;
&lt;p&gt;Ludovic presented CryptPad at the &lt;a href=&quot;https://www.campus-du-libre.org/prog.php&quot;&gt;Campus du Libre&lt;/a&gt; on 6th November in Lyon. We don&#39;t have video (yet) but the &lt;a href=&quot;https://www.campus-du-libre.org/2021/Supports/CampusDuLibre2021-CryptPad.pdf&quot;&gt;slides are online&lt;/a&gt; (in French).&lt;/p&gt;
&lt;p&gt;David will present CryptPad to a healthcare and free software audience on December 10th as part of &lt;a href=&quot;https://www.gnuhealthcon.org/2021/&quot;&gt;GNU Health Con 2021&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/GHcon.png&quot; alt=&quot;Promotion image for CryptPad at GNU Health Con 2012&quot; /&gt;&lt;/p&gt;
&lt;p&gt;That&#39;s it for this month. We are looking forward to launching the new OnlyOffice editors, you will probably read about that in the next status update.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="survey" scheme="https://blog.cryptpad.org/tags/survey/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>October 2021 status: A pitch and a farewell </title>
    <link href="https://blog.cryptpad.org/2021/10/27/status-2021-10/"/>
    <updated>2021-10-27T10:57:29Z</updated>
    <id>https://blog.cryptpad.org/2021/10/27/status-2021-10/</id>
    <summary xml:lang="en" type="html">This month we released CryptPad 4.12 with some much anticipated new applications.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released CryptPad &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/4.12.0&quot;&gt;4.12&lt;/a&gt; with some much anticipated new applications.&lt;/p&gt;
&lt;h2&gt;NGI DAPSI Pitch Day&lt;/h2&gt;
&lt;p&gt;On the first day of the month we took part in the DAPSI Pitch Day. All of the funded projects gave updates on their progress. We were in very good company alongside &lt;a href=&quot;https://delta.chat/&quot;&gt;Delta Chat&lt;/a&gt;, &lt;a href=&quot;https://postmarketos.org/&quot;&gt;postmarketOS&lt;/a&gt;, and &lt;a href=&quot;https://dapsi.ngi.eu/meet-the-round-2-innovators-moving-to-phase-2/&quot;&gt;many more&lt;/a&gt;. All projects were succesful in moving to phase 2.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitter.com/cryptpad/status/1443875782376542231&quot;&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/DAPSI_pitch_tweet.png&quot; alt=&quot;Tweet from NGI DAPSI about the pitch day&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;We were happy to present the progress on INTEROFFICE, our project to improve the import/export of popular office formats to/from CryptPad. Most of the technical work on Web Assembly converters is done. This means all conversions happen in the browser (rather that on the server like in most other tools) and we can do this without seeing any of the content that is being converted.&lt;/p&gt;
&lt;p&gt;Part of the project is to release this work as open-source packages so other projects can benefit from this work. We are planning to do this in December once the libraries have been thoroughly tested on CryptPad.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/open-in_preview.png&quot; alt=&quot;Preview of the new &amp;quot;Open in...&amp;quot; feature. Right clicking a compatible file in the drive shows this menu&quot; /&gt;&lt;/p&gt;
&lt;p&gt;CryptPad users will benefit too, with new functionality becoming available on the platform. Files in popular formats such as .docx, .xlsx, .pptx, .odt, .ods, and .odp are no longer being treated only as static files once they are uploaded to CryptPad. A new menu item called &amp;quot;Open in ...&amp;quot; makes them editable in the corresponding application. Which brings us to:&lt;/p&gt;
&lt;h2&gt;Two new app releases&lt;/h2&gt;
&lt;p&gt;We have long been planning to add OnlyOffice&#39;s Document and Presentation applications to CryptPad, completing the suite that  started with Spreadsheet in 2019. The improved inter-operability we built with INTEROFFICE makes this a good time to finally release these applications, to make the most our of the new imports and exports. As part of the &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/4.12.0&quot;&gt;4.12 release&lt;/a&gt; we launched these new apps as &amp;quot;early access&amp;quot;, which means only subscribers on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; can create new documents and they are available on other instances if administrators opt-in. We &lt;a href=&quot;https://blog.cryptpad.org/2021/10/21/Announcing-new-apps/&quot;&gt;wrote about this in more detail in our last post&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/OO-doc-preview.png&quot; alt=&quot;Preview of the new Document application.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/OO-slide-preview.png&quot; alt=&quot;Preview of the new Presentation application.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This launch made us reconsider our current release schedule. We may revisit this in the near future and move towards a slower pace where each release would have bigger changes. This would potentially come with a more readable naming scheme as well, perhaps taking a leaf out of Canonical&#39;s playbook where Ubuntu releases are time-stamped rather than numbered. We will come back to this, likely in the new year, and write about any changes here.&lt;/p&gt;
&lt;h2&gt;NGI0 PET coming to an end&lt;/h2&gt;
&lt;p&gt;This month marks the end of the &lt;a href=&quot;https://nlnet.nl/PET&quot;&gt;NGI0 &lt;em&gt;Privacy Enhancing Technologies&lt;/em&gt;&lt;/a&gt; program (previously known as NLnet PET), that will wrap up on October 31st. CryptPad has benefited a lot from this funding, with 3 projects over 3 years. To name but a few, these are some of the major features that were made possible through this support:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Teams (incl. team drive, roles, etc)&lt;/li&gt;
&lt;li&gt;Full documentation for users, administrators, and developers&lt;/li&gt;
&lt;li&gt;Calendars&lt;/li&gt;
&lt;li&gt;The Form application&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We are very thankful for this ongoing support. NGI0 created an approachable way for development teams like ours to access funds from the European Commission, creating real impact with minimal red tape. The fund was established by NLnet with financial support from the European Commission&#39;s &lt;a href=&quot;https://ngi.eu/&quot;&gt;Next Generation Internet&lt;/a&gt; programme, under the aegis of DG Communications Networks, Content and Technology under &lt;a href=&quot;https://cordis.europa.eu/project/id/825310&quot;&gt;grant agreement No 825310&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This concludes this month&#39;s updates. Next up for the team is some thorough testing of the new applications and fixing any issues that get reported by early-access testers. Besides this we will be continuing with work on INTEROFFICE towards the project conclusion in January 2022.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="interoperability" scheme="https://blog.cryptpad.org/tags/interoperability/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
  </entry>
  <entry>
    <title>Announcing two new applications in early access: Document and Presentation</title>
    <link href="https://blog.cryptpad.org/2021/10/21/Announcing-new-apps/"/>
    <updated>2021-10-21T11:14:03Z</updated>
    <id>https://blog.cryptpad.org/2021/10/21/Announcing-new-apps/</id>
    <summary xml:lang="en" type="html">Today we are beginning to roll out some major new features for CryptPad. We have integrated the two remaining OnlyOffice editors for text documents and presentations into CryptPad&#39;s real-time encrypted collaboration engine. This completes the OnlyOffice suite, as spreadsheets have been available for some time.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Today we are beginning to roll out some major new features for CryptPad. We have integrated the two remaining &lt;a href=&quot;https://www.onlyoffice.com/&quot;&gt;OnlyOffice&lt;/a&gt; editors for text documents and presentations into CryptPad&#39;s real-time encrypted collaboration engine. This completes the OnlyOffice suite, as spreadsheets have been available for some time. Like our spreadsheet editor, these two new applications &lt;a href=&quot;https://docs.cryptpad.fr/en/FAQ.html#what-is-the-relationship-between-cryptpad-and-onlyoffice&quot;&gt;only rely on OnlyOffice&#39;s client-side components, not its server&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This work is combined with our ongoing efforts to improve import and export of documents funded by &lt;a href=&quot;https://dapsi.ngi.eu/&quot;&gt;NGI DAPSI&lt;/a&gt;. As a result CryptPad will be much more inter-operable with existing office suites and their file formats, for example with the ability to import and export &lt;em&gt;docx&lt;/em&gt;, &lt;em&gt;pptx&lt;/em&gt;, and &lt;em&gt;xslx&lt;/em&gt; files, as well as the open document formats &lt;em&gt;odt&lt;/em&gt;, &lt;em&gt;odp&lt;/em&gt;, and &lt;em&gt;ods&lt;/em&gt;. Additionally, documents in these formats that are uploaded to CryptPad will no longer be treated only as static files. A new &amp;quot;Open in&amp;quot; menu makes them editable in the corresponding CryptPad application.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/OO-doc-preview.png&quot; alt=&quot;Preview of the new Document application.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/OO-slide-preview.png&quot; alt=&quot;Preview of the new Presentation application.&quot; /&gt;&lt;/p&gt;
&lt;p&gt;When we launched OnlyOffice spreadsheets &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/2.16.0&quot;&gt;at the beginning of 2019&lt;/a&gt; we were inundated with support tickets as teething issues inevitably surfaced. As a team of three people handling both development and the administration of &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, support is a key part of our work but also the most time consuming. With two new OnlyOffice applications included in this launch we are very conscious of the risk that our effort to provide an accessible service interferes with our practical ability to improve its underlying technology. The solution we have settled on is to launch the new Document and Presentation applications as &lt;em&gt;early access&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;On &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; this means that — at least for now — only people with a subscription will be able to create new documents and presentations in the new applications. They will see a warning that these applications are experimental and should not yet be trusted with important data. Anyone else will be able to open and/or edit these documents as normal when they are shared. Based on how this initial period goes, we&#39;ll decide how and when to relax these limitations.&lt;/p&gt;
&lt;p&gt;To be clear, CryptPad is free software and will remain as such. The code for these new integrations is freely available, and will be available to all other CryptPad instances if the administrators choose to enable early-access applications.&lt;/p&gt;
&lt;p&gt;We think this gradual rollout will result in a smoother launch and ultimately in a better experience with CryptPad for everyone. We are not interested in putting paywalls around various parts of the platform but we do have to find ways to manage our workloads in order to continue developing it. Projects such as NGI DAPSI come with deadlines that have to be met in order for us to receive their funding.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Early access&lt;/em&gt; means that everything remains open-source, and eventually will be available to everyone. It rewards people who support the project with a first view of much anticipated applications. This is a new thing for us, but we believe this delay to access new applications is a relatively minor step. The bigger picture is that we are working towards the long-term success of CryptPad. This involves being fully funded by our users while they currently account for only 1/3 of our budget (subscriptions on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; and donations combined). EU research projects such as NGI DAPSI currently cover the remaining 2/3. We have more ideas to encourage people to support the project, and to involve them in the future of the platform. One of them is giving subscribers a vote on our roadmap to decide which new features get prioritized. We will come back to this in due course.&lt;/p&gt;
&lt;p&gt;Everyone benefits from sustainable open-source. Our recent work has advanced the state of the art in document conversion in the browser, rather than on the server where user data is exposed. This will be released independently of CryptPad so other projects can reuse it. If you are eager to see this in action, and to test the new Document and Presentation applications, please consider subscribing to a plan on &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; to help make CryptPad sustainable for everyone.&lt;/p&gt;
</content>
    <category term="interoperability" scheme="https://blog.cryptpad.org/tags/interoperability/"/>
    <category term="document" scheme="https://blog.cryptpad.org/tags/document/"/>
    <category term="presentation" scheme="https://blog.cryptpad.org/tags/presentation/"/>
  </entry>
  <entry>
    <title>September 2021 status: Changing seasons</title>
    <link href="https://blog.cryptpad.org/2021/09/27/status-2021-09/"/>
    <updated>2021-09-27T16:44:43Z</updated>
    <id>https://blog.cryptpad.org/2021/09/27/status-2021-09/</id>
    <summary xml:lang="en" type="html">September is always a busy month for us as many people return from holidays to their regular schedules. Along with the changing of the physical seasons, we&#39;re marking a number of project milestones as well.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;September is always a busy month for us as many people return from holidays to their regular schedules. Along with the changing of the physical seasons, we&#39;re marking a number of project milestones as well.&lt;/p&gt;
&lt;h2&gt;Dropping support for Internet Explorer&lt;/h2&gt;
&lt;p&gt;Microsoft&#39;s Office365 platform officially stopped supporting Internet Explorer 11 in August, and we decided it was a good time to do the same. Up until our &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.11.0&quot;&gt;4.11 release&lt;/a&gt; we were careful to maintain compatibility with this browser that had not received any new features since 2013. Moving on from IE lets us rely on modern functionality, simplifying our code and making CryptPad smaller and faster to load.&lt;/p&gt;
&lt;h2&gt;End of NLnet PET&lt;/h2&gt;
&lt;p&gt;As described in our &lt;a href=&quot;https://social.weho.st/web/statuses/106901028968963691&quot;&gt;toots&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/cryptpad/status/1435901167524007936&quot;&gt;tweets&lt;/a&gt; on September 9th, &lt;em&gt;4.11&lt;/em&gt; also included significant improvements to our &lt;em&gt;Forms&lt;/em&gt; app. With this second round of changes deployed we are nearly ready to close our &lt;a href=&quot;https://nlnet.nl/project/CryptPadForms/&quot;&gt;third and final NLnet PET project&lt;/a&gt; before NLnet foundation concludes their NGI0 &lt;em&gt;Privacy-Enhancing Technologies&lt;/em&gt; program.&lt;/p&gt;
&lt;p&gt;NLnet&#39;s advocacy for open-source software and direct support of its developers has had an incredible impact on our project and hundreds of others like it. If you haven&#39;t already done so, now is a great time to skim through the list of &lt;a href=&quot;https://nlnet.nl/project/current.html&quot;&gt;projects they&#39;ve funded&lt;/a&gt; to count how many of them you personally use!&lt;/p&gt;
&lt;h2&gt;DAPSI Phase 2&lt;/h2&gt;
&lt;p&gt;We&#39;re also approaching a milestone for the &lt;a href=&quot;https://dapsi.ngi.eu/&quot;&gt;NGI DAPSI&lt;/a&gt; project that we&#39;ve been working on in parallel. We&#39;ll present our latest research into client-side file format conversion, including some prototypes that we hope to deploy later in the year and our findings from the survey on file format conversion requirements that closed earlier this month. If all goes well we will receive a second round of funding to continue with the proposed work plan.&lt;/p&gt;
&lt;h2&gt;A brief pause in our regular release schedule&lt;/h2&gt;
&lt;p&gt;The next few weeks are likely to be quite intense for us. We&#39;ll be focused on wrapping up our current projects and preparing to launch a new round of projects for 2022. There are several very promising opportunities on our horizon and it looks like we&#39;re going to have to hire to be able to follow through on all of our plans.&lt;/p&gt;
&lt;p&gt;We&#39;ll announce exactly what positions we&#39;re looking to fill within our team and provide updates to our roadmap as soon as a few more details are finalized. A number of important deadlines happen to coincide in a short timespan, so we&#39;ll take a short break from our regular release cycle and resume our usual pace later in October.&lt;/p&gt;
&lt;p&gt;Until then, thanks to all our supporters!&lt;/p&gt;
</content>
    <category term="forms" scheme="https://blog.cryptpad.org/tags/forms/"/>
    <category term="interoperability" scheme="https://blog.cryptpad.org/tags/interoperability/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
  </entry>
  <entry>
    <title>Relocating our blog</title>
    <link href="https://blog.cryptpad.org/2021/09/15/Relocating-our-blog/"/>
    <updated>2021-09-15T08:32:06Z</updated>
    <id>https://blog.cryptpad.org/2021/09/15/Relocating-our-blog/</id>
    <summary xml:lang="en" type="html">This is just a quick announcement to say that we&#39;ve moved our blog from blog.cryptpad.fr to blog.cryptpad.org.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This is just a quick announcement to say that we&#39;ve moved our blog from &lt;strong&gt;&lt;a href=&quot;http://blog.cryptpad.fr/&quot;&gt;blog.cryptpad.fr&lt;/a&gt;&lt;/strong&gt; to &lt;strong&gt;&lt;a href=&quot;http://blog.cryptpad.org/&quot;&gt;blog.cryptpad.org&lt;/a&gt;&lt;/strong&gt;. Visitors to the old URL will be automatically redirected to the new one. Anyone who has subscribed to its RSS feed will continue to get updates for the new address.&lt;/p&gt;
&lt;p&gt;This blog is the first of a few services that we plan to host under the &lt;em&gt;&lt;a href=&quot;http://cryptpad.org/&quot;&gt;CryptPad.org&lt;/a&gt;&lt;/em&gt; domain. Our goal is to provide some better separation between &lt;em&gt;CryptPad&lt;/em&gt; (the open-source project) and &lt;em&gt;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;&lt;/em&gt; (the public instance that we host). In the near future we plan to introduce a project website featuring general information, an overview of our roadmap and finances, and a directory of public instances.&lt;/p&gt;
</content>
    <category term="infrastructure" scheme="https://blog.cryptpad.org/tags/infrastructure/"/>
    <category term="open-source" scheme="https://blog.cryptpad.org/tags/open-source/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
  </entry>
  <entry>
    <title>August 2021 status: Forms hackathon and a new social media account</title>
    <link href="https://blog.cryptpad.org/2021/08/26/status-2021-08/"/>
    <updated>2021-08-26T13:25:32Z</updated>
    <id>https://blog.cryptpad.org/2021/08/26/status-2021-08/</id>
    <summary xml:lang="en" type="html">This month the team has been operating at reduced capacity as we took turns taking much needed breaks. There is less than usual to report on so this status update will be a short one.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month the team has been operating at reduced capacity as we took turns taking much needed breaks. There is less than usual to report on so this status update will be a short one. Rest assured however that lots of things are in preparation for the near future.&lt;/p&gt;
&lt;p&gt;We released CryptPad version &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.10.0&quot;&gt;4.10.0&lt;/a&gt; with some inital improvements to Forms.&lt;/p&gt;
&lt;h2&gt;Forms hackathon&lt;/h2&gt;
&lt;p&gt;August was the time for the yearly XWiki seminar (held mostly virtually again this year). During the traditional hackathon sprint we worked on presenting Form responses in a more appealing and useful way, using basic bar charts.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/forms_chart_timeline.png&quot; alt=&quot;Experiments with Charts.css&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We experimented with &lt;a href=&quot;https://chartscss.org/&quot;&gt;Charts.css&lt;/a&gt; at first, and were impressed. In the end there were too many tweaks necessary to make it work with CryptPad styles, so we ended up re-implementing our own minimal table-based bar charts. These are now used on the response page to show a timeline of responses and visualise question results.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/forms_graphs.png&quot; alt=&quot;The new graphs on the Form response page&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We will re-use these charts where relevant on the rest of the platform. For example the admin panel now &lt;a href=&quot;https://pixelfed.social/p/cryptpad_design/334240738311278592&quot;&gt;shows a graph of instance performance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There is a lot more coming to Forms. We are currently working on a host of new features and improvements to address issues and requests raised during our research over the summer. All of this will be covered in next month&#39;s post (hopefully), for now I will leave you with this teaser:&lt;/p&gt;
&lt;iframe src=&quot;https://pixelfed.social/p/cryptpad_design/336067660808851456/embed?caption=true&amp;likes=false&amp;layout=full&quot; class=&quot;pixelfed__embed&quot; style=&quot;max-width: 100%; border: 0&quot; width=&quot;400&quot; allowfullscreen=&quot;allowfullscreen&quot;&gt;&lt;/iframe&gt;&lt;script async=&quot;&quot; defer=&quot;&quot; src=&quot;https://blog.cryptpad.org/js/pixelfed-embed.js&quot;&gt;&lt;/script&gt;
&lt;h2&gt;@cryptpad_design on Pixelfed&lt;/h2&gt;
&lt;p&gt;As you may have noticed, the image above is embedded from the &lt;a href=&quot;https://pixelfed.social/cryptpad_design&quot;&gt;@cryptpad_design&lt;/a&gt; account on &lt;a href=&quot;https://pixelfed.org/&quot;&gt;Pixelfed&lt;/a&gt;. This is a new experiment in communicating about the design work that goes into CrytpPad. Pixelfed is part of the fediverse, so you can follow from accounts on Mastodon, Pleroma, etc (there is also an &lt;a href=&quot;https://pixelfed.social/users/cryptpad_design.atom&quot;&gt;RSS feed&lt;/a&gt;). Followers will get sneak previews of upcoming features, random screenshots, and highlights of FOSS design tools. Subscribe if that sounds interesting to you.&lt;/p&gt;
&lt;p&gt;This wraps up our news for this month. The team is busy with Forms v2 and there will be lots to talk about in the near future. In the meantime, &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/kdhTrcywvS+ToQ3r4DI75sbfz+uyUPlHRWJhyWF7pVI/&quot;&gt;our research survey about document import/export&lt;/a&gt; is still open for feedback to inform our future work improving document conversions.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="forms" scheme="https://blog.cryptpad.org/tags/forms/"/>
    <category term="social media" scheme="https://blog.cryptpad.org/tags/social media/"/>
  </entry>
  <entry>
    <title>July 2021 status: Research on Forms and file import/export</title>
    <link href="https://blog.cryptpad.org/2021/06/29/status-july-2021/"/>
    <updated>2021-06-29T11:24:33Z</updated>
    <id>https://blog.cryptpad.org/2021/06/29/status-july-2021/</id>
    <summary xml:lang="en" type="html">This month we released two versions of CryptPad. 4.8.0 included some early work on INTEROFFICE format conversions. 4.9.0 addressed some early feedback on the Forms application as well as requests for a way to add links (URLs) to the Drive and to share them with contacts.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released two versions of CryptPad. &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.8.0&quot;&gt;4.8.0&lt;/a&gt; included some early work on &lt;a href=&quot;https://dapsi.ngi.eu/meet-interoffice-and-its-cryptpad-project/&quot;&gt;INTEROFFICE&lt;/a&gt; format conversions. &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.9.0&quot;&gt;4.9.0&lt;/a&gt; addressed some early feedback on the Forms application as well as requests for a way to add links (URLs) to the Drive and to share them with contacts.&lt;/p&gt;
&lt;p&gt;During both release cycles, since the launch of Forms last month, we have been conducting a lot of research. First about the use of the Forms application itself, and now also to inform work on INTEROFFICE.&lt;/p&gt;
&lt;h2&gt;Forms survey and interviews&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/forms-usage-pie-chart.png&quot; alt=&quot;The majority of more than 300 participants in our survey indicated that they use forms in a professional or research context&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The first thing we did after launching the new Forms application was to use it to survey people on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;. We asked them about their use of online forms and recruited some volunteers for one-to-one interviews. These are still ongoing. Once they are complete and analyzed, we will use all of the findings to inform the next round of developments on Forms.&lt;/p&gt;
&lt;p&gt;In the meantime, &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.9.0&quot;&gt;4.9.0&lt;/a&gt; included some minor improvements (e.g. randomizing ordered-list questions) and bug fixes based on early feedback. Unfortunately one of the bugs affected our own &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/kdhTrcywvS+ToQ3r4DI75sbfz+uyUPlHRWJhyWF7pVI/&quot;&gt;survey about file import/export&lt;/a&gt; (see next section). We found that setting an expiration date far enough into the future (above 23 days) caused the Submit button to disappear. So if you filled it out and weren&#39;t able to submit, know that this is now fixed!&lt;/p&gt;
&lt;h2&gt;INTEROFFICE survey&lt;/h2&gt;
&lt;p&gt;We have started work on INTEROFFICE, our project about improving conversion between document formats in CryptPad (and in the browser in general). We already have some knowledge of requested conversions from a couple years worth of support tickets and feature requests. However after seeing the relatively high number of responses to the Forms survey (300+), we decided to conduct one for file import/export to get even more insight into what people use and request.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/kdhTrcywvS+ToQ3r4DI75sbfz+uyUPlHRWJhyWF7pVI/&quot;&gt;File import/export survey&lt;/a&gt; will be open until the 8th of September. Please fill it out if you haven&#39;t already, and now you can actually submit!&lt;/p&gt;
&lt;h2&gt;Other news&lt;/h2&gt;
&lt;p&gt;The work on INTEROFFICE also includes a series of business mentoring sessions as part of the DAPSI project. This month we started putting some of the advice received into practice by preparing a new project website that we hope to launch this fall. This will include a list of public instances to share the load of free users with &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;. The project site will be separate from the flagship instance and it will offer a range of services to host your own instance, from one day installation help to fully managed service.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-in-japanese.png&quot; alt=&quot;CryptPad&#39;s home page in Japanese&quot; /&gt;&lt;/p&gt;
&lt;p&gt;🇯🇵 CryptPad is now fully translated to Japanese. Big thanks to &lt;a href=&quot;https://mstdn.progressiv.dev/@suguru&quot;&gt;@suguru@mstdn.progressiv.dev&lt;/a&gt; for all the work!&lt;/p&gt;
&lt;p&gt;This wraps up our news for the month. The coming cycle will be on the quiet side as the team takes turns taking much needed breaks.&lt;/p&gt;
</content>
    <category term="forms" scheme="https://blog.cryptpad.org/tags/forms/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
  </entry>
  <entry>
    <title>June 2021 status: Forms and a call to instance administrators</title>
    <link href="https://blog.cryptpad.org/2021/06/28/status-june-2021/"/>
    <updated>2021-06-28T11:24:33Z</updated>
    <id>https://blog.cryptpad.org/2021/06/28/status-june-2021/</id>
    <summary xml:lang="en" type="html">This month we released two versions of CryptPad. 4.6 was a stability update addressing many minor issues while the team prepared for 4.7 and a major new feature: the new Forms application.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released two versions of CryptPad. &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.6.0&quot;&gt;4.6&lt;/a&gt; was a stability update addressing many minor issues while the team prepared for &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.7.0&quot;&gt;4.7&lt;/a&gt; and a major new feature: the new &lt;em&gt;Forms&lt;/em&gt; application.&lt;/p&gt;
&lt;h2&gt;Say hello to Forms!&lt;/h2&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/form-preview.png&quot; alt=&quot;Preview of the new Form application&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The &lt;em&gt;Poll&lt;/em&gt; application in CryptPad was aimed at choosing a meeting date between a group of people. However it had some major shortcomings including &amp;quot;all or nothing&amp;quot; edit rights where participants could modify other people&#39;s answers. Part of our &lt;a href=&quot;https://nlnet.nl/project/CryptPadForms/&quot;&gt;Dialogue&lt;/a&gt; project proposal was to address these issues in a complete re-write of the application. Another aspect of the project aims to provide a new application for online surveys beyond simple polls.&lt;/p&gt;
&lt;p&gt;The new &lt;em&gt;Form&lt;/em&gt; application is an answer to both of these proposals. Polls are now one of 8 question types that can be added to an online form. Earlier in the project we &lt;a href=&quot;https://blog.cryptpad.fr/2021/04/26/status-april-2021/&quot;&gt;spun out the reminders API element of forms into a full blown calendar app&lt;/a&gt;. With &lt;em&gt;Forms&lt;/em&gt; we are merging a variety of use cases into one application. As we have &lt;a href=&quot;https://social.weho.st/@cryptpad/106419898274848746&quot;&gt;indicated&lt;/a&gt; polls created with the old application remain available, but the creation of new ones is discouraged and all our future development efforts will be directed at &lt;em&gt;Forms&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;We released the first Beta version of forms with CryptPad &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/4.7.0&quot;&gt;4.7.0&lt;/a&gt; (on June 16th). There are many things we still want to improve, including:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Export of responses (e.g. to .CSV)&lt;/li&gt;
&lt;li&gt;Better visualization of responses (e.g. with simple bar charts)&lt;/li&gt;
&lt;li&gt;&amp;quot;Required&amp;quot; questions that would print an error if left empty&lt;/li&gt;
&lt;li&gt;Notifications for form authors (e.g. when someone has responded)&lt;/li&gt;
&lt;li&gt;A default &amp;quot;poll&amp;quot; template to make it easy to replicate the behaviour of the deprecated &lt;em&gt;Poll&lt;/em&gt; app&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We are gathering feedback on these and anything else that might be improved, using the &lt;em&gt;Form&lt;/em&gt; app itself for a feedback survey that is open until &lt;strong&gt;July 12th&lt;/strong&gt;. Please &lt;a href=&quot;https://cryptpad.fr/form/#/2/form/view/gYs4QS7DetInCXy0z2CQoUW6CwN6kaR2utGsftDzp58/&quot;&gt;let us know of any comments on the application&lt;/a&gt; and what you would like to see improved, especially if you use online forms regularly. We really appreciate the time of nearly 100 people who have already sent in their comments. These will inform our work as we improve &lt;em&gt;Forms&lt;/em&gt; this summer.&lt;/p&gt;
&lt;p&gt;Details on how to use the &lt;em&gt;Form&lt;/em&gt; application are available in the &lt;a href=&quot;https://docs.cryptpad.fr/en/user_guide/apps/form.html&quot;&gt;CryptPad User Guide&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;A call to instance administrators&lt;/h2&gt;
&lt;p&gt;This month we sent out our first—and last—mass email to CryptPad instance administrators. This was a strange feeling for a team that spends most of its time working on ways to &lt;strong&gt;not&lt;/strong&gt; know anything about its users. However we felt that version 4.7.0 was a good time to remind all admins to upgrade to latest version, and to ask for their consent for future communications as this is now managed directly from the admin panel.&lt;/p&gt;
&lt;p&gt;First of all, how did we have their email? The configuration for a new instance includes providing an email contact for the administrator, and this is sent to the development team in the daily &amp;quot;ping&amp;quot; that lets us know how many declared CryptPad instances are active. This is all detailed in the configuration file that admins read when setting up their instance.&lt;/p&gt;
&lt;p&gt;In both releases this month we have made improvements to the administration panel of CryptPad instances. More settings, such as the setup for the Support ticket mailbox, are now available from the panel rather than buried in configuration files. This also includes new settings for administrators to manage how they communicate (or not) with the development team.&lt;/p&gt;
&lt;p&gt;The &amp;quot;mass email&amp;quot; was to encourage all administrators to upgrade to the latest 4.7.0 version in order to 1) benefit from all of the new features and security improvements made to CryptPad in the last few months (or years depending on the version they were on) and 2) manage further communication with the development team going forward. These communications will include security notifications and other things such as inclusion in a directory of open instances that we are working on setting up.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;There is one last bit of news to wrap up: CryptPad is now included in &lt;a href=&quot;https://catalogue.numerique.gouv.fr/solutions/cryptpad&quot;&gt;Catalogue GouvTech, a software directory curated by the French state&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The next month will be spent improving &lt;em&gt;Forms&lt;/em&gt; and starting work on our &lt;a href=&quot;https://blog.cryptpad.fr/2021/04/26/status-april-2021/&quot;&gt;INTEROFFICE project&lt;/a&gt; for &lt;a href=&quot;https://dapsi.ngi.eu/&quot;&gt;DAPSI&lt;/a&gt;, working towards improved import/export and document conversions from within CryptPad.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="administration" scheme="https://blog.cryptpad.org/tags/administration/"/>
    <category term="forms" scheme="https://blog.cryptpad.org/tags/forms/"/>
  </entry>
  <entry>
    <title>May 2021 status: Communities wrap up and initial work on Forms</title>
    <link href="https://blog.cryptpad.org/2021/05/26/status-may-2021/"/>
    <updated>2021-05-26T14:05:00Z</updated>
    <id>https://blog.cryptpad.org/2021/05/26/status-may-2021/</id>
    <summary xml:lang="en" type="html">This month we released CryptPad 4.5.0, featuring the public debut of the Calendar application that was in beta since 4.4.0.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released CryptPad &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/4.5.0&quot;&gt;4.5.0&lt;/a&gt;, featuring the public debut of the Calendar application that was &lt;a href=&quot;https://blog.cryptpad.fr/2021/04/26/status-april-2021/&quot;&gt;in beta since 4.4.0&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We reached a couple of milestones this month with over 100K registered users on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, the end of the Communities project, and the start of Interoffice (DAPSI).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/calendar-dark.png&quot; alt=&quot;The calendar application shown in dark mode, now ready for public use!&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Wrapping up the Communities project&lt;/h2&gt;
&lt;p&gt;Besides Calendars, CryptPad 4.5.0 also introduced &lt;em&gt;restricted registrations&lt;/em&gt; for administrators who want to limit access to their instance.&lt;/p&gt;
&lt;p&gt;On the documentation side, version 4.5.0 was in fact the first &lt;em&gt;complete&lt;/em&gt; release with all three guides: User, Developer, and &lt;a href=&quot;https://docs.cryptpad.fr/en/admin_guide/index.html&quot;&gt;the new Administrator guide&lt;/a&gt; with instructions to install and maintain a CryptPad instance in production. Additionally, admins can now check that their installation is complete and well configured with an improved &lt;code&gt;/checkup/&lt;/code&gt; page.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad-documentation&quot;&gt;documentation GitHub repo&lt;/a&gt; remains open for feedback and/or contributions, and please see &lt;a href=&quot;https://weblate.cryptpad.fr/projects/user-guide/&quot;&gt;Weblate&lt;/a&gt; for translations of the User Guide (note that the developer and admin guides are in English only to keep translation of the user guide manageable).&lt;/p&gt;
&lt;p&gt;Restricted registrations and the admin guide were the remaining two deliverables for the &lt;a href=&quot;https://nlnet.nl/project/Cryptpad-Communities/&quot;&gt;Communities project&lt;/a&gt;. For a summary of all features implemented for this project over the last few months, visit our &lt;a href=&quot;https://cryptpad.fr/kanban/#/2/kanban/view/PLM0C3tFWvYhd+EPzXrbT+NxB76Z5DtZhAA5W5hG9wo/&quot;&gt;public roadmap&lt;/a&gt; and filter with the &amp;quot;communities&amp;quot; tag.&lt;/p&gt;
&lt;p&gt;While we are on the topic of wrapping up projects, Aaron took part in the &lt;a href=&quot;https://www.ngi.eu/event/ngi_trust-webinar-results-6/?instance_id=519&quot;&gt;6th NGI TRUST Results Webinar&lt;/a&gt; and summarised our work for that project which &lt;a href=&quot;https://blog.cryptpad.fr/2021/02/24/status-feb-2021/&quot;&gt;we completed last February&lt;/a&gt;&lt;/p&gt;
&lt;h2&gt;Preparations for Forms&lt;/h2&gt;
&lt;p&gt;With some projects completed we can now turn another major milestone ahead: the &lt;a href=&quot;https://nlnet.nl/project/CryptPadForms/&quot;&gt;Dialogue project&lt;/a&gt; and a new app: Forms. This will allow for the creation of surveys and questionnaires with use-cases ranging from finding a meeting date to conducting research in a secure and private manner. We are only in the initial stages of development but once completed the Forms app will gradually replace our current Polls and their many shortcomings (such as anyone being able to modify anyone else&#39;s answers). If you use Polls currently, rest assured that the new app will provide the same functionality and more. The migration strategy remains to be finalised but existing Polls will remain available through the transition.&lt;/p&gt;
&lt;h2&gt;Coverage&lt;/h2&gt;
&lt;p&gt;Finally, the team took part in a couple of events this month. Ludovic Dubost was &lt;a href=&quot;https://www.capdigital.com/en/dapsi-2nd-open-call-results-are-out-discover-one-of-the-winners-xwiki/&quot;&gt;interviewed about INTEROFFICE&lt;/a&gt;, our upcoming project as part of the DAPSI grant.&lt;/p&gt;
&lt;p&gt;CryptPad was featured as part the of the &lt;a href=&quot;https://3rd.obfuscationworkshop.org/&quot;&gt;3rd Workshop on Obfuscation&lt;/a&gt;, a fascinating online event running on open-source software. We presented the poster below in the exhibition space. Click for &lt;a href=&quot;https://cryptpad.fr/file/#/2/file/LSBSej8liq5+v+igXgS6vDXA/&quot;&gt;the PDF version&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-poster.png&quot; alt=&quot;The CryptPad poster presented at the workshop&quot; /&gt;&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="communities" scheme="https://blog.cryptpad.org/tags/communities/"/>
    <category term="forms" scheme="https://blog.cryptpad.org/tags/forms/"/>
    <category term="documentation" scheme="https://blog.cryptpad.org/tags/documentation/"/>
  </entry>
  <entry>
    <title>April 2021 status: Calendars and a major new research project</title>
    <link href="https://blog.cryptpad.org/2021/04/26/status-april-2021/"/>
    <updated>2021-04-26T14:05:43Z</updated>
    <id>https://blog.cryptpad.org/2021/04/26/status-april-2021/</id>
    <summary xml:lang="en" type="html">This month we released CryptPad 4.4.0, and 4.5.0 is just around the corner: a new calendar app, improvements for instance administrators, and a new research project</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released CryptPad &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/4.4.0&quot;&gt;4.4.0&lt;/a&gt;, and 4.5.0 is just around the corner. From a user perspective, these two releases bring some major new functionality in the form of a calendar app. We have also made some improvements for instance administrators by introducing instance-wide &amp;quot;broadcasts&amp;quot;. Finally there are some exciting things on the horizon as we have secured funding for a new research project.&lt;/p&gt;
&lt;h2&gt;Calendar&lt;/h2&gt;
&lt;p&gt;The new calendar app made its debut as a &lt;a href=&quot;https://social.weho.st/@cryptpad/106064064521575394&quot;&gt;BETA preview&lt;/a&gt; in 4.4.0 and will be fully released in 4.5.0. This application is not directly funded by any of our current research projects, but rather makes the most out of the &lt;a href=&quot;https://nlnet.nl/project/CryptPadForms/&quot;&gt;Dialogue project&lt;/a&gt; funded by NLNet/NGI Zero. For Dialogue, we have planned a full re-write of our current Polls app as well as a new Survey app (see &lt;a href=&quot;https://cryptpad.fr/kanban/#/2/kanban/view/PLM0C3tFWvYhd+EPzXrbT+NxB76Z5DtZhAA5W5hG9wo/&quot;&gt;our roadmap&lt;/a&gt; for more details). Both of these include a &lt;strong&gt;Reminders API&lt;/strong&gt; to notify authors, for example when surveys are completed. Rather than limit this API to the upcoming apps, we took this as an opportunity to bring full calendar functionality to CryptPad. When it is released, the calendar app will include the following features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Creation of calendars and events for CryptPad users and teams.&lt;/li&gt;
&lt;li&gt;A typical calendar UI with month, week, and day views, drag and &amp;quot;resize&amp;quot; events, etc thanks to &lt;a href=&quot;https://ui.toast.com/tui-calendar&quot;&gt;Toast UI&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;Sharing calendars similarly to any other CryptPad document (access rights, sharing with contacts, via a link, etc).&lt;/li&gt;
&lt;li&gt;Import/Export of .ics files for interoperability with other calendar apps.&lt;/li&gt;
&lt;li&gt;Setting reminders for events, and receiving reminders as CryptPad notifications.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/BETA-calendar-preview.png&quot; alt=&quot;A beta preview of the calendar application&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We are aware that some features are missing, such as recurring events. This is likely to generate some &amp;quot;feature request&amp;quot; messages from users that we will have no funded time to address. However our hope is that this initial feature set still brings enough benefits to CryptPad users on the whole to make it worthwhile.&lt;/p&gt;
&lt;h2&gt;Admin Broadcasts&lt;/h2&gt;
&lt;p&gt;Another part of the Dialogue project is to enable administrators to &lt;strong&gt;broadcast&lt;/strong&gt; messages to all users on their instance. This is now possible as of version 4.4.0, with the following use-cases available in the Broadcast tab of the Administration panel:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Maintenance&lt;/strong&gt;: to notify users of planned work that may disturb their use of the platform. Admins enter a start and end time and users receive notifications prior and during the planned maintenance.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Survey&lt;/strong&gt;: to direct users to a survey via an external link. Admins enter the survey URL and users receive a notification and a survey link in the user menu. Users of &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; can make use of this with our new survey to gather feedback on their usage.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Custom message&lt;/strong&gt;: to send any message as a notification to all instance users. The message can be translated in all languages available on CryptPad, and will be seen by new users registering as long as it remains active.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Instance administrators are set to receive more support as we wrap up our &lt;a href=&quot;https://nlnet.nl/project/Cryptpad-Communities/&quot;&gt;Communities&lt;/a&gt; project. The last of our 3 documentation guides will cover instance installation and administration, and the only remaining feature of the project will allow admins to restrict registration on their instance.&lt;/p&gt;
&lt;p&gt;While we are on the topic of administration, we have added &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/commit/4d5d809447130710728ea85caf53c38f084ebb26&quot;&gt;one line&lt;/a&gt; to the &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/blob/main/docs/example.nginx.conf&quot;&gt;example Nginx configuration&lt;/a&gt; for CryptPad.&lt;/p&gt;
&lt;pre class=&quot;language-diff&quot;&gt;&lt;code class=&quot;language-diff&quot;&gt;&lt;span class=&quot;token inserted-sign inserted&quot;&gt;&lt;span class=&quot;token prefix inserted&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;token line&quot;&gt; add_header Permissions-Policy interest-cohort=();&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This opts the instance out of &lt;a href=&quot;https://www.eff.org/deeplinks/2021/03/googles-floc-terrible-idea&quot;&gt;Google&#39;s FLoC network&lt;/a&gt;, we encourage all administrators to make this change.&lt;/p&gt;
&lt;h2&gt;INTEROFFICE for DAPSI&lt;/h2&gt;
&lt;p&gt;Finally, we are delighted to announce that we have secured €100K in funding from the &lt;a href=&quot;https://dapsi.ngi.eu/&quot;&gt;NGI Data Portability &amp;amp; Services Incubator&lt;/a&gt; (DAPSI). Our project is called INTEROFFICE: INTER-operable Office File Formats Integrated with Client-side Encryption.&lt;/p&gt;
&lt;p&gt;Our focus in this project will be to develop solutions for converting documents to/from popular office formats (.xlsx, .docx, .odt, .csv, etc). There are, of course, already solutions to this problem but none that operate solely &lt;em&gt;in the browser&lt;/em&gt; which makes them unsuitable for CryptPad. Our experience with .xslx import/export in CryptPad Sheets has been useful to us in scoping out this space, and in confirming how lacking it currently is. Our goal with INTEROFFICE is to bring multi-format document conversions to the client, and to CryptPad, which we hope will:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Address a common barrier to the adoption of CryptPad (unsupported office formats).&lt;/li&gt;
&lt;li&gt;Make it easier for users to retain local copies of their documents, integrate them in broader office workflows, or simply leave the platform with their data.&lt;/li&gt;
&lt;li&gt;Make CryptPad more versatile and useful.&lt;/li&gt;
&lt;li&gt;Make it easier for anyone else working in this space to do client-side document conversions since we plan to release this work as open-source modules.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We are excited to start work on this, and will use future monthly status posts to keep everyone updated on progress.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="calendar" scheme="https://blog.cryptpad.org/tags/calendar/"/>
    <category term="administration" scheme="https://blog.cryptpad.org/tags/administration/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
  </entry>
  <entry>
    <title>March 2021 status: Public roadmap and Spreadsheet updates</title>
    <link href="https://blog.cryptpad.org/2021/03/29/status-march-2021/"/>
    <updated>2021-03-29T11:58:46Z</updated>
    <id>https://blog.cryptpad.org/2021/03/29/status-march-2021/</id>
    <summary xml:lang="en" type="html">This month we released two versions of CryptPad, 4.2 and 4.3. Both improved CryptPad&#39;s stability and performance</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This month we released two versions of CryptPad, 4.2 and 4.3. Both improved CryptPad&#39;s stability and performance:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Version 4.2 saw Offline mode extended to Teams, shared folders within teams, and files. &lt;a href=&quot;https://social.weho.st/@cryptpad/105825790198276067&quot;&gt;Summary on Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Version 4.3 focused on improving &amp;quot;intensive&amp;quot; use cases, defined as 1200+ concurrent viewers on the same document, or 10+ editors all writing at once. &lt;a href=&quot;https://social.weho.st/@cryptpad/105950727247053276&quot;&gt;Summary on Mastodon&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In this status we&#39;ll focus on long requested updates to Spreadsheets and on other activities of note for the month.&lt;/p&gt;
&lt;h2&gt;Spreadsheet updates&lt;/h2&gt;
&lt;p&gt;We made a couple of important updates to the Spreadsheets application this month. First we enabled OnlyOffice&#39;s &lt;em&gt;Strict&lt;/em&gt; collaboration mode, in addition to the &lt;em&gt;Fast&lt;/em&gt; mode that was already integrated. In Fast mode, which remains the default, new edits are synchronized automatically between users as they are made. In Strict mode, users &amp;quot;lock&amp;quot; cells as they edit them and they have to manually save their changes in order for them to be sent to other users. The benefit of Strict mode is that it allows users to &lt;strong&gt;Undo&lt;/strong&gt; their unsaved changes. The lack of undo in sheets has been a recurring point in user feedback. This goes some way towards addressing these requests, at least within the constraints of OnlyOffice collaboration. There are more details on how to switch between modes in our &lt;a href=&quot;https://docs.cryptpad.fr/en/user_guide/apps/sheets.html#undo-and-collaboration-modes&quot;&gt;Spreadsheet documentation&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The other notable change is the update to OnlyOffice 6.2 in our 4.3 release. Aside from small user-interface polish, this update introduces &lt;strong&gt;pivot tables&lt;/strong&gt; and improved graphs.&lt;/p&gt;
&lt;h2&gt;Open Tech Will Save Us&lt;/h2&gt;
&lt;p&gt;David presented CryptPad on the monthly &lt;a href=&quot;https://matrix.org/open-tech-will-save-us/&quot;&gt;Open Tech Will Save Us&lt;/a&gt; Matrix/Element meetup. Episode 11 was an art &amp;amp; design special with a great lineup:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Gaelle from Element&lt;/strong&gt; presents all things Voice &amp;amp; Video including recent UX improvements, upcoming features like voice messages, and bleeding edge designs for Voice &amp;amp; Video rooms&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;David Benqué&lt;/strong&gt; &lt;a href=&quot;https://matrix.to/#/@dbenque:matrix.xwiki.com&quot;&gt;@dbenque:matrix.xwiki.com&lt;/a&gt;, Designer at &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad&lt;/a&gt;, presenting the open source &amp;amp; end-to-end encrypted collaboration suite. &lt;a href=&quot;https://social.weho.st/web/accounts/43149&quot;&gt;@cryptpad@social.weho.st&lt;/a&gt; &lt;a href=&quot;https://twitter.com/cryptpad&quot;&gt;@cryptpad&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href=&quot;https://www.davidrevoy.com/&quot;&gt;David Revoy&lt;/a&gt;&lt;/strong&gt;, known for his artwork, &lt;a href=&quot;https://www.peppercarrot.com/&quot;&gt;Pepper &amp;amp; Carrot webcomic&lt;/a&gt; and &lt;a href=&quot;https://www.davidrevoy.com/categorie3/tutorials-brushes-extras&quot;&gt;design tutorials&lt;/a&gt; in the Open Source space, performs a digital painting demo,  and speaks about his use of open tools!&lt;/li&gt;
&lt;/ul&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; sandbox=&quot;allow-same-origin allow-scripts allow-popups&quot; src=&quot;https://peertube.xwiki.com/videos/embed/592e5cf6-733d-4482-b9fc-14f53ed03145&quot; frameborder=&quot;0&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;h2&gt;Public Roadmap&lt;/h2&gt;
&lt;p&gt;We have been working to make more use of CryptPad itself to communicate about the project. The first major step in this direction is the introduction of our &lt;a href=&quot;https://cryptpad.fr/kanban/#/2/kanban/view/PLM0C3tFWvYhd+EPzXrbT+NxB76Z5DtZhAA5W5hG9wo/&quot;&gt;Public Roadmap Kanban&lt;/a&gt; where we detail all of the research projects we are currently working on. We summarise each project, funding amount, and associated features. Using the tags feature to filter one project gives an overview of its completion status. We find this very useful and hope you will find it informative.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cryptpad.fr/kanban/#/2/kanban/view/PLM0C3tFWvYhd+EPzXrbT+NxB76Z5DtZhAA5W5hG9wo/&quot;&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/roadmap-kanban.png&quot; alt=&quot;The Public Roadmap Kanban&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The next steps planned in this direction include a review of the onboarding document (the first document that is placed in new user&#39;s CryptDrives), as well as a rewrite of the Privacy Policy for &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;. This last one is nearly complete and will be published as a rich text document.&lt;/p&gt;
&lt;h2&gt;Cleaned up translations&lt;/h2&gt;
&lt;p&gt;We have started an effort to reduce the amount of work needed to translate CryptPad. As the development team we maintain English and French, and an active German speaking community maintains the German translation in near real-time for which we are very grateful. We want to encourage people to translate CryptPad in other languages, and to complete the many languages where the translation has been started but not completed.&lt;/p&gt;
&lt;p&gt;Past efforts towards this have included moving the Frequently Asked Questions out of the platform to &lt;a href=&quot;https://docs.cryptpad.fr/en/FAQ.html&quot;&gt;a dedicated page in the documentation&lt;/a&gt;. This month we have taken further steps with automated scripts to detect un-used translations. These were left over from previous versions of CryptPad and were sometimes hard to detect in the code. There is now less work for translators, and better assurance that no time will be wasted translating text that isn&#39;t actually used in the product.&lt;/p&gt;
&lt;p&gt;We are keeping this in mind for future versions and will do our best to facilitate the work of community translators as much as we can. If you are interested in translating CryptPad, please head over to our &lt;a href=&quot;https://weblate.cryptpad.fr/projects/cryptpad/app/&quot;&gt;Weblate instance&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This wraps up our monthly status update. There is more to look forward to in April as we move to complete our &lt;em&gt;Communities&lt;/em&gt; project, and exciting things on the horizon for CryptPad&#39;s interoperability with office formats.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
    <category term="spreadsheet" scheme="https://blog.cryptpad.org/tags/spreadsheet/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
  </entry>
  <entry>
    <title>Feb. 2021 status: Dark mode and organisation plans</title>
    <link href="https://blog.cryptpad.org/2021/02/24/status-feb-2021/"/>
    <updated>2021-02-24T11:57:52Z</updated>
    <id>https://blog.cryptpad.org/2021/02/24/status-feb-2021/</id>
    <summary xml:lang="en" type="html">This is a new format of post we are starting on the blog: publishing the monthly updates that were until now only circulated in the internal XWiki newsletter.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;This is a new format of post we are starting on the blog: publishing the monthly updates that were until now only circulated in the internal XWiki newsletter. This will be an opportunity to regularly catch up on new features, research projects, funding/budget updates, and any other relevant news.&lt;/p&gt;
&lt;h2&gt;FOSDEM presentations&lt;/h2&gt;
&lt;p&gt;Aaron and David presented different aspects of CryptPad at FOSDEM 2021. Please see the &lt;a href=&quot;https://blog.cryptpad.fr/2021/02/03/CryptPad-at-FOSDEM-2021/&quot;&gt;updated blog post&lt;/a&gt; for videos of both presentations.&lt;/p&gt;
&lt;h2&gt;Dark mode&lt;/h2&gt;
&lt;p&gt;This month we followed up on the rebranding started with version 4.0 by thoroughly refactoring how styles, especially colors, are applied across CryptPad. This allows for better maintainance and easier customisation. The first custom theme is the long requested &lt;strong&gt;dark mode&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;CryptPad will now follow the browser or operating system preference by default, and switch to a dark theme accordingly. The theme can also be set manually in Settings &amp;gt; Appearance.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/dark-drive.png&quot; alt=&quot;The CryptDrive in dark mode&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Following the introduction of the dark theme in our 4.2 release, we noticed a few problems and got to work on correcting them. The most noticeable issue was the use of a dark background for rich text documents. Wanting to offer a &amp;quot;true&amp;quot; dark mode, we had intially switched the editor itself to a dark background, and made the default text color contrast with that automatically. It soon became apparent that this was a problematic choice in rich text documents where users are able to set colors for text. It may lead to text being un-readable depending on the theme used. One particularly painful example was a document about making web content accessible written in black text on a dark background. We reverted our decision and opted for a light background in the editor even when the rest of the interface is dark. There is a reason mainstream editors such as Microsoft Word do it this way. You can expect more polish on the dark theme in the upcoming 4.3 release.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/dark-shame.png&quot; alt=&quot;Web accessibility guide shown with black text on a dark background&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;The web content accessibility guide that prompted us to revert our decision on the dark theme rich text editor. &lt;a href=&quot;https://cryptpad.fr/pad/#/2/pad/view/nOPkDL0nzbEi1DXnpEED0nqORBPF6pqS3SOUrKBqV9o/embed/&quot;&gt;The guide&lt;/a&gt; is by AccessiBloc.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;Organization plans&lt;/h2&gt;
&lt;p&gt;On &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;, another long-awaited feature were the &lt;strong&gt;Organization plans&lt;/strong&gt;. We have been communicating this pricing on request for the last few months but the plans are now &lt;a href=&quot;https://cryptpad.fr/accounts/#org&quot;&gt;live in the cryptpad.fr interface&lt;/a&gt;. These bigger plans have the additional option to download a personalised signed Data Processing Agreement (DPA) for organsations that need to demonstrate they operate according to the GDPR.&lt;/p&gt;
&lt;p&gt;These plans come with 1 business day support and increased storage shared between a number of user accounts, priced as follows:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;25 Users&lt;/strong&gt; with 100GB of storage for 500€ a year (ex. VAT)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;100 Users&lt;/strong&gt; with 150GB of storage for 1000€ a year (ex. VAT)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An additional On Premises option is available for organizations that require their own CryptPad instance, with installation and maintainance support by the development team.&lt;/p&gt;
&lt;p&gt;We were happy to welcome the first couple of subscribers on these plans and hope that they will contribute to making CryptPad financially sustainable in the longer term.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/dark-accounts.png&quot; alt=&quot;The new organization plans on cryptpad.fr in dark mode.&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;A popular toolkit&lt;/h2&gt;
&lt;p&gt;We had an unexpected spike in traffic early in the month after the following tweet linked to a toolkit made on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt;.&lt;/p&gt;
&lt;blockquote class=&quot;twitter-tweet&quot;&gt;&lt;p lang=&quot;en&quot; dir=&quot;ltr&quot;&gt;Here’s an updated toolkit by people on the ground in India if you want to help. (They removed their previous document as it was outdated.)&lt;a href=&quot;https://twitter.com/hashtag/StandWithFarmers&quot;&gt;#StandWithFarmers&lt;/a&gt; &lt;a href=&quot;https://twitter.com/hashtag/FarmersProtest&quot;&gt;#FarmersProtest&lt;/a&gt; &lt;a href=&quot;https://cryptpad.fr/pad/#/2/pad/view/ehTz+drfKPwi4fP5dn0mivwVCKhwNe7OD1YHDiBUj0Y/&quot;&gt;https://cryptpad.fr/pad/#/2/pad/vi...&lt;/a&gt;&lt;/p&gt;&amp;mdash; Greta Thunberg (@GretaThunberg) &lt;a href=&quot;https://twitter.com/GretaThunberg/status/1357054451769606147&quot;&gt;February 3, 2021&lt;/a&gt;&lt;/blockquote&gt;
&lt;p&gt;This brought a lot of traffic to the service, as illustrated by the spike below. While this was a surprise, our infrastructure was prepared for it and held up very well.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/greta-stonks.png&quot; alt=&quot;graph showing a big spike in visits to CryptPad.fr&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Delivered: NGI Trust project: Secure Mobile Collaboration&lt;/h2&gt;
&lt;p&gt;We have wrapped up this exploratory project about using CryptPad on mobile devices. There will be dedicated posts about this project in the near future. This project allowed us to scope out, in depth, the options available to make CryptPad work as an &amp;quot;app&amp;quot;. As a summary of our findings, here is what we plan to include in the new Frequently Asked Questions section of our documentation that will be part of the next release:&lt;/p&gt;
&lt;hr /&gt;
&lt;h3&gt;FAQ: Are you planning a mobile app?&lt;/h3&gt;
&lt;p&gt;We are not planning a dedicated mobile application for the following reasons:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;It would dramatically increase the amount of code that has to be developed and maintained, effectively creating other &amp;quot;versions&amp;quot; of CryptPad for iOS and Android.&lt;/li&gt;
&lt;li&gt;CryptPad is open source and can be hosted by anyone who wants to offer the service. Therefore, users of a mobile application would have to specify which CryptPad instance they want to connect to, which would be confusing. To complicate things further, each instance may be running a different version of the software, depending on whether or not the latest updates were applied by the administrators.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To address these problems, the development team is working on making CryptPad a &amp;quot;Progressive Web App&amp;quot;. This means that it can be used on mobile through the web browser, behaving like an application while being the same software that runs on desktop browsers. This has the benefit of turning every CryptPad instance into a web app provider, rather than putting the burden of choosing the right instance on the user.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;This approach has already started to inform new developments for CryptPad, for example the use of IndexedDB for caching documents which is already deployed. Further improvements will follow, including a full &amp;quot;offline&amp;quot; mode.&lt;/p&gt;
&lt;p&gt;This wraps up our first monthly status post. In March we will be shifting back to our NLNet Communities project and attempt to finish the outstanding deliverables around documentation for developers and instance administrators.&lt;/p&gt;
</content>
    <category term="status update" scheme="https://blog.cryptpad.org/tags/status update/"/>
  </entry>
  <entry>
    <title>CryptPad at FOSDEM 2021</title>
    <link href="https://blog.cryptpad.org/2021/02/03/CryptPad-at-FOSDEM-2021/"/>
    <updated>2021-02-03T18:56:52Z</updated>
    <id>https://blog.cryptpad.org/2021/02/03/CryptPad-at-FOSDEM-2021/</id>
    <summary xml:lang="en" type="html">The CryptPad team is taking part in the 2021 online edition of FOSDEM. We will use this opportunity to reflect on the past year from a couple of different perspectives.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;(this post was edited on 24th Feb. 2021 to include links to videos and corrections)&lt;/p&gt;
&lt;p&gt;The CryptPad team is taking part in the 2021 online edition of &lt;a href=&quot;https://fosdem.org/2021/&quot;&gt;FOSDEM&lt;/a&gt;. We will use this opportunity to reflect on the past year from a couple of different perspectives.&lt;/p&gt;
&lt;p&gt;Aaron MacSween&#39;s presentation is about the technical challenges faced by the team this year. The massive influx of users working from home pushed us to scale CryptPad to accomodate an additional 60K weekly active users. This was made easier by the platform&#39;s unique architecture, where most of the &amp;quot;expensive&amp;quot; work involving cryptography happens on the client rather than the server. Additional challenges involved a &lt;a href=&quot;https://blog.cryptpad.fr/2020/12/16/The-outage-of-December-8th-2020-a-postmortem/&quot;&gt;27 hour outage&lt;/a&gt; due to a cooling malfunction at our hosting provider. While the outage itself was out of our control, it brought into sharp relief that our procedures to mitigate uncertainty had not scaled with our user-base. Aaron will speak about what we plan to do to avoid such situations in future.&lt;/p&gt;
&lt;p&gt;In the design devroom, I will reflect on my first year as the designer on the CryptPad team. My work has been spread across many different areas, from UI design to answering support tickets, writing the product and documentation, as well as visual identity. All of these elements boil down to one thing: communication. I will show some examples of work produced this year as attempts to improve how CryptPad communicates, from onboarding to daily-use. I will conclude with one of the challenges for the year ahead: accessibility. Communication is all well and good, but of no use if it cannot be heard on a screen reader.&lt;/p&gt;
&lt;p&gt;Talks are pre-recorded and will be aired on &lt;strong&gt;Saturday 6th February&lt;/strong&gt;. For more information, abstracts, and broadcast time with Q&amp;amp;A session, see the indications below.&lt;/p&gt;
&lt;p&gt;This blog post will be updated with video embeds once these are available.&lt;/p&gt;
&lt;h3&gt;&lt;a href=&quot;https://fosdem.org/2021/schedule/event/cryptpad/&quot;&gt;Living on the edge with CryptPad&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Speaker&lt;/strong&gt;: Aaron MacSween&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Due to unforeseen circumstances, Aaron was unable to include his presentation in the FOSDEM track. However he still recorded it so we are making it available here and on our PeerTube channel.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://peertube.xwiki.com/videos/watch/96a0c839-3e29-4ffd-b6e3-201bc3c6bc36&quot;&gt;Watch on the CryptPad Peertube channel&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;&lt;a href=&quot;https://fosdem.org/2021/schedule/event/communicating_cryptpad/&quot;&gt;Communicating CryptPad&lt;/a&gt;&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Speaker&lt;/strong&gt;: David Benqué&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Track&lt;/strong&gt;: &lt;a href=&quot;https://fosdem.org/2021/schedule/track/open_source_design/&quot;&gt;Open Source Design devroom&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Room&lt;/strong&gt;: &lt;a href=&quot;https://fosdem.org/2021/schedule/room/ddesign/&quot;&gt;D.design&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Day&lt;/strong&gt;: &lt;a href=&quot;https://fosdem.org/2021/schedule/day/saturday/&quot;&gt;Saturday&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Start&lt;/strong&gt;: &lt;a href=&quot;https://fosdem.org/2021/schedule/day/saturday/#1330&quot;&gt;13:30&lt;/a&gt; (CET)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;End&lt;/strong&gt;: &lt;a href=&quot;https://fosdem.org/2021/schedule/day/saturday/#1350&quot;&gt;13:50&lt;/a&gt; (CET)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://peertube.xwiki.com/videos/watch/5339bbc1-ec4b-46ef-b064-6060d40ea272&quot;&gt;Watch on the CryptPad Peertube channel&lt;/a&gt;&lt;/p&gt;
</content>
    <category term="presentation" scheme="https://blog.cryptpad.org/tags/presentation/"/>
    <category term="FOSDEM" scheme="https://blog.cryptpad.org/tags/FOSDEM/"/>
    <category term="talk" scheme="https://blog.cryptpad.org/tags/talk/"/>
  </entry>
  <entry>
    <title>No plan survives first contact with the enemy</title>
    <link href="https://blog.cryptpad.org/2020/12/31/No-plan-survives-first-contact-with-the-enemy/"/>
    <updated>2020-12-31T22:27:34Z</updated>
    <id>https://blog.cryptpad.org/2020/12/31/No-plan-survives-first-contact-with-the-enemy/</id>
    <summary xml:lang="en" type="html">In 2019 we finished a four-year research project that had covered the majority of CryptPad&#39;s development costs. We had some worries about how we would continue to fund our team, but we were fortunate enough to meet and form a good relationship with members of Europe&#39;s Next Generation Internet Initiative.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;In 2019 we finished a four-year research project that had covered the majority of CryptPad&#39;s development costs.
We had some worries about how we would continue to fund our team, but we were fortunate enough to meet and form a good relationship with members of Europe&#39;s &lt;a href=&quot;https://www.ngi.eu/&quot;&gt;Next Generation Internet Initiative&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We received 50000 Euros from &lt;a href=&quot;https://nlnet.nl/&quot;&gt;NLnet&lt;/a&gt; as a part of their &lt;a href=&quot;https://nlnet.nl/PET/&quot;&gt;NGI0 Privacy Enhancing Technologies&lt;/a&gt; grant program.
Though we&#39;d planned to finish this project (&lt;a href=&quot;https://nlnet.nl/project/Cryptpad/&quot;&gt;CryptPad Teams&lt;/a&gt;) before the end of 2019, research projects at this scale require a faster pace than we were used to.
We&#39;d had an intern join our team over the summer, our plan didn&#39;t really account for vacation days, another salaried worker joined our team in November, and in general there were just many distractions that made everything take a bit longer than expected&lt;/p&gt;
&lt;p&gt;We mostly made up a lot of the difference with an increasing number of &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations&lt;/a&gt; and subscriptions via our &lt;a href=&quot;https://cryptpad.fr/accounts/&quot;&gt;premium accounts portal&lt;/a&gt;, and we had written a number of new grant proposals for the coming year.
Our second NLnet proposal (&lt;a href=&quot;https://nlnet.nl/project/Cryptpad-Communities/&quot;&gt;CryptPad for Communities&lt;/a&gt;) had already been accepted, but we were waiting to sign the final contract before making any announcements.
So, with 2020 on the horizon I wrote &lt;a href=&quot;https://blog.cryptpad.fr/2019/12/31/Looking-back-looking-forward/&quot;&gt;an article&lt;/a&gt; which alluded to our plans while we waited to hear back about which of our remaining proposals would be accepted.&lt;/p&gt;
&lt;h2&gt;2020&#39;s projects&lt;/h2&gt;
&lt;p&gt;In early 2020 we were still finishing up the final components of &lt;em&gt;CryptPad Teams&lt;/em&gt;.
In addition to the remaining technical features we were also required to complete two audits of the platform: one to assess CryptPad&#39;s accessibility and another quick scan of its security features.
We didn&#39;t really know how long these would take, and we hadn&#39;t budgeted additional time for them, so these delayed our other projects and added a little bit to our 2019 deficit.&lt;/p&gt;
&lt;p&gt;We already knew to expect another 50000 Euros from NLnet for our &lt;em&gt;Communities&lt;/em&gt; project, but since the status of our other proposals was still uncertain we decided to attend the &lt;a href=&quot;https://opencollective.com/open-source-speed-dating/events/open-source-speed-dating-fosdem-2020-96f78c6c&quot;&gt;Open-Source Speed Dating session&lt;/a&gt; at &lt;a href=&quot;https://archive.fosdem.org/2020/&quot;&gt;FOSDEM&lt;/a&gt;.
Two of our team members pitched a project to speed up CryptPad&#39;s page loading times, making for a total of three pending proposals.&lt;/p&gt;
&lt;p&gt;As it turned out, we heard about all three projects in the space of a few days and all three were accepted.
We weren&#39;t expecting all of these proposals to be successful, so we had to adjust a lot of our plans to ensure we could manage all of their respective deadlines, but on paper it all seemed manageable.&lt;/p&gt;
&lt;h3&gt;CryptPad for communities&lt;/h3&gt;
&lt;p&gt;We&#39;d already begun working on &lt;strong&gt;Communities&lt;/strong&gt;&#39; features quite early in the year.
The project included a number of high-level themes, but the overall goal was to make it easier for groups of various sizes to adopt or transition to CryptPad instead of proprietary alternatives.&lt;/p&gt;
&lt;p&gt;Firstly, we&#39;d heard from small businesses and social initiatives that they wanted to use CryptPad but needed some new features before they could make the switch.
We made major changes to our Kanban, rich text, and spreadsheet editors.&lt;/p&gt;
&lt;p&gt;CryptPad&#39;s admin panel, which used to be very limited, now features a variety of controls for adding or modifying quotas for particular users, along with a variety of other configuration options to make it easier to run your own CryptPad instance.
We still need to add the ability to restrict registration and unregistered usage, but we expect to deliver this in early 2021.&lt;/p&gt;
&lt;p&gt;Finally, we launched &lt;a href=&quot;https://docs.cryptpad.fr/en/&quot;&gt;our documentation platform&lt;/a&gt;, which is available in English, French, and (courtesy of some dedicated contributors) German.
There is currently only a user guide, but we&#39;ll soon offer a thorough installation guide for admins and some technical documentation for contributors.&lt;/p&gt;
&lt;h3&gt;Secure Mobile Collaboration&lt;/h3&gt;
&lt;p&gt;The goal of this project was to experiment with different technologies and ultimately prototype some dedicated mobile and desktop apps for CryptPad.
Our intent was to make CryptPad usable on mobile devices while also improving security by distributing static builds of our source code with cryptographic signatures so their authenticity could be verified.&lt;/p&gt;
&lt;p&gt;We pitched this project to &lt;a href=&quot;https://www.ngi.eu/ngi-projects/ngi-trust/&quot;&gt;NGI TRUST&lt;/a&gt; at the end of November 2019 and framed it as an experiment since we weren&#39;t sure we&#39;d be able to maintain dedicated apps in addition to the web platform we already offer.
Nevertheless, we know that mobile support is important to our users and we wanted to dedicate time to investigate our options.&lt;/p&gt;
&lt;p&gt;We expect to finish this project soon but our approach has diverged from its early goals in some very notable ways.
For now I&#39;ll just say that a lot of time and effort has gone towards addressing the intended problems and that you can expect a dedicated blog post or two about this in the near future.&lt;/p&gt;
&lt;h3&gt;Dialogue&lt;/h3&gt;
&lt;p&gt;Not long after proposing &lt;em&gt;Communities&lt;/em&gt; to NLnet we pitched this third &lt;em&gt;PET&lt;/em&gt; project.
It can take several months for these proposals to pass through their various stages of review, and each project only funds our team for part of the year, so it&#39;s important that we line up our next project before the current ones finish.
At the same time, we can&#39;t (legally) get paid by multiple funding bodies for the same work, so we need to ensure that projects don&#39;t overlap.&lt;/p&gt;
&lt;p&gt;We applied for this and the NGI TRUST grant concurrently, but we didn&#39;t expect to win both.
NLnet&#39;s deadlines are considerably less strict, however, so we&#39;ve prioritized SMC and saved &lt;a href=&quot;https://nlnet.nl/project/CryptPadForms/&quot;&gt;Dialogue&lt;/a&gt; for the coming year.
All &lt;em&gt;NGI0 PET&lt;/em&gt; projects have to be completed by late 2021, so we expect this to be our last.&lt;/p&gt;
&lt;p&gt;CryptPad is currently specialized mostly for real-time document editing, and our cryptographic permissions system reflects that.
The main idea behind this project is to develop a new set of applications with different permission schemes that support more granular permissions for document components instead of all-or-nothing permissions for whole documents.&lt;/p&gt;
&lt;p&gt;We already offer a &lt;em&gt;poll&lt;/em&gt; application, but it uses the same &lt;em&gt;editor/viewer&lt;/em&gt; roles as our document editors, which really doesn&#39;t match users&#39; expectations.
This current implementation will be phased out in favour of the new scheme to support distinct roles for authors (who can ask questions and determine who can answer them), responders (who can submit answers), and viewers (who can see responses).
We&#39;re also going to add support for more complex surveys with multiple questions, implement a reminder system to notify authors and viewers when their polls have closed, and add some more instance admin functionality so that we and other people hosting CryptPad can communicate with their users via the existing notification system.&lt;/p&gt;
&lt;h3&gt;MOSS&lt;/h3&gt;
&lt;p&gt;The requirements of &lt;a href=&quot;https://www.mozilla.org/en-US/moss/&quot;&gt;Mozilla&#39;s Open-Source Support&lt;/a&gt; program were considerably less formal than those of NLnet and NGI TRUST.
We received 10000 USD, which converted to about 9000 Euros at the time we received it, and we promised to use it to improve page loading times.
There wasn&#39;t any contract or formal definition of how we&#39;d planned to do this, and no deadline given.&lt;/p&gt;
&lt;p&gt;This funding model was extremely helpful for us this year and did a fantastic job of living up to its name and goal of supporting open-source.
Our European funding partners provide all or most of their financial support as their deliverables or the entire project are completed.
By contrast, MOSS solved some immediate cash-flow issues during this difficult year and afforded us the flexibility to fulfill our promises in between our other deadlines.&lt;/p&gt;
&lt;p&gt;So far we&#39;ve followed up on these goals by profiling page loading times on different devices to determine where to best spend our efforts.
We&#39;ve made a number of small optimizations on the client along with some big server improvements that were frequently the cause of bottlenecks when establishing a new connection to the server.
There&#39;s still much more to do in this regard, and we plan to post ongoing updates as we find more room for improvement.&lt;/p&gt;
&lt;h2&gt;A year of surprises&lt;/h2&gt;
&lt;p&gt;With the exception of our MOSS grant, everything I&#39;ve mentioned so far was planned and proposed late in 2019.
We&#39;d set our objectives for 2020 early on and had carefully considered how we could coordinate our multiple projects and how their features could complement each other.
As you might imagine, very little went according to plan.&lt;/p&gt;
&lt;p&gt;i vaguely recall a few headlines about a respiratory illness being discovered in China late last year, but I didn&#39;t give it much thought and obviously didn&#39;t foresee the impact it would have on our plans for the year, let alone everything else it affected.
As the epidemic became more widespread, was upgraded to pandemic status, and triggered lockdowns across the world increasingly more people moved to working online.
Previously, I was happy with our success when we saw ten to fifteen thousand users in a week, but those numbers quickly doubled, tripled, and quadrupled in a matter of months as offices and classrooms started relying heavily on our platform.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/2020-users.png&quot; alt=&quot;Unique IPs per visiting CryptPad.fr per day&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We made some significant changes to our server code to keep up with demand and eliminated some of our client&#39;s code that was particularly expensive for the server.
The precise technical details of exactly what we did to adapt to the dramatic increase in usage deserve their own article, but in general we suddenly had to pay a lot more attention to our infrastructure than was previously the case.
We started regularly allocating more disk space to the server and, as 2020 ends, we now store more than six times more user data than we did this time last year.&lt;/p&gt;
&lt;p&gt;One major lesson we&#39;ve learned, however, is that it&#39;s been far easier to scale our infrastructure than manual support for the platform.
Our surge of new users came along with a matching increase in support tickets, emails, GitHub iissues, and questions on social media.
We prioritized the documentation that we were writing as a part of our &lt;em&gt;Communities&lt;/em&gt; project, however, we still had to take time to answer the questions of people who hadn&#39;t found those docs or whose questions were not clearly answered therein.&lt;/p&gt;
&lt;p&gt;We&#39;re still working to streamline this process, but our ability to respond to individual questions is a frequent bottleneck for our team.
This typically makes it more difficult to stay on top of our usual development cycle, and leaves less time than we&#39;d like for promoting the project via public events or blog articles.
Having too many users is a fantastic problem to have, though, so this is less a complaint and more an acknowledgement of a challenge that we need to address.
We can&#39;t afford to be just &lt;em&gt;a team of software developers&lt;/em&gt; that also happen to &lt;em&gt;maintain and support a platform&lt;/em&gt; when both activities are equally important to our continued success.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;After the year we&#39;ve had it&#39;s tempting to view the future as increasingly uncertain, but the reality is that nothing was ever certain to begin with.
We&#39;re still making plans for 2021, but our plans now include more caveats and fallbacks to (hopefully) lessen the impact of whatever else we don&#39;t see coming.&lt;/p&gt;
&lt;p&gt;With all the unexpected stress of this year it&#39;s difficult to remember the good things, but we&#39;ve had an incredible increase in support from our users.
Contributors have helped to add some significant features to the platform this year and have &lt;a href=&quot;https://weblate.cryptpad.fr/projects/cryptpad/app/&quot;&gt;translated CryptPad&lt;/a&gt; into a number of languages.
In the past two months subscriptions and donations have covered one of our three team members&#39; salaries.
Our yearly revenue has once again &lt;em&gt;more than doubled&lt;/em&gt; compared to the previous twelve months, and if these trend continues we&#39;ll be able to fund our current team&#39;s salaries without having to depend on grants.&lt;/p&gt;
&lt;p&gt;There&#39;s a lot more to be said about our goals for the future, but we still have a number of projects to complete, so for now I&#39;ll prefer not to think too far ahead.
Instead, I&#39;ll leave you with a bit of a teaser for our upcoming 4.0.0 release...&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/NYE-2020.png&quot; alt=&quot;CryptPad 4.0.0, coming in January 2021!&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Thanks so much to everyone who&#39;s supported us in any way throughout this difficult year.&lt;/p&gt;
&lt;p&gt;We wish you all the best in 2021!&lt;/p&gt;
</content>
    <category term="retrospective" scheme="https://blog.cryptpad.org/tags/retrospective/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
  </entry>
  <entry>
    <title>Recent interviews and presentations</title>
    <link href="https://blog.cryptpad.org/2020/12/18/Recent-interviews-and-presentations/"/>
    <updated>2020-12-18T10:55:11Z</updated>
    <id>https://blog.cryptpad.org/2020/12/18/Recent-interviews-and-presentations/</id>
    <summary xml:lang="en" type="html">CryptPad and the team have received some attention recently through various channels: a Reddit AMA thread, podcast, presentation, and blog interview.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;CryptPad and the team have received some attention recently through various channels: a Reddit AMA thread, podcast, presentation, and blog interview. Whether you prefer to read, watch or listen there is a way for you to get an up-to-date presentation of CryptPad.&lt;/p&gt;
&lt;p&gt;Aaron MacSween was invited for an &lt;a href=&quot;https://www.reddit.com/r/privacy/comments/k1uonq/im_aaron_macsween_project_lead_for_cryptpad_the/&quot;&gt;Ask Me Anything (AMA) thread on r/privacy&lt;/a&gt; on Reddit. The thread started on November 27th 2020 and lasted for a couple of days. 98 questions were raised about everything from CryptPad&#39;s business model, to future development plans, the broader state of open-source software, and the EU&#39;s recent debates against encryption.&lt;/p&gt;
&lt;p&gt;Aaron was also a guest on the &lt;a href=&quot;https://www.jamesmullarkey.com/2020/11/imagine-google-docs-but-without-the-spyware-with-aaron-macsween/&quot;&gt;We Don&#39;t Stream podcast&lt;/a&gt; in an episode titled &lt;em&gt;Imagine Google Docs but without the spyware&lt;/em&gt;. This was a general presentation of CryptPad, the origin story and the motivations behind it. Each guest is asked to nominate an NGO to encourage donations. Aaron chose the &lt;a href=&quot;https://supporters.eff.org/donate/join-eff-today&quot;&gt;Electronic Frontier Foundation&lt;/a&gt; so please consider supporting them.&lt;/p&gt;
&lt;p&gt;Ludovic Dubost was &lt;a href=&quot;https://www.websiteplanet.com/blog/interview-ludovic-dubost/&quot;&gt;interviewed on Website Planet&lt;/a&gt;, answering questions about XWiki and CryptPad. The interview covers the founding of XWiki, the effects of the COVID crisis on the company and CryptPad, as well as the future of the open-source industry.&lt;/p&gt;
&lt;p&gt;Ludovic also presented CryptPad at &lt;a href=&quot;https://eslib.re/2020/&quot;&gt;esLibre 2020&lt;/a&gt;, a Spanish open-source conference organised this year by King Juan Carlos University. Like many others this year this was a &amp;quot;virtual&amp;quot; event, the video is available on our &lt;a href=&quot;https://peertube.xwiki.com/videos/watch/019829b0-908c-48dd-88a4-6e9799b986f9&quot;&gt;PeerTube channel&lt;/a&gt;. Ludovic covered the background of the project and gave a demo-tour of CryptPad.&lt;/p&gt;
</content>
    <category term="presentation" scheme="https://blog.cryptpad.org/tags/presentation/"/>
    <category term="press" scheme="https://blog.cryptpad.org/tags/press/"/>
  </entry>
  <entry>
    <title>The outage of December 8th, 2020 - a postmortem</title>
    <link href="https://blog.cryptpad.org/2020/12/16/The-outage-of-December-8th-2020-a-postmortem/"/>
    <updated>2020-12-16T15:30:00Z</updated>
    <id>https://blog.cryptpad.org/2020/12/16/The-outage-of-December-8th-2020-a-postmortem/</id>
    <summary xml:lang="en" type="html">On December 8th, 2020 a malfunction in the water-cooling system at a data-center in Roubaix, France caused an unrecoverable error in the physical machine which hosts CryptPad.fr.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;On December 8th, 2020 a malfunction in the water-cooling system at a data-center in Roubaix, France caused an unrecoverable error in the physical machine which hosts &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;. The service was unavailable for approximately 27 hours while we diagnosed a corrupted OS, provisioned a new server, and migrated user data to the new system.&lt;/p&gt;
&lt;h2&gt;What happened&lt;/h2&gt;
&lt;p&gt;Our team works remotely across three different timezones, so for the sake of simplicity I&#39;ll summarize the timeline of the service outage in Central European Time (CET) using a 24-hour clock.&lt;/p&gt;
&lt;h3&gt;December 8, 05:30 - Server update deployed&lt;/h3&gt;
&lt;p&gt;I occasionally start my working days very early in the morning when we have as few users connected as possible. On the days where a server restart is necessary, I do it at this time to minimize the number of active users that might be inconvenienced by the momentary service interruption.&lt;/p&gt;
&lt;p&gt;During the process of deploying a minor patch to optimize how the service loads and evicts document metadata I noticed that our monthly full-disk backup was running. We run a less intensive incremental backup on a daily basis, but having a regular full-disk backup ensures that restoration does not become increasingly difficult over time.&lt;/p&gt;
&lt;p&gt;We&#39;ve been breaking our records for the highest ever number of concurrent users on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; on a regular basis, so I tend to pay close attention to how our server is performing and how small changes in our code affect its performance.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/3000-connections.png&quot; alt=&quot;A record number of concurrently connected clients, as reported by our admin panel&quot; /&gt;&lt;/p&gt;
&lt;p&gt;My colleagues hadn&#39;t started their shifts yet, but I left a message informing them that the server would probably be under more load than usual. We were considering also deploying an update to our client code, but we usually avoid doing so on backup days to help ensure that things go smoothly.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/poor-server-performance.png&quot; alt=&quot;Me jinxing our server for the day&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;December 8, 12:42 - CryptPad goes down&lt;/h3&gt;
&lt;p&gt;CryptPad is developed by a company called &lt;a href=&quot;https://xwiki.com/&quot;&gt;XWiki&lt;/a&gt;. We host everything using virtual machines provisioned on the same dedicated physical servers as the rest of the company&#39;s infrastructure. Performance metrics and monitoring for our other sites suggests that the host machine did not fail instantly, rather, its performance degraded over a relatively short period of time. Some services failed sooner as the host system tried to de-prioritize less critical systems.&lt;/p&gt;
&lt;p&gt;The last line in our server&#39;s log was written to the disk at 12:42. I was away from my desk to eat a meal, so I didn&#39;t notice that anything had gone wrong. I returned to find some user reports sent at around 13:00 that the service had been unavailable for some time. We occasionally receive such reports that turn out to be user error (typos in URLs or DNS problems), but in this case it was easy to confirm as a systemic problem since my CryptPad tabs were also disconnected.&lt;/p&gt;
&lt;p&gt;My first assumption was that an error in the the code I&#39;d deployed earlier in the day that had caused the server to crash. I tried to log into our servers from my terminal with no success, then tried to ping the server&#39;s domain name, then its raw IP address, at which point I realized that the machine was completely powered down or otherwise unreachable.&lt;/p&gt;
&lt;p&gt;The last time we were surprised with this kind of outage was in &lt;a href=&quot;https://www.theregister.com/2017/11/09/ovh_datacenters_go_titsup/&quot;&gt;November 2017&lt;/a&gt; when a power outage and a generator failure took several data-centers completely offline. That outage lasted 3.5 hours, which seemed very bad at the time, but I was expecting something similar.&lt;/p&gt;
&lt;h3&gt;December 8, 13:35 - Infra is on it&lt;/h3&gt;
&lt;p&gt;Since the same physical infrastructure hosts a large number of sites the outage had been noticed by many of our company&#39;s employees almost instantly. We have lots of monitoring in place to send warnings when things are performing poorly (or not at all), but I learned via our company&#39;s internal chat service that at least one of our physical servers had had a critical failure and that Kevin (our resident infra expert) was working on it. CryptPad&#39;s track record for uptime until this point was very good, and most of that was due to Kevin, so I tried to leave him alone so he could focus on diagnosing and possibly fixing the problem. Since there didn&#39;t seem to be anything I could do on that front to help the situation I started to respond to the related GitHub issues and messages in our public chat channel to inform our users what was going on.&lt;/p&gt;
&lt;p&gt;At this point I also noticed several messages from my colleagues congratulating me on my five-year anniversary at the company. I&#39;d forgotten the date, and grateful as I was for the wishes, this wasn&#39;t how I&#39;d expected to celebrate the milestone.&lt;/p&gt;
&lt;h3&gt;December 8, 15:00 - Host machine comes back online&lt;/h3&gt;
&lt;p&gt;By 15:00 the physical server that had gone offline had been powered back up. This meant that VMware (the software we use to host many virtual machines on one very powerful machine) was running again, though some more work was needed to bring many of its hosted VMs back online. Kevin immediately began running a range of integrity checks to confirm that the hardware was functioning correctly before relaunching services. Some VMs that required fewer resources were able to be re-launched very quickly, but CryptPad requires more storage than most of the wikis we host, and disk checks tend to require more time than other diagnostics.&lt;/p&gt;
&lt;p&gt;At 15:40 these disk integrity checks were interrupted when one of the data-center technicians (who I&#39;m sure was also having a bad day) had to take the server back offline to transfer our hardware to a new location in the same building. Access was restored just a few minutes later, but we had to restart our integrity checks.&lt;/p&gt;
&lt;h3&gt;December 8, 16:20 - First disk integrity check completes&lt;/h3&gt;
&lt;p&gt;Forty minutes after the manual intervention, the first of three disk checkups had completed. VMware was reporting that all systems were operational, however, the VM that usually hosts our API server was failing to boot. Kevin was able to launch a Debian rescue system from a live disk and mount the system for inspection, but there was still no obvious indication why the system wouldn&#39;t boot. He proceeded to launch checks for the remaining two disks while he continued to search for the cause of the failure.&lt;/p&gt;
&lt;h3&gt;December 8, 18:30 - Initial failure traced to a cooling malfunction&lt;/h3&gt;
&lt;p&gt;Throughout the duration of this downtime Kevin had been on and off the phone with the data-center technicians getting updates about what had happened and whether we should expect any further problems. By 18:30 we were informed of the cooling system&#39;s malfunction. While it was somewhat comforting to know that the problem had nothing to do with code we&#39;d written, it was also frustrating to be reminded that there will likely always be physical events like this that we can neither control nor predict.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/physical-internet.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As twitter user &lt;a href=&quot;https://twitter.com/RimaSghaier/status/1336398196109697025&quot;&gt;@RimaSghaier&lt;/a&gt; noted, the internet is still &lt;em&gt;very physical&lt;/em&gt;.&lt;/p&gt;
&lt;h3&gt;December 8, 19:30 - File transfer commences&lt;/h3&gt;
&lt;p&gt;By 19:30, between myself, Kevin, Ludovic (the company&#39;s CEO), and one of Ludovic&#39;s friends who has some more experience with the intricacies of bootable filesystems,  we&#39;d made no progress diagnosing why the affected VM would not boot outside of the environment of the rescue disk. We had access to all the system&#39;s files and all of the integrity checks had passed, but there seemed to be problem with the root filesystem. We decided that the safest thing to do was to provision a new VM and begin transferring the relevant files. We could interrupt the process if we discovered the reason for the failure, but it was already late in the day and we had no promising leads.&lt;/p&gt;
&lt;p&gt;It took only a few minutes to provision a nearly identical VM and we immediately began transferring files via the data-center&#39;s internal network. Unfortunately, there was around 750GB of data to transfer at a variable rate that did not seem very promising.&lt;/p&gt;
&lt;p&gt;Until this point I&#39;d been very hopeful that &lt;em&gt;at any minute&lt;/em&gt; we would find some trick to get the original server back online. As it became increasingly apparent that this was unlikely and that we&#39;d need to wait for the file transfer to finish we shifted our focus to damage control.&lt;/p&gt;
&lt;p&gt;The API server that hosts our database and Nodejs server had been offline, but we actually serve our static assets (HTML, Javascript, etc) from a different machine that had stayed online. I&#39;d been distracted by the actual system outage and hadn&#39;t thought to update our front-end to inform all our users of what was going on, though I had been posting to our &lt;a href=&quot;https://social.weho.st/@cryptpad&quot;&gt;Mastodon&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/cryptpad&quot;&gt;Twitter&lt;/a&gt; accounts.&lt;/p&gt;
&lt;p&gt;I hacked together and deployed some very basic HTML as quickly as I could, explaining what was happening and directing users to our social media for updates. This was deployed by 19:43.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-down-page.png&quot; alt=&quot;CryptPad&#39;s down page&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;December 8, 20:00 - I try to get some sleep&lt;/h3&gt;
&lt;p&gt;Finally, after about 7 hours of downtime and a 14.5 hour shift on my part, we left the servers alone to continue their work and decided to get some rest for the following day. We expected the file transfer to take at least 10 more hours to complete, so I set my alarm for the following morning and called it a day.&lt;/p&gt;
&lt;h3&gt;December 9, 16:14&lt;/h3&gt;
&lt;p&gt;December 9th was not especially eventful. I spent most of the day idly monitoring the progress of the network file transfer. I was far too distracted to be productive with anything else, and anyway it seemed prudent to save my energy for when the transfer completed.&lt;/p&gt;
&lt;p&gt;By about 13:30 the transfer was 90% complete and I began to pre-configure as much as possible on the new system so that we could bring everything back up as quickly as possible. I prepared and reviewed a list of final tasks with Kevin and Yann in the final 30 minutes of the transfer, and we started working as soon as it finished.&lt;/p&gt;
&lt;p&gt;We were able to complete the system&#39;s setup in around 20 minutes, including a last-minute configuration fix to restrict the service to our IP addresses before we launched it. This restriction allowed us to access CryptPad as normal before anyone else. We took about ten minutes to test the platform, loading any documents we&#39;d been editing leading up to the crash and confirming that everything was behaving as expected.&lt;/p&gt;
&lt;p&gt;Finally, by 16:14, after a bit more than 27 hours of downtime, we removed the IP address restriction and removed the downtime notice I&#39;d deployed the evening before.&lt;/p&gt;
&lt;h2&gt;Difficulties and lessons learned&lt;/h2&gt;
&lt;p&gt;I&#39;ll start by saying in very simple terms that &lt;em&gt;this experience &lt;strong&gt;sucked&lt;/strong&gt;&lt;/em&gt;. I know it was very frustrating for our users who couldn&#39;t access their documents while the server was offline. I certainly had a terrible two shifts. It was stressful for everyone on our team, and I suspect it was similarly unpleasant for the data-center technicians as well.&lt;/p&gt;
&lt;p&gt;It should be more obvious given the root meaning of the word &lt;em&gt;internet&lt;/em&gt;, but we all depend on many systems functioning to maintain our daily routines. The majority of our users only contact us to report bugs. Kevin and I mostly end up chatting when one of us notices irregular server behaviour. We only contact OVH when our servers have problems, and they probably don&#39;t deal too much with their municipal electricity and fuel providers except when their power goes out and they fall back to using generators. &lt;em&gt;We are most aware of the systems that sustain us when they break&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;On a positive note, though, I was pleasantly surprised by how understanding people were about the situation. One of our paying users cancelled their subscription, but it seems the outage served to remind many people that there are humans working on this project, and so we&#39;ve actually seen an increase in the rate of donations and subscriptions in the week since. We greatly appreciate everyone&#39;s generosity!&lt;/p&gt;
&lt;p&gt;Some users seem to have understandably lost some confidence in our platform, as we&#39;ve seen slightly fewer users at the usual peak hours (2700 concurrent connections instead of 3000). On the other hand, it seems like the downtime page led to a significant increase in our follower count on social media.&lt;/p&gt;
&lt;p&gt;Many of our users rely on CryptPad as a persistent home for their documents, and in these cases downtime is very inconvenient. During the outage, however, I learned about &lt;a href=&quot;https://github.com/tosterkamp/random-redirect&quot;&gt;this software&lt;/a&gt; which randomly redirects users to publicly hosted instances of open-source software platforms. If you use CryptPad as a place to collaborate rather than a place to store documents, then you could try &lt;a href=&quot;https://cryptpad.random-redirect.de/&quot;&gt;cryptpad.random-redirect.de&lt;/a&gt; to find alternatives. If you host a CryptPad instance you could even inquire about adding your server to the list. One of the great things about open-source software is that failures that affect one server or service do not need to have global effects.&lt;/p&gt;
&lt;p&gt;Despite the positive aspects of our community&#39;s response to this event, I regret that it took so long migrate to a new machine. The simple fact is that while we (mostly Kevin and Ludovic) have put in a lot of effort to making sure that our hosting infrastructure is reliable, we were unprepared for the task of rapidly migrating our entire database to a new machine. We&#39;re hosting about six times more data now than we were at the start of the year. Until now we&#39;ve had little cause to consider the increasing difficulty of managing this growing dataset and with everything else that has happened this year there has been little opportunity to do so. This event made it abundantly clear that we&#39;re going to have to find the required time.&lt;/p&gt;
&lt;h2&gt;What we plan to do&lt;/h2&gt;
&lt;p&gt;It would be an understatement to say that I have a bit of an idealist stance when it comes to software. This is why I work on open-source, privacy-preserving tech. It&#39;s terrible that modern, web-based software is as fragile as it is. That said, the alternative of emailing static documents to colleagues (or between devices) also makes it difficult to be productive.&lt;/p&gt;
&lt;p&gt;It&#39;s a bit ridiculous that a broken cooling system in northern France can mean that our 20,000 daily active users lose the ability to edit or even read their documents for more than a day. More frustrating is the fact that we were very nearly in a good position to mitigate many of the adverse effects of this outage. We&#39;ve been working on some new &lt;em&gt;offline-first&lt;/em&gt; functionality in CryptPad over the last few months and, as noted above, we were considering deploying the first phase of these improvements the day of the outage.&lt;/p&gt;
&lt;p&gt;Our first offline features were deployed yesterday as a part of our &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/3.25.0&quot;&gt;3.25.0 release&lt;/a&gt;. Now, every time you load a document in CryptPad you&#39;re also populating an advanced cache in your browser. For now this only has the effect of reducing the total time to load cached documents, since we still wait for confirmation from the server that this is the most recent version of the content before removing the loading screen.&lt;/p&gt;
&lt;p&gt;Our next step will be to merge a branch of our code which will instead load and display the last known state of any document in your local cache in offline mode, regardless of whether you&#39;re able to reach our database server. This would have alleviated some of the inconvenience of our outage, since users were still able to load the platform&#39;s HTML and JavaScript that would have at least let them access cached documents.&lt;/p&gt;
&lt;p&gt;The next major feature will be the use of &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Service_Worker_API&quot;&gt;service-workers&lt;/a&gt; to enable browsers to use very advanced caching policies and load our client-side code even while entirely offline, allowing full access to cached documents under almost any circumstance. We expect to deploy these updates in early January 2021 as a part of our upcoming &lt;em&gt;4.0.0&lt;/em&gt; release.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.cs.jhu.edu/~huang/paper/grayfailure-hotos17.pdf&quot;&gt;One of my favourite academic papers&lt;/a&gt; defines the term &lt;strong&gt;gray failures&lt;/strong&gt;, in which well-intentioned attempts to introduce redundancy into online systems can paradoxically increases the likelihood of service degradation or interruptions. In the last few weeks both Amazon and Google (some of the richest companies on the planet, in case you haven&#39;t heard of them) have experienced severe service outages. There are very few easy answers in this area, but we&#39;re going to learn from this situation and work on solutions that would have helped at least let us recover more quickly.&lt;/p&gt;
&lt;p&gt;If the next data-center failure happens in another three years I hope it will only last a small fraction of the time, and that our software will be so resilient you&#39;ll hardly notice. In the meantime our team greatly appreciates all your support!&lt;/p&gt;
</content>
    <category term="storage" scheme="https://blog.cryptpad.org/tags/storage/"/>
    <category term="postmortem" scheme="https://blog.cryptpad.org/tags/postmortem/"/>
  </entry>
  <entry>
    <title>CryptPad Funding Status July 2020</title>
    <link href="https://blog.cryptpad.org/2020/07/03/CryptPad-Funding-Status-July-2020/"/>
    <updated>2020-07-03T18:04:09Z</updated>
    <id>https://blog.cryptpad.org/2020/07/03/CryptPad-Funding-Status-July-2020/</id>
    <summary xml:lang="en" type="html">We have not been very active on the CryptPad blog lately, however, we have been very active making new releases to CryptPad.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We have not been very active on the CryptPad blog lately, however, we have been very active making &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/&quot;&gt;new releases to CryptPad&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have also published some news about our funding on our &lt;a href=&quot;https://opencollective.com/cryptpad#section-updates&quot;&gt;Open Collective page&lt;/a&gt; and in particular the &lt;a href=&quot;https://opencollective.com/cryptpad/updates/cryptpad-funding-status-july-2020&quot;&gt;July 2020 funding status article&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Ludovic, for the CryptPad team.&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>Looking back, looking forward</title>
    <link href="https://blog.cryptpad.org/2019/12/31/Looking-back-looking-forward/"/>
    <updated>2019-12-31T16:06:16Z</updated>
    <id>https://blog.cryptpad.org/2019/12/31/Looking-back-looking-forward/</id>
    <summary xml:lang="en" type="html">It was four years ago when I first started working full-time on CryptPad. At that point fewer than 10 people used the service on a weekly basis.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;It was four years ago when I first started working full-time on CryptPad.
At that point fewer than 10 people used the service on a weekly basis.
Our development team was included in that list, often multiple times since we visited from both our office and our homes.&lt;/p&gt;
&lt;p&gt;In those early days the platform was much more of a toy than a tool.
There was no &lt;em&gt;CryptDrive&lt;/em&gt; for storing documents, no login, markdown rendering, file upload, kanban, or whiteboard.
It was the first of four years of a research project in which we were responsible for building a variety of collaborative editors.
We mostly used CryptPad to prototype new technologies before committing to a much more complex integration into the larger project.
Nobody insisted that our editors include the extra privacy features we designed, yet, among our small team we definitely hoped they would catch on.&lt;/p&gt;
&lt;p&gt;We knew that as long as we produced viable editors and passed our project&#39;s yearly reviews we didn&#39;t have to worry about our jobs.
It felt like we were supposed to take risks and we certainly did.
The stakes were low.
Sometimes if we wanted to test the platform together we&#39;d just push our code to our production server.
Occasionally we&#39;d edit files directly on the server to cut out additional steps.
We did our work as quickly as we could without having to worry about the consequences because nobody was relying on us for their safety.&lt;/p&gt;
&lt;p&gt;It was an exciting time.&lt;/p&gt;
&lt;h2&gt;Two thousand and nineteen&lt;/h2&gt;
&lt;p&gt;Our situation today is drastically different.
Privacy is very much in the public eye, although the news is more often bad than good.
In any case, instead of ten weekly visitors &lt;a href=&quot;https://blog.cryptpad.org/cryptpad.fr&quot;&gt;CryptPad.fr&lt;/a&gt; now supports more than ten thousand.&lt;/p&gt;
&lt;p&gt;Many of those that trust us to protect their information have no cause to use our service other than the very reasonable expectation that nobody will access their content without their consent.
We&#39;re pleased to be able to offer this peace of mind and we appreciate that we need this demographic and its expectations to become the norm if those with more extreme requirements are to blend in with the crowd.
As the saying goes: &lt;em&gt;privacy is a team sport&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;As proud as I am of the project&#39;s advancement since our humble beginnings, I still feel as though we&#39;ve been playing this sport defensively in these last 365 days.
We began the year with the knowledge that our stable funding was about to dry up and that our efforts to sustain the project via subscriptions and donations were not going to be enough.
At the same time, increasingly more of our time was occupied just keeping up with regular issues: answering emails, fixing bugs, and managing a progressively more complex codebase.
Meanwhile, we had to consider the effects of every change on those users whose physical safety occasionally depends on their privacy.&lt;/p&gt;
&lt;p&gt;Fortunately for us and our community we received an enormous amount of support from Europe&#39;s &lt;a href=&quot;https://www.ngi.eu/&quot;&gt;Next Generation Internet initiative&lt;/a&gt;, both in terms of publicity through the presentation of &lt;a href=&quot;https://blog.cryptpad.fr/2019/02/22/Heading-to-Barcelona/&quot;&gt;an NGI award&lt;/a&gt; and monetary contributions through the &lt;a href=&quot;https://nlnet.nl/PET/&quot;&gt;NLnet PET&lt;/a&gt; grant program.
We&#39;ve still had to cope with an endless stream of feature requests and correspondences, but the funding definitely addressed our existential worries for a time.&lt;/p&gt;
&lt;p&gt;In the course of our &lt;a href=&quot;https://blog.cryptpad.fr/2019/05/27/Our-future-is-collaborative/&quot;&gt;CryptPad Teams&lt;/a&gt; project we struggled to balance all the responsibilities of our position and as a result it&#39;s taken somewhat longer to complete the project than we planned.
I now have a better appreciation of how much easier a project can appear in its planning compared to its execution.
The opportunity to go slightly over budget on a small project has been a welcome learning experience that I hope not to repeat.&lt;/p&gt;
&lt;h2&gt;Looking forward&lt;/h2&gt;
&lt;p&gt;At this stage in our project it isn&#39;t enough for our team to try to keep up with tickets on our issue tracker.
Reactionary decisions won&#39;t make our project sustainable, nor will they effectively serve the community that has helped us get this far.
That&#39;s why in 2020 we&#39;re going to focus on project governance and providing a cohesive vision with the hope of getting more of our stakeholders directly involved in its success.&lt;/p&gt;
&lt;p&gt;I spent a large part of this holiday season making small changes to make it easier to correctly configure a CryptPad instance.
Starting in January we&#39;re going to continue this effort to support the 300 independent instance administrators with a radical overhaul of our documentation, along with simplified guides for users and more detailed guides for contributors.&lt;/p&gt;
&lt;p&gt;Our immediate roadmap will also feature further development of our admin panel to ensure that community instances can be governed by team members lacking advanced technological expertise.
Beyond that we&#39;re looking forward to some big improvements to the tools that are most essential to effectively coordinate distributed groups of people, namely our rich text, spreadsheet, and kanban apps.&lt;/p&gt;
&lt;p&gt;There&#39;s still a lot of work we can do to improve the social integrations first proposed in our &lt;em&gt;Teams&lt;/em&gt; project.
We&#39;ll continue to streamline the process of onboarding new team members and add in some even more advanced controls for very sensitive data.&lt;/p&gt;
&lt;p&gt;I&#39;ve been hesitant to commit to development time that doesn&#39;t yet have a source of funding but in the coming year I hope to be able to deliver an improved experience for users of mobile and touch-enabled devices.&lt;/p&gt;
&lt;h2&gt;How you can help&lt;/h2&gt;
&lt;p&gt;Privacy should not be a luxury item.
CryptPad has been built largely with public money and we&#39;re committed to continuing its development as a public good.
Continued monetary contributions via donations enable us to offer our services to users regardless of whether they can contribute themselves.&lt;/p&gt;
&lt;p&gt;Along with subscriptions to our platform, our independent revenue helps to finance all the minor tasks that don&#39;t easily fit into the narrative of a successful grant proposal.
Every cent of these revenue streams go back into development and we do our best to get the most value out of your contributions.&lt;/p&gt;
&lt;p&gt;There are, of course, many other ways you can contribute.
Any publicity you can generate will free us to spend less time marketing and more time improving the software and its documentation.
Sharing our messages on social media with your followers helps a lot, so please follow us on the &lt;a href=&quot;https://social.weho.st/@cryptpad&quot;&gt;Fediverse&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/cryptpad&quot;&gt;Twitter&lt;/a&gt;.
We especially appreciate personal messages that tell the world exactly what it is you love about CryptPad.&lt;/p&gt;
&lt;p&gt;We&#39;re also happy to support and publicize offline events promoting the project.
If you&#39;re comfortable speaking in public and would like to represent us in your community feel free to contact us about and we&#39;ll see how we can help.&lt;/p&gt;
&lt;p&gt;As we produce &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad-guide/&quot;&gt;more documentation&lt;/a&gt; we&#39;ll also need help reviewing it and keeping it up to date.
Every little bit helps, whether it&#39;s a page or a line of documentation corrected.
Finally, we welcome any efforts to translate CryptPad into a new language or to help those already working on our &lt;a href=&quot;https://weblate.cryptpad.fr/projects/cryptpad/app/&quot;&gt;existing translations&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Wishes for 2020&lt;/h2&gt;
&lt;p&gt;I made a deliberate choice in naming the most recent cycle of releases after extinct animals.
We are living through a major extinction event and growing list of crises.
More than ever we need a hopeful vision of the future.&lt;/p&gt;
&lt;p&gt;I&#39;m personally grateful for the opportunity to offer tools to support these endeavors.&lt;/p&gt;
&lt;p&gt;Embrace private spaces.&lt;br /&gt;
Connect with those around you.&lt;br /&gt;
Organize and build a better future together.&lt;/p&gt;
&lt;p&gt;See you in 2020!&lt;/p&gt;
</content>
    <category term="retrospective" scheme="https://blog.cryptpad.org/tags/retrospective/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
  </entry>
  <entry>
    <title>Yesterday I made a mess</title>
    <link href="https://blog.cryptpad.org/2019/06/14/Yesterday-I-made-a-mess/"/>
    <updated>2019-06-14T17:29:33Z</updated>
    <id>https://blog.cryptpad.org/2019/06/14/Yesterday-I-made-a-mess/</id>
    <summary xml:lang="en" type="html">Normally when I write a blog post it&#39;s because I have exciting news to share. This time it&#39;s not a fun occasion because the only good news I have is that the bad news isn&#39;t permanent.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Normally when I write a blog post it&#39;s because I have exciting news to share.
This time it&#39;s not a fun occasion because the only good news I have is that the bad news isn&#39;t permanent.&lt;/p&gt;
&lt;p&gt;The bad news is that during some database maintenance yesterday (June 13th) I accidentally removed some of the data from users&#39; encrypted drives.
The good news is that these files were archived, not deleted, and that everything can be recovered.&lt;/p&gt;
&lt;p&gt;Before I get into the details of why this happened I&#39;d like to clarify which user data was archived and how to check if your account was one of those affected.&lt;/p&gt;
&lt;h2&gt;How to tell if you were affected&lt;/h2&gt;
&lt;p&gt;First off, everything is related to my actions administrating the database of &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;.
Users of other instances have nothing to worry about unless their administrator did the exact same thing as I did, which is unlikely.&lt;/p&gt;
&lt;p&gt;Secondly, the issue is limited to shared folders and non-owned files contained within them.
If you don&#39;t use shared folders you won&#39;t be affected.&lt;/p&gt;
&lt;p&gt;Thirdly, as far as we can tell you need to have visited &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; between May 28th and June 13th in order to have run some incorrect code.&lt;/p&gt;
&lt;p&gt;Finally, nothing was archived unless it had not been active within the preceding 90 days.
In the case of shared folders, this would mean any change to the content or structure of the shared folder, such as adding or removing a document or renaming or moving any of its contents.
In the case of pads, if a user with the rights to edit the document loaded it without making any changes, that would classify it as active.&lt;/p&gt;
&lt;p&gt;To summarise:&lt;/p&gt;
&lt;p&gt;Some of your data could have been archived if you visited &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://CryptPad.fr&lt;/a&gt; between May 28th and June 13th (2019) and have one or more shared folders in your CryptDrive which have not been modified within the last 90 days.&lt;/p&gt;
&lt;h2&gt;Checking if you were affected&lt;/h2&gt;
&lt;p&gt;It should be fairly easy to tell if your account was affected by opening your CryptDrive.
Affected shared folders will be visible in the tree on the left of your drive because they&#39;ll have lost their titles, as highlighted in red below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/archived-shared-folder-appearance.png&quot; alt=&quot;archived shared folders&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;How we&#39;re going to handle this&lt;/h2&gt;
&lt;p&gt;As I said, none of the data was deleted, just archived.
It&#39;s still on the same server that hosts the rest of our database, it&#39;s just been moved to a different location to make it inaccessible.&lt;/p&gt;
&lt;p&gt;I&#39;ve already restored all of those files which were archived except for 237 cases.
Affected Users that visited &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; between the removal and restoration of the data would have automatically created a new folder in the same location as the old one, and that complicates things for us.
Since we don&#39;t know whether they might have decided to put new documents in that folder in the meantime, it&#39;s dangerous for us to overwrite the new data with the old.&lt;/p&gt;
&lt;p&gt;It&#39;s going to take us a few days to figure out if we can use some fancier methodology to identify what data we can safely reinstate.
In the meantime, we&#39;ve already fixed the underlying issues that caused this data to be miscategorized, and developed some new tooling for safely diagnosing and restoring archived data.&lt;/p&gt;
&lt;p&gt;Since we know that those affected by this error visited since our last release day and that they had content older than 90 days, we assume they&#39;re going to come back to the platform.
If you do come back and see something resembling the image above, please do let us know by emailing us at &lt;a href=&quot;mailto:contact@cryptpad.fr&quot;&gt;contact@cryptpad.fr&lt;/a&gt;.
We can manually restore any files that haven&#39;t already been restored.&lt;/p&gt;
&lt;p&gt;I&#39;m very sorry for any inconvenience this might have caused and I&#39;m grateful that the damage wasn&#39;t worse.
I&#39;ll take this as an opportunity to prove my commitment to protecting user data, whether it be from surveillance or from my own mistakes.&lt;/p&gt;
&lt;h2&gt;Post-mortem&lt;/h2&gt;
&lt;p&gt;With all the practical details addressed for those who only have the time to make sure their own data is safe, I&#39;ll go further into the specifics for anyone who might be interested.&lt;/p&gt;
&lt;h3&gt;The pinning race condition (May 28th)&lt;/h3&gt;
&lt;p&gt;On May 28th we released &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/2.23.0&quot;&gt;CryptPad &lt;em&gt;Xenops&lt;/em&gt;&lt;/a&gt;.
It introduced notifications for users through the use of something we&#39;ve been calling &amp;quot;encrypted mailboxes&amp;quot;.
Each registered user now has a mailbox through which any other user can send messages, currently for friend requests, and soon for other features.&lt;/p&gt;
&lt;p&gt;While we were implementing the function which loads new messages from this mailbox we introduced a bug which caused some other functions to be executed in the wrong order.
I personally reviewed the code but didn&#39;t see the bug.&lt;/p&gt;
&lt;p&gt;Registered users are able to send instructions to the server not to delete data that is relevant to them.
We call this process &lt;em&gt;&amp;quot;pinning&amp;quot;&lt;/em&gt; and it&#39;s done every time a user uses the service.&lt;/p&gt;
&lt;p&gt;What should have happened is that users should have loaded their drive, then loaded their shared folders, then pinned all the contained files.
Instead, they loaded their drive and then started loading their shared folders and started the pinning process in parallel.
This caused what&#39;s called a race condition, which means that two things happen at the same time, and sometimes they happen in different orders.&lt;/p&gt;
&lt;p&gt;Race conditions are especially annoying because sometimes they only occur under certain circumstances, so these bugs tend to slip past basic testing unless you already know what you&#39;re looking for.
In our case, losing the race meant that files weren&#39;t pinned and consequently the server didn&#39;t have an accurate notion of which data was worth keeping.&lt;/p&gt;
&lt;h3&gt;Running out of space (June 3rd)&lt;/h3&gt;
&lt;p&gt;Several months ago a user contacted us saying that data had disappeared from their drive.
This was quite scary from our perspective as for every user that contacts us about something we can generally assume that there are many more that had the same issue, but didn&#39;t say anything.&lt;/p&gt;
&lt;p&gt;We spent several days debugging their problem and developing tools which would analyze the history of their drive without exposing any of their encrypted content to us.
In the end, it turned out that the files didn&#39;t ever exist in their history, so it wasn&#39;t a matter of us losing that data.
Nevertheless, the situation was stressful enough that we turned off all of our scripts for deleting inactive data until we could sort out a more reliable methodology for handling data.&lt;/p&gt;
&lt;p&gt;With that regular process not in place, and with increasingly more users visiting our service, our database continued to grow at an accellerating pace.
On June 3rd we started receiving automated emails from XWiki&#39;s infrastructure services that we were down to 20% of our disk space.
We had been meaning to handle this problem for some time but with 33 emails arriving in our inboxes each day we finally decided to prioritize it.&lt;/p&gt;
&lt;h3&gt;Replaced the race condition (June 6th)&lt;/h3&gt;
&lt;p&gt;After the &lt;em&gt;Xenops&lt;/em&gt; release we noticed an error that was occurring in our browser consoles fairly regularly and decided to debug it.
We tracked it down and fixed it, but since we weren&#39;t looking for the other race condition described above, we managed to change the code in such a way that a functionally identical race condition was still present.
We fixed one issue, but pads still weren&#39;t being pinned reliably.&lt;/p&gt;
&lt;h3&gt;Incorrect data archival (June 13th)&lt;/h3&gt;
&lt;p&gt;Having proceeded with fixing a variety of other bugs, I turned my attention back to solving our storage issue.
Deleting data hadn&#39;t become any less scary than it had always been so I proceeded with caution, implementing an archival system that would move inactive data to what we termed &lt;em&gt;&amp;quot;cold storage&amp;quot;&lt;/em&gt; for a set period before removing it permanently.&lt;/p&gt;
&lt;p&gt;I implemented some code for iterating over our complete database and used that to create a script for checking the most recent modifications to user data.
I read through it a number of times, tested it on my local database and had my colleague review it and test it on his machine.
Before using it on our production database I made sure to also write and test a script that would restore archived files in case anything went wrong.&lt;/p&gt;
&lt;p&gt;I think I must have sat in front of my laptop and stared at my screen for between five and ten minutes before I hit enter on the command to run the script.
I had the code for the script on another monitor, and I double-checked it before deciding to proceed.
I reloaded my drive to make sure everything was still there once it finished running, and it was.
After twenty minutes or so of testing everything seemed alright, so I went on with my day.&lt;/p&gt;
&lt;p&gt;Later on we finally noticed that there was a problem with one of our user accounts, specifically with a shared folder having disappeared.
We stayed at the office late into the evening to figure out what had happened, and ended up tracking the problem to the pinning logic before deciding to follow up on it in the morning.&lt;/p&gt;
&lt;h3&gt;Final debugging and restoration (June 14th)&lt;/h3&gt;
&lt;p&gt;With as restful a night as I could manage under the circumstances, I came back to the office this morning with a bit of perspective on the issue.
I wrote up a pad which collected all the information we had into one place, identifying the circumstances under which we believed the problem could occur.&lt;/p&gt;
&lt;p&gt;I reviewed the script which restored archived files, making sure that it would not overwrite any user data if utilized.
My colleague implemented a fix for the race condition which contributed to the pinning issue, which I deployed as soon as I could review it.&lt;/p&gt;
&lt;p&gt;After writing a few more scripts I was able to determine the number of shared folders which had been replaced with conflicting entries with the same identifiers (237).
Knowing this number allowed me to determine how to handle the issue.
If the number was significantly smaller it might have been easier to handle, but the order of magnitude is such that we&#39;ll have to figure out an automated way to deal with the issue or else spend the next few weeks responding to emails and manually recovering files.&lt;/p&gt;
&lt;p&gt;With a better grasp on the situation and with some confidence that it wasn&#39;t the database processing scripts which were incorrect, I restored the archived files with the exception of those which conflicted with the production database.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;If I&#39;ve learned anything in my time working on CryptPad it&#39;s that I should appreciate the reasons why the majority of the software industry doesn&#39;t work with encrypted database as we do.
Even on a good day it can be a harder job than it would otherwise be.
On a day like today we end up having to reason with what the clientside code would have done under various circumstances and think about what information we can access.&lt;/p&gt;
&lt;p&gt;In any case, I&#39;m very happy that we decided to turn off our deletion scripts months ago.
Had they still been active, this relatively mild pinning and archival bug would have resulted in data loss.&lt;/p&gt;
&lt;p&gt;While we can tell that 237 shared folders were affected, we still have to think about how the absence of that data would be handled by the code for user&#39;s CryptDrives.
To further complicate things, we have to think beyond what our code would do and into what users might have done in reaction to what they saw.
If they saw and removed the now-empty shared folders in their drive, they no longer have the encryption keys to decrypt them even though we&#39;ve now restored the underlying data.
Because we&#39;ve spent so much time trying to protect our users&#39; privacy we can&#39;t actually ascertain if they&#39;ve interacted with this part of their drive at all.&lt;/p&gt;
&lt;p&gt;On one hand, it makes my life that much more stressful to have to figure out the answers to these problems.
On the other, I&#39;m hopeful that by doing this work now I&#39;ll help pave the way for more developers to create services which offer similar protection for their users&#39; data.&lt;/p&gt;
&lt;p&gt;As stated above, if this particular mistake affected you, don&#39;t hesitate to contact us.
Otherwise, I can only hope that the way we handle it ensures that you continue to trust us with your data.&lt;/p&gt;
</content>
    <category term="storage" scheme="https://blog.cryptpad.org/tags/storage/"/>
    <category term="data" scheme="https://blog.cryptpad.org/tags/data/"/>
  </entry>
  <entry>
    <title>Our future is collaborative</title>
    <link href="https://blog.cryptpad.org/2019/05/27/Our-future-is-collaborative/"/>
    <updated>2019-05-27T12:20:22Z</updated>
    <id>https://blog.cryptpad.org/2019/05/27/Our-future-is-collaborative/</id>
    <summary xml:lang="en" type="html">For anyone that doesn&#39;t have the time or interest to read the rest of this article, the short version is that the CryptPad team has received a 50000 Euro grant from NLnet foundation. This funding will be directed towards the design and development of team-centric features in a project we&#39;re calling CryptPad Teams.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;For anyone that doesn&#39;t have the time or interest to read the rest of this article, the short version is that the CryptPad team has received a 50000 Euro grant from &lt;a href=&quot;https://nlnet.nl/foundation/&quot;&gt;NLnet foundation&lt;/a&gt;. This funding will be directed towards the design and development of &lt;em&gt;team-centric&lt;/em&gt; features in a project we&#39;re calling &lt;em&gt;CryptPad Teams&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;If you&#39;re still reading, I assume you want to know more about our plans and our relationship with NLnet.&lt;/p&gt;
&lt;h2&gt;Some backstory...&lt;/h2&gt;
&lt;p&gt;Up until the end of March 2019 our team&#39;s work was funded by the &lt;a href=&quot;https://open-paas.org/&quot;&gt;OpenPaaS project&lt;/a&gt;, a four-year French research project in which CryptPad was only a minor component.
Our role was to produce a set of collaborative editors for the open-source platform.
It was never stated that our contributions should be delivered as a standalone platform, but having a self-contained code-base that we could easily update and deploy simplified our job.&lt;/p&gt;
&lt;p&gt;CryptPad had already been prototyped as a part of a previous research project, though its scope was considerably smaller than what would be required by OpenPaaS.
Since the platform was being developed with businesses and other large institutions in mind, confidentiality was a concern and a stated requirement of the project.
Even so, I think it&#39;s fair to say nobody expected us to make privacy such an central part of our design.&lt;/p&gt;
&lt;p&gt;In many organizations these design choices might have been seen as digressions.
We&#39;ve been fortunate to have had a lot of support from our employer, (&lt;a href=&quot;https://www.xwiki.com/&quot;&gt;XWiki SAS&lt;/a&gt;).
Consequently, we were able to nurture a prototype such that it grew into a platform, a product, and a community.
Still we knew all along that our role in the OpenPaaS project would come to an end, and that without external funding it would be difficult to continue with the momentum we&#39;d established.&lt;/p&gt;
&lt;h2&gt;Support from our community&lt;/h2&gt;
&lt;p&gt;As an active member of the community concerned about privacy issues, I know there are a lot of people that are suspicious of government money.
While I understand that this distrust is justified by a lot of history, I&#39;m very satisfied with what I consider &lt;em&gt;the European software model&lt;/em&gt; of funding work public work with public money, keeping in mind that I&#39;m a Canadian that&#39;s lived in France for the past few years.&lt;/p&gt;
&lt;p&gt;Without the social investment we&#39;ve received so far it would have been very difficult to create a product of sufficient quality that anyone would pay for it.
I often hear people rebutt this point by saying that a lot of &lt;em&gt;free-software&lt;/em&gt; is produced &lt;em&gt;for free&lt;/em&gt; by volunteers.
Personally I&#39;m in the camp that believes that the people writing that software deserve the same financial stability that is enjoyed by those producing software with proprietary or extractive business models, but that&#39;s a bit beyond the scope of this article.&lt;/p&gt;
&lt;p&gt;In any case, before going on to talk about the very generous contribution we&#39;ve received, I wanted to acknowledge the support up until now from individuals and organizations that use CryptPad.
Since the end of our last project and the beginning of this new one, we&#39;ve been sustained by a mix of the revenue generated by &lt;a href=&quot;https://accounts.cryptpad.fr/#/?on=cryptpad.fr&quot;&gt;subscriptions to CryptPad.fr&lt;/a&gt; and &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;donations to our OpenCollective campaign&lt;/a&gt;.
These contributions help to keep CryptPad going in such brief periods when we haven&#39;t secured larger sources of funding as well as providing alternatives should such opportunities cease to be available.&lt;/p&gt;
&lt;p&gt;You can expect another post in the near future about the status of our crowdfunding campaign where we&#39;ll go over our crowdfunding campaign in more depth.&lt;/p&gt;
&lt;h2&gt;NLnet and the &lt;em&gt;Next Generation Internet&lt;/em&gt;&lt;/h2&gt;
&lt;p&gt;You might recall that we recently &lt;a href=&quot;https://blog.cryptpad.fr/2019/02/22/Heading-to-Barcelona/&quot;&gt;visited Barcelona&lt;/a&gt; to receive an &lt;em&gt;NGI award&lt;/em&gt; for &lt;em&gt;privacy and trust-enhanced technologies&lt;/em&gt;.
Those awards were organized as a part of the &lt;a href=&quot;https://www.ngi.eu/&quot;&gt;NGI initiative&lt;/a&gt;, funded by the European Union&#39;s &lt;a href=&quot;https://ec.europa.eu/programmes/horizon2020/en&quot;&gt;Horizon 2020 research program&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;As a part of the initiative, NLnet has been made responsible for distributing a rather large sum of money to smaller projects through the administration of &lt;a href=&quot;https://nlnet.nl/discovery/&quot;&gt;Search and Discovery&lt;/a&gt; and &lt;a href=&quot;https://nlnet.nl/PET/&quot;&gt;Privacy (and trust) Enhancing Technologies&lt;/a&gt;.
By delegating these enormous tasks to NLnet the EU has recognized their excellent track record for supporting projects that actively contribute towards an open information society.&lt;/p&gt;
&lt;p&gt;Naturally we&#39;re very happy to receive the financial support, but beyond that the foundation has offered a variety of other resources which they have at their disposal by way of having played a strong role in the European free software community.
They&#39;ve offered expertise in accessibility, documentation, security auditing, internationalization, and legal matters surrounding software licensing, among other things.&lt;/p&gt;
&lt;p&gt;Finally, it&#39;s worth mentioning that for all of this support that we&#39;ll receive, the amount of time we&#39;ve spent writing the initial proposal and following up until the point of signing a contract has been remarkably brief.
Whether considering the delay between submission and acceptance or the actual time spent on documents and correspondence, they&#39;ve kept the bureaucracy to an absolute minimum.
For a small team like ours, this makes a massive difference in our ability to access such funding and to put more of our time towards the activities the money is meant to support.&lt;/p&gt;
&lt;h2&gt;What &lt;em&gt;CryptPad Teams&lt;/em&gt; will entail&lt;/h2&gt;
&lt;p&gt;This purpose of this grant is to develop technologies which enhance the public&#39;s ability to preserve their privacy.
Our contract defines the milestones which we must reach in order to get paid.
I voluntarily included a stipulation that we would not consider a goal complete until its components were publicly accessible as source code and in our hosted platform.
This was meant to ensure that the outcomes benefit our community of users and developers alike.&lt;/p&gt;
&lt;p&gt;Starting with CryptPad 2.23.0 we&#39;ll introduce support for personal encrypted mailboxes for registered users.
We&#39;re not looking to replace e-mail or the other platforms which are focused on encrypted messaging, this will just be a simple feature which will allow users to interact with each other more effectively whether or not they are online at the same time.&lt;/p&gt;
&lt;p&gt;Our first use-case for this is an improved version of our &amp;quot;friend request&amp;quot; which currently requires that both users be online.
You&#39;ll be able to send friend requests from user&#39;s profile pages and they&#39;ll see a notification the next time they visit CryptPad.
Going forward we&#39;ll use the same system to offer friends access to documents directly through the sharing menu, instead of having to send URLs over potentially insecure mediums like unencrypted email or messengers.
Similarly, friends will be able to request the ability to edit documents that they can view, as well as to request &amp;quot;ownership&amp;quot; over documents which they should be able to delete.&lt;/p&gt;
&lt;p&gt;As minor as some of this functionality might sound, we believe they&#39;ll make a positive and significant impact on users&#39; privacy.
We want to minimize how often they have to directly handle the encryption keys which protect the contents of their documents.&lt;/p&gt;
&lt;p&gt;After these initial steps we&#39;ll begin offering first-class support for teams within CryptPad, allowing users to define groups of friends so that they can delegate access quickly and effectively.
Teams will integrate with shared folders and will eventually offer features targeting various types of groups, whether hierarchical as is customary in many businesses or on a more ad-hoc basis as might be expected with friends or other self-organizing groups.
Team members will benefit from better oversight as to who can access particular documents, reducing the likelihood that they&#39;ll accidentally leak private information.
We want to offer users better oversight into the activity of documents in their CryptDrives, both to make it easier to quickly join editing sessions with friends, as well as to make it noticeable when access to a document has leaked outside of its intended audience.&lt;/p&gt;
&lt;h2&gt;The hard part&lt;/h2&gt;
&lt;p&gt;Different groups have different levels of trust among their members.
It&#39;s difficult to build these features in a manner that&#39;s fast to use with friends while still preventing your boss from spying on you.
We&#39;re committed to thinking through all of these cases to keep our users safe, and to acting on users concerns if we don&#39;t get it right the first time.&lt;/p&gt;
&lt;p&gt;We&#39;re excited to begin this project and grateful to everyone supporting our efforts, financially or otherwise.
&lt;em&gt;Teams&lt;/em&gt; is the first grant we&#39;ve received &lt;em&gt;explicitly&lt;/em&gt; for the development of CryptPad, and we couldn&#39;t have gotten here without help.
As always, if you have ideas, concerns, or questions feel free to &lt;a href=&quot;https://cryptpad.fr/contact.html&quot;&gt;contact us&lt;/a&gt;.&lt;/p&gt;
</content>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="open-source" scheme="https://blog.cryptpad.org/tags/open-source/"/>
  </entry>
  <entry>
    <title>Join the team</title>
    <link href="https://blog.cryptpad.org/2019/03/18/Join-the-team/"/>
    <updated>2019-03-18T17:31:21Z</updated>
    <id>https://blog.cryptpad.org/2019/03/18/Join-the-team/</id>
    <summary xml:lang="en" type="html">We&#39;ve been making a big deal of our funding status for the last while, and for good reason. CryptPad has largely been funded by the OpenPaaS research and development project, funded by BPIFrance...</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We&#39;ve been making a big deal of our funding status for the last while, and for good reason.
CryptPad has largely been funded by the &lt;a href=&quot;https://open-paas.org/&quot;&gt;OpenPaaS&lt;/a&gt; research and development project, funded by &lt;a href=&quot;http://www.bpifrance.com/&quot;&gt;BPIFrance&lt;/a&gt;.
We&#39;re very happy with the results of the past four years of work, but this support will terminate at the end of March 2019.&lt;/p&gt;
&lt;p&gt;While this change is a bit scary for us, it also means that we&#39;ll be free to pursue new research projects.
Europe is investing in technologies that promote human-centric values, so there are many opportunities that align with our goals.
We have been actively seeking funding from a variety of sources, and though things are currently uncertain for us, it&#39;s quite likely that &lt;strong&gt;our team will need to expand&lt;/strong&gt; to prepare for upcoming obligations.&lt;/p&gt;
&lt;h2&gt;The skills we want&lt;/h2&gt;
&lt;p&gt;We&#39;re looking for &lt;em&gt;web technologists&lt;/em&gt; and &lt;em&gt;product designers&lt;/em&gt; with experience in &lt;a href=&quot;https://en.wikipedia.org/wiki/Privacy_engineering&quot;&gt;privacy engineering&lt;/a&gt;.
If you already use CryptPad, encrypted messengers, or other similar communication systems to protect your personal data, that knowledge will be an asset.
If you use unencrypted platforms and have a good understanding of the personal and societal trade-offs, that will count in your favour as well.&lt;/p&gt;
&lt;p&gt;This field is fairly young, so we&#39;re open to any experience you have, not just what you&#39;ve learned in a professional or academic context.&lt;/p&gt;
&lt;p&gt;In terms of technical skills, our daily work typically includes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clientside Javascript (ES5) and cross-platform browser APIs&lt;/li&gt;
&lt;li&gt;Nodejs&lt;/li&gt;
&lt;li&gt;CSS3 and LESS&lt;/li&gt;
&lt;li&gt;HTML5&lt;/li&gt;
&lt;li&gt;BASH&lt;/li&gt;
&lt;li&gt;GIT&lt;/li&gt;
&lt;li&gt;SSH, information security, and basic system administration&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We&#39;re interested in incorporating skills we don&#39;t already have, so don&#39;t panic if you&#39;re unfamiliar with anything listed above.&lt;/p&gt;
&lt;p&gt;Perhaps more important than the technical skills are the so-called &lt;em&gt;soft skills&lt;/em&gt;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Empathizing with users and prioritizing improvements based on their impact&lt;/li&gt;
&lt;li&gt;Communicating well within a team (including asking for clarification if your goals are ever unclear)&lt;/li&gt;
&lt;li&gt;Managing your time well (we avoid micro-managing and working overtime)&lt;/li&gt;
&lt;li&gt;Reasoning about pragmatic security&lt;/li&gt;
&lt;li&gt;Consideration of both immediate tasks and long-term goals&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;What we offer&lt;/h2&gt;
&lt;p&gt;XWiki SAS has been developing open-source software for the last 15 years, and we rely on the open-source tooling internally.
Joining our team means learning how to run a sustainable business while giving away our product for free (without selling user data).&lt;/p&gt;
&lt;p&gt;Otherwise you can expect:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;A relaxed work environment (in &lt;em&gt;Paris, France&lt;/em&gt; or &lt;em&gt;Iasi, Romania&lt;/em&gt;) with part-time remote work
&lt;ul&gt;
&lt;li&gt;or negotiable full-time if relocation is not possible or desireable&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;To develop portable skills using open-source software&lt;/li&gt;
&lt;li&gt;International travel (at our expense) when promoting the company or our projects&lt;/li&gt;
&lt;li&gt;Opportunities for advancement, training, and other benefits&lt;/li&gt;
&lt;li&gt;The chance to shape the future of an exciting project with your personal view of responsible data handling&lt;/li&gt;
&lt;li&gt;To become an expert in privacy-enhancing technologies (we&#39;re literally an &lt;em&gt;award-winning team&lt;/em&gt;) &lt;img src=&quot;https://blog.cryptpad.org/images/xwiki-awards-tweet.png&quot; alt=&quot;Awards for XWiki and CryptPad&quot; /&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;A special note to researchers&lt;/h2&gt;
&lt;p&gt;We&#39;re very interested in distributed systems, data science (as an adversary against privacy), and human-computer interaction.
If you are knowledgeable about any of these, some intersection, or anything else that might be relevant, that&#39;s great!&lt;/p&gt;
&lt;p&gt;If you have recently attained a PhD from an institution recognized by the EU, there are subsidies which can help us pay your salary.
We have authored two peer-reviewed papers to date, so we can offer continued involvement in the research community if you desire.&lt;/p&gt;
&lt;h2&gt;Caveats&lt;/h2&gt;
&lt;p&gt;Sorting through CVs can be a lot of work, though a little transparency on some issues might help lighten the burden on our side.
Below are some things to consider before contacting us.&lt;/p&gt;
&lt;p&gt;As stated above, our ability to hire will be based on the status of some pending proposals.
We don&#39;t currently know how many positions will be available, and our timeline on when we could hire is fuzzy at best.
We&#39;d like to have your profile ready so we can act quickly once we know more.&lt;/p&gt;
&lt;p&gt;We can&#39;t compete with the salaries offered by companies in Silicon Valley, though they are comparable to other European businesses.
As a consolation, you&#39;ll be directly involved in determining how we move forward, and you&#39;ll gain insight into the exciting European research ecosystem.&lt;/p&gt;
&lt;p&gt;Our funding sources tend to place restrictions limiting those funds to residents of European member states.
I moved to France from Canada to work on CryptPad several years ago, but things are generally simpler if you&#39;re already here.
Don&#39;t let that stop you from contacting us, though!&lt;/p&gt;
&lt;p&gt;We understand that talent comes in many forms, and we welcome new ideas.
We&#39;re willing to make exceptions for promising candidates, but we&#39;d like to know that you care about the topic.
There are probably better options available if you just want &lt;em&gt;a job&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;If you are interested...&lt;/h2&gt;
&lt;p&gt;Contact us at &lt;a href=&quot;mailto:jobs@cryptpad.fr&quot;&gt;jobs@cryptpad.fr&lt;/a&gt; with a recent CV and a brief introduction explaining what you&#39;d bring to the team.&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open-source" scheme="https://blog.cryptpad.org/tags/open-source/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
  </entry>
  <entry>
    <title>CryptPad funding status March 2019 - Thanks to our 100 backers!</title>
    <link href="https://blog.cryptpad.org/2019/03/11/CryptPad-funding-status-March-2019/"/>
    <updated>2019-03-11T20:00:00Z</updated>
    <id>https://blog.cryptpad.org/2019/03/11/CryptPad-funding-status-March-2019/</id>
    <summary xml:lang="en" type="html">The beginning of the year has been busy. We traveled to Barcelona to officially receive our NGI Award. Spreadsheet functionality was officially released in CryptPad and our funding has been progressing since our last status in November.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-funding-blog-cover-generic.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The beginning of the year has been busy.
We &lt;a href=&quot;https://blog.cryptpad.org/2019/02/22/Heading-to-Barcelona/&quot;&gt;traveled to Barcelona&lt;/a&gt; to officially receive our NGI Award.
Spreadsheet functionality was officially released in CryptPad and our funding has been progressing since &lt;a href=&quot;https://blog.cryptpad.org/2018/12/09/CryptPad-funding-status-November-2018/&quot;&gt;our last status in November&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have seen a spike of both new subscriptions and growing usage of &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; in the last few months.
You can see the numbers in &lt;a href=&quot;https://cryptpad.fr/sheet/#/2/sheet/view/ppScrSTQQy7gQ6gwYG2pSvNzedP0mHhhFHWwPl5P+Vk/embed/present/&quot;&gt;the new spreadsheet function launched in January&lt;/a&gt; (though this functionality is still restricted to registered users).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201902-funding.png?v=2&quot; alt=&quot;CryptPad funding details&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We now have more than 100 backers from 23 countries around the world.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201902-funding-countries.png&quot; alt=&quot;CryptPad funding by country&quot; /&gt;&lt;/p&gt;
&lt;p&gt;While this cannot yet fund our two developers we are happy that the funding is progressing.
We will reach a first goal of 6k by the end of the OpenPaaS-NG project ending this month.
We have also candidated to the &lt;a href=&quot;https://nlnet.nl/news/2019/20190201-call.html&quot;&gt;NLNet Privacy and Trust Enhancing Technology funding call&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Now we need more help!
First we need to be able to sustain our team, but also we need to be able to expand, especially if we want to have Open Source software in the Zero-Knowledge space.
Proprietary software providing some form of Zero-Knowledge will probably start growing with extensive funding.
If we want independent free-software alternatives for this type of software, then we need to group our effort and fund open source solutions like CryptPad.
We have ambitious objectives for CryptPad and we cannot achieve these with only two developers.&lt;/p&gt;
&lt;p&gt;On the subject of funding, CryptPad will be presented at the &lt;a href=&quot;https://fundthecode.org/&quot;&gt;Fund the Code&lt;/a&gt; event on March 19th in Paris, with XWiki SAS (CryptPad&#39;s parent company) sponsoring the event.&lt;/p&gt;
&lt;p&gt;Since the launch of the campaign we have published a &lt;a href=&quot;https://blog.cryptpad.org/tags/roadmap/&quot;&gt;roadmap for CryptPad&lt;/a&gt; of what we would like to achieve with the funding.
It&#39;s also available on the &lt;a href=&quot;https://opencollective.com/cryptpad/#about&quot;&gt;OpenCollective web site&lt;/a&gt;.
Check it out and see our ambitious objectives for this project.
We are already making progress on this roadmap.&lt;/p&gt;
&lt;p&gt;To finish, I&#39;d like to give progress on CryptPad&#39;s usage.
We are now reaching close to 250 instances of CryptPad running around the world, and the official &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; instance is growing regularly.
The growth of CryptPad noticed in November has not stopped and now we have more than 1500 weekly drive users (from 1000 in November), more than 7000 weekly pad users (from 6000 in November).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201902-driveuniqueweek.png&quot; alt=&quot;cryptpad drive stats&quot; /&gt;
&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201902-padsuniqueweek.png&quot; alt=&quot;cryptpad pad stats&quot; /&gt;&lt;/p&gt;
&lt;p&gt;A special note to our German users where CryptPad is growing quickly.
We have noticed on Twitter that teachers promoting are CryptPad in their community and there are now more users from Germany than from the US, making it the top country representing 25% of the &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; users and also of the CryptPad hosted instances.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201902-countries.png&quot; alt=&quot;cryptpad countries&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Try CryptPad&lt;/a&gt;, love it, &lt;a href=&quot;https://opencollective.com/cryptpad/&quot;&gt;take care of it&lt;/a&gt;, and even better &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad&quot;&gt;come help&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;Ludovic Dubost &amp;amp; the CryptPad Team&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>Looking for translators</title>
    <link href="https://blog.cryptpad.org/2019/03/11/Looking-for-translators/"/>
    <updated>2019-03-11T11:12:50Z</updated>
    <id>https://blog.cryptpad.org/2019/03/11/Looking-for-translators/</id>
    <summary xml:lang="en" type="html">Our mission is to make privacy-enhancing technologies accessible to people from all over the world. We get a lot of attention for the technology that we build, but that technology may be of limited use to those who can&#39;t understand what it&#39;s doing.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Our mission is to make privacy-enhancing technologies accessible to people from all over the world.
We get a lot of attention for the technology that we build, but that technology may be of limited use to those who can&#39;t understand what it&#39;s doing.
I&#39;m not talking about &lt;em&gt;how the cryptography in CryptPad works&lt;/em&gt;, but the simple matter of reading the text displayed on the screen.&lt;/p&gt;
&lt;p&gt;CryptPad has been translated into &lt;em&gt;nine different languages&lt;/em&gt;, but only a third of those translations are complete.
Members of the development team are fluent in English and French, so those are easily maintained, but the rest are beyond our ability.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/translations-status.png&quot; alt=&quot;translations status&quot; /&gt;&lt;/p&gt;
&lt;p&gt;The other translations were written by contributors, but our required format made them difficult to maintain, so we understand why so many have become out of date.
With that in mind, we&#39;ve decided to adopt the open-source &lt;a href=&quot;https://weblate.org/en/&quot;&gt;Weblate translation platform&lt;/a&gt; for our project to make the process more manageable.
If you&#39;re familiar with CryptPad and fluent in any language other than English or French, &lt;em&gt;we&#39;d love your help&lt;/em&gt; translating the project.&lt;/p&gt;
&lt;p&gt;You don&#39;t have to do it alone, and it doesn&#39;t need to be done all at once.
Weblate allows translators to change one string at a time in a nice web interface, with issues sorted by type.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/weblate-interface.png&quot; alt=&quot;Weblate translation interface&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Anyone can register an account on our instance (&lt;a href=&quot;https://weblate.cryptpad.fr/&quot;&gt;weblate.cryptpad.fr&lt;/a&gt;).
From there, we can appoint &lt;em&gt;reviewers&lt;/em&gt; for each language who will receive notifications any time their language receives a suggested update.&lt;/p&gt;
&lt;p&gt;If you&#39;d like to translate CryptPad into a new language, that will require a little more involvement on our part, but we&#39;d be very happy to help.
Our &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/blob/master/customize.dist/translations/README.md&quot;&gt;translation guide&lt;/a&gt; has more detailed information, but you can always &lt;a href=&quot;mailto:weblate@cryptpad.fr&quot;&gt;contact us&lt;/a&gt; if you&#39;d like to help.&lt;/p&gt;
&lt;p&gt;Even if your preferred language is already translated, we still welcome improvements to the existing translations.
Feel free to sign up and make suggestions, or stop by &lt;a href=&quot;https://riot.im/app/#/room/#cryptpad:matrix.org&quot;&gt;our chat room&lt;/a&gt; if you find any part of the platform difficult to understand.&lt;/p&gt;
</content>
    <category term="open-source" scheme="https://blog.cryptpad.org/tags/open-source/"/>
    <category term="quality" scheme="https://blog.cryptpad.org/tags/quality/"/>
  </entry>
  <entry>
    <title>Heading to Barcelona</title>
    <link href="https://blog.cryptpad.org/2019/02/22/Heading-to-Barcelona/"/>
    <updated>2019-02-22T11:08:09Z</updated>
    <id>https://blog.cryptpad.org/2019/02/22/Heading-to-Barcelona/</id>
    <summary xml:lang="en" type="html">There&#39;s a fairly long list of people who have helped make CryptPad what it is today, but on a day-to-day basis its improvements are driven primarily by myself and a colleague who would rather push code than take credit for his work.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;There&#39;s a fairly long list of people who have helped make CryptPad what it is today, but on a day-to-day basis its improvements are driven primarily by myself and a colleague who would rather push code than take credit for his work.
As &lt;a href=&quot;https://en.wikipedia.org/wiki/Privacy_engineering&quot;&gt;privacy engineers&lt;/a&gt; we&#39;re most excited about building and deploying new features that help people move away from less private platforms.
Even so, it&#39;s important to step away from building new things occasionally to both promote what we&#39;ve done so far and ask people what they think of it.&lt;/p&gt;
&lt;p&gt;Since our small team handles everything related to the project (including development, deployment, support, and promotion) the coming release will take place three weeks after &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/2.17.0&quot;&gt;our last&lt;/a&gt; to allow us to focus on meeting users.
As &lt;a href=&quot;https://blog.cryptpad.fr/2018/11/13/CryptPad-receives-NGI-Startup-Award/&quot;&gt;previously announced&lt;/a&gt;, we&#39;ve been invited to the &lt;a href=&quot;https://awards.ngi.eu/&quot;&gt;NGI awards&lt;/a&gt; which will be colocated with the &lt;a href=&quot;https://www.mwcbarcelona.com/about/&quot;&gt;Mobile World Congress&lt;/a&gt; in Barcelona.&lt;/p&gt;
&lt;p&gt;I&#39;ll be accepting the NGI startup award for &lt;em&gt;Privacy and trust-enhanced technologies&lt;/em&gt; along with Ludovic Dubost (my boss and the CEO of XWiki).
If you&#39;ll be in the city at the same time I encourage you to reach out to us via Twitter (&lt;a href=&quot;https://twitter.com/cryptpad&quot;&gt;@cryptpad&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/ldubost&quot;&gt;@ldubost&lt;/a&gt;, &lt;a href=&quot;https://twitter.com/fc00ansuz&quot;&gt;@fc00ansuz&lt;/a&gt;) or Mastodon (&lt;a href=&quot;https://framapiaf.org/@ldubost&quot;&gt;@ldubost&lt;/a&gt;, &lt;a href=&quot;https://social.weho.st/@cryptpad&quot;&gt;@cryptpad&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I plan to announce our plans for the coming months in a more formal roadmap, however, if we meet in person I&#39;ll be happy to muse about the project&#39;s trajectory in a casual setting.
Come say hi, tell me what you&#39;d like to see, and you might see it land in an upcoming release!&lt;/p&gt;
</content>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
    <category term="award" scheme="https://blog.cryptpad.org/tags/award/"/>
  </entry>
  <entry>
    <title>CryptPad funding status November 2018</title>
    <link href="https://blog.cryptpad.org/2018/12/09/CryptPad-funding-status-November-2018/"/>
    <updated>2018-12-09T20:00:00Z</updated>
    <id>https://blog.cryptpad.org/2018/12/09/CryptPad-funding-status-November-2018/</id>
    <summary xml:lang="en" type="html">I&#39;ve now let a few months pass since the last August status. I&#39;m sorry about that as I have been very busy with XWiki SAS activities as well as conferences including CryptPad talks.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-funding-blog-cover-generic.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I&#39;ve now let a few months pass since the last August status. I&#39;m sorry about that as I have been very busy with XWiki SAS activities as well as conferences including CryptPad talks.&lt;/p&gt;
&lt;p&gt;I use this occasion to post the links to the different talks we had to present CryptPad and our goals:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptpad.fr/slide/#/2/slide/view/HUJaxog3vrIJpJJ37-kDAecBJN7Y8yblLtjQEYrUSWU/embed/present/&quot;&gt;Toulouse Capitole du Libre (French)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptpad.fr/slide/#/2/slide/view/d9tE0ekARv6YYcDroYIrLQelPpwnUbYNMQnLYHJXpDk/embed/present/&quot;&gt;Paris Open Source Summit in the Privacy Track (French)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Paris Open Source Summit in the Solutions Track (English by Aaron)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We have also been busy preparing some other funding opportunities for CryptPad which we believe can help bring more development to the project. Rest assured we are hard at work to make it happen. By the way, if you are an independent developer in Europe and you would like to be funded to work on a CryptPad project, contact us, we could have an opportunity for you.&lt;/p&gt;
&lt;p&gt;Also I wanted to announce that in addition to the NGI Award &amp;quot;Privacy and Trust Enhanding Technologies&amp;quot; received last month for CryptPad, XWiki SAS has now also received an award at the Paris Open Source Summit from the CNLL (Conseil National du Logiciel Libre). This award &amp;quot;Enterprise Award for an Open and Ethical Digital&amp;quot; (Prix de l&#39;Entreprise pour un numérique ouvert et éthique), recognizes XWiki SAS&#39; involvement in sustainable free software development for the last 15 years. This of course includes our involvement in CryptPad and working hard to bring this free software solution to life and sustain its development. We are very proud of it and are committed to honor this award in the future.&lt;/p&gt;
&lt;p&gt;Again we are grateful for our donators and subscribers as well as to all that relay our communications about the CryptPad crowdfunding campaign.&lt;/p&gt;
&lt;p&gt;In the last three months we have received 1000 Euros from subscriptions and donations. this number has been growing in particular since we have launched yearly payments for subscriptions.&lt;/p&gt;
&lt;p&gt;We have now exceeded 4000 Euros in funding for CryptPad since the beginning, including 1000 Euros of donations. This funding comes from 65 different sources from 19 different countries. 26 donators are coming through Open Collective.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201811-revenues-details.png&quot; alt=&quot;cryptpad funding details&quot; /&gt;
&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201811-countries.png&quot; alt=&quot;cryptpad funding by type&quot; /&gt;
&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201811-revenuesources.png&quot; alt=&quot;cryptpad funding by country&quot; /&gt;&lt;/p&gt;
&lt;p&gt;While this cannot yet fund our two developers we are happy that the funding is progressing. We hope to continue to grow subscriptions and donators and have between 6k and 10k Euros by the end of the OpenPAAS NG project which currently funds us. Progressively we are getting close to secure funding for the project.&lt;/p&gt;
&lt;p&gt;Now we need more help ! First we need to be able to sustain our team, but also we need to be able to expand, especially if we want to have Open Source software in the Zero-Knowledge space. Proprietary closed source software providing some form of Zero-Knowledge will probably start growing with extensive funding. If we want independent free-software alternatives for this type of software, then we need to group our effort and fund open source solutions like CryptPad. We have ambitious objectives for CryptPad and we cannot achieve these with only two developers.&lt;/p&gt;
&lt;p&gt;Since the launch of the campaign we have also published a &lt;a href=&quot;https://blog.cryptpad.org/tags/roadmap/&quot;&gt;roadmap for CryptPad&lt;/a&gt; of what we would like to achieve with the funding. It&#39;s also available on the &lt;a href=&quot;https://opencollective.com/cryptpad/#about&quot;&gt;OpenCollective web site&lt;/a&gt;. Come check it out and see our ambitious objectives for this project. We are already making progress on this roadmap.&lt;/p&gt;
&lt;p&gt;Aaron and Yann, our CryptPad developers, have released the shared folders feature, one of the most demanded feature. We have also worked on improving the reliability of the synchronization engine (chainpad).&lt;/p&gt;
&lt;p&gt;To finish, I&#39;d like to give progress on CryptPad&#39;s usage. We are now reaching close to 200 instances of CryptPad running around the world, and the official &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; instance is growing regularly. We have seen a surge in the last weeks, maybe related to the conferences, and we have now more than 1000 drive users, and 6000 pad visitors per week. The activity has almost doubled in 4 month.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201811-stats-drive.png&quot; alt=&quot;cryptpad drive stats&quot; /&gt;
&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-201811-stats-pads.png&quot; alt=&quot;cryptpad pad stats&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Try CryptPad&lt;/a&gt;, love it, &lt;a href=&quot;https://opencollective.com/cryptpad/&quot;&gt;take care of it&lt;/a&gt;, and even better &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad&quot;&gt;come help&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Ludovic Dubost &amp;amp; the CryptPad Team&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>CryptPad receives NGI Startup Award</title>
    <link href="https://blog.cryptpad.org/2018/11/13/CryptPad-receives-NGI-Startup-Award/"/>
    <updated>2018-11-13T15:29:32Z</updated>
    <id>https://blog.cryptpad.org/2018/11/13/CryptPad-receives-NGI-Startup-Award/</id>
    <summary xml:lang="en" type="html">Europe&#39;s Next Generation Internet initiative awarded CryptPad the Privacy and trust-enhanced technologies startup award</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad_ngi_award.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Europe recognizes Privacy, and it&#39;s starting with CryptPad&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Europe&#39;s Next Generation Internet initiative (&lt;a href=&quot;https://www.ngi.eu/&quot;&gt;NGI.eu&lt;/a&gt;) awarded CryptPad the Next Generation Internet’s &lt;a href=&quot;https://awards.ngi.eu/winners-startup-awards&quot;&gt;Privacy and trust-enhanced technologies startup award&lt;/a&gt;. The NGI Startup Awards recognize Europe’s most disruptive entrepreneurs who are advancing revolutionary products, solutions and services destined to have a major impact on the internet of the future.&lt;/p&gt;
&lt;p&gt;Of course XWiki SAS and the CryptPad team are very proud of this award for a project that was started 4 years ago by Caleb James DeLisle as part of a French research project funding realtime editing in XWiki. The first commit &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/commit/1508c7ba71f5de5e51f061fbef45bc1f18493832&quot;&gt;&amp;quot;&lt;strong&gt;and so it begins&lt;/strong&gt;&amp;quot;&lt;/a&gt; was premonitory of a long and important project.&lt;/p&gt;
&lt;p&gt;But most importantly we are very happy that privacy enhancing technologies are getting recognized. We strongly believe that users of internet technologies should be able to control their privacy and the security of their data, and unfortunately this is not the case today. The dominating business model of the Internet is advertisement based on exploiting user data (&amp;quot;Your data is their data&amp;quot;). Cloud providers have full access to most of users&#39; and companies&#39; private data, which is being exposed to many risks.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Our promise is that our software &lt;strong&gt;cannot&lt;/strong&gt; spy on its users, and that your data is safe.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We are also very happy that our users and supporters are recognized. Since we launched our online service &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; as part of the OpenPaaS-NG research project, funded by BPI France, CryptPad&#39;s usage and support has continously grown. With more than 10000 users weekly and also the support from paying users and donations through our Open Collective, we are all participating in helping restore our privacy.&lt;/p&gt;
&lt;p&gt;It is difficult for all of us to give up powerful Internet services and software which bring us great value, but at the same time we do not like to see how our data is being used for advertisement, political means or malicious hacking. Today this NGI Award is showing that it is possible to take back our privacy, while getting powerful and easy to use services. We built CryptPad to show how far a team can go to empower users and increase their expectation of privacy from online services. While it was previously accepted that collaborative editing meant sacrificing confidentiality, we’ve not only proven that private editing is possible, but we’ve made our entire platform open source to ensure that this technology remains available.&lt;/p&gt;
&lt;h3&gt;Want to be a part of it?&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Use CryptPad and other Zero Knowledge services every day, tell us what you like and what we can do better.&lt;/li&gt;
&lt;li&gt;Talk to your friends and colleagues about Zero Knowledge, show them CryptPad and explain that this is what the cloud can be.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.xwiki.com/en/jobs/&quot;&gt;Candidate to XWiki SAS&lt;/a&gt; to join our team.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Show your support&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Buy an upgraded account from &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;Cryptpad.fr&lt;/a&gt;, run by the CryptPad development team, or contribute to our &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;Open Collective&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;If you install the Open Source code of CryptPad on your own servers, consider buying a support contract.&lt;/li&gt;
&lt;li&gt;If you’re a web developer, think about Zero Knowledge for your next web app.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;About CryptPad and XWiki SAS&lt;/h2&gt;
&lt;p&gt;CryptPad is an open-source, web-based suite of collaborative editors which employs client-side cryptography to ensure that the server is not able to access the contents of users’ documents.
It offers a variety of editors and other multi-user applications: rich text, code editing with syntax highlighting and markdown preview, presentations, polls for scheduling, kanbans for project management, and whiteboards for collaborative illustration.&lt;/p&gt;
&lt;p&gt;CryptPad is being actively developed by XWiki SAS and is currently funded by BPI France as part of the OpenPaaS NG research project. For the last 14 years, XWiki SAS has built Open Source Collaboration Software and provided professional services allowing organizations to better organize their information.&lt;/p&gt;
&lt;h2&gt;About the NGI Initiative and awards&lt;/h2&gt;
&lt;p&gt;NGI is Europe’s new approach to creating a more human-centric internet. It invites citizens and communities striving for values like openness, inclusivity, transparency, privacy, cooperation, and data protection to provide input, and thus to help to guide the European Next Generation Internet funding agenda. NGI is a European Commission initiative which is being implemented by project partners throughout Europe.&lt;/p&gt;
&lt;p&gt;The overall mission of the Next Generation Internet initiative is to re-imagine and re-engineer the Internet for the third millennium and beyond. We envision the information age will be an era that brings out the best in all of us. We want to enable human potential, mobility and creativity at the largest possible scale – while dealing responsibly with our natural resources. In order to preserve and expand the European way of life, we shape a value-centric, human and inclusive Internet for all.&lt;/p&gt;
</content>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
    <category term="award" scheme="https://blog.cryptpad.org/tags/award/"/>
    <category term="ngi" scheme="https://blog.cryptpad.org/tags/ngi/"/>
  </entry>
  <entry>
    <title>CryptPad funding status August 2018</title>
    <link href="https://blog.cryptpad.org/2018/09/12/CryptPad-funding-status-August-2018/"/>
    <updated>2018-09-12T14:14:16Z</updated>
    <id>https://blog.cryptpad.org/2018/09/12/CryptPad-funding-status-August-2018/</id>
    <summary xml:lang="en" type="html">We have now passed the summer since we have started the OpenCollective for CryptPad and started our campaign for funding CryptPad and ensuring its future in 2019, so I wanted to give an update on this funding initiative.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-funding-blog-cover-generic.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We have now passed the summer since we have started the OpenCollective for CryptPad and started our campaign for funding CryptPad and ensuring its future in 2019, so I wanted to give an update on this funding initiative.&lt;/p&gt;
&lt;p&gt;First we are highly grateful to all that have responded positively and also that have relayed our campaign. We do feel stronger with the help of our community and it motivates us more.&lt;/p&gt;
&lt;p&gt;We have now received a few more contributions during this month of August, and in particular a 100 Euro donation from Matthieu Herrb. In July we had received a commitment from the &lt;a href=&quot;https://c3w.at/&quot;&gt;C3Wien Community&lt;/a&gt; in Austria, to contribute 360 Euros / year as well as some of their members to whom our communication was relayed. We have also received a few donations for more than 50 Euros coming from the USA and Germany (thanks &lt;a href=&quot;https://twitter.com/mikegoelzer&quot;&gt;Michael Goelzer&lt;/a&gt;, KimoNine, shibayashi) and also monthly donations (thanks &lt;a href=&quot;https://twitter.com/dangagliar&quot;&gt;Daniele Gagliardi&lt;/a&gt; and an anonymous backer !) and one time donations reaching now more than &lt;a href=&quot;https://opencollective.com/cryptpad/#contributors&quot;&gt;10 donators through OpenCollective&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We also had new subscribers to the CryptPad subscriptions and in total now we can count on 40 participants to CryptPad funding for a total now of 320 Euros for the month of August and 2250 Euros since subscriptions started last year. This funding originates from 11 different countries around the world.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-countries-201808.png&quot; alt=&quot;funding by country&quot; /&gt;&lt;/p&gt;
&lt;p&gt;XWiki SAS is also matching the donations we received since the beginning of the campaign and we are now reaching a budget of 2614 Euros on OpenCollective.&lt;/p&gt;
&lt;p&gt;This amount is of course still low and not enough to guarantee funding next year for CryptPad, but it&#39;s a start without much communication about the funding of CryptPad and about the long term objectives of this project. We still have 7 months to grow this funding to contribute to the development of CryptPad.&lt;/p&gt;
&lt;p&gt;Now we need more help ! First we need to be able to sustain our team, but also we need to be able to expand, especially if we want to have Open Source software in the Zero-Knowledge space. Proprietary closed source software providing some way of Zero-Knowledge will probably start growing with extensive funding. If we want independent free-software alternatives for this type of software, then we need to group our effort and fund open source solutions like CryptPad.&lt;/p&gt;
&lt;p&gt;Since the launch of the campaign we have also published a &lt;a href=&quot;https://blog.cryptpad.org/tags/roadmap/&quot;&gt;roadmap for CryptPad&lt;/a&gt; of what we would like to achieve with the funding. It&#39;s also available on the &lt;a href=&quot;https://opencollective.com/cryptpad/#about&quot;&gt;OpenCollective web site&lt;/a&gt;. Come check it out and see our ambitious objectives for this project. Aaron and Yann, our CryptPad developers, are already hard at work and the shared folders feature, one of the most demanded features, is already advancing very fast. During the summer there are has been &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases&quot;&gt;3 new releases of CryptPad&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Try CryptPad&lt;/a&gt;, love it, &lt;a href=&quot;https://opencollective.com/cryptpad/&quot;&gt;take care of it&lt;/a&gt;, and even better &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad&quot;&gt;come help&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Ludovic Dubost &amp;amp; the CryptPad Team&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>CryptPad funding status after one month</title>
    <link href="https://blog.cryptpad.org/2018/08/04/CryptPad-funding-status-after-one-month/"/>
    <updated>2018-08-04T11:26:23Z</updated>
    <id>https://blog.cryptpad.org/2018/08/04/CryptPad-funding-status-after-one-month/</id>
    <summary xml:lang="en" type="html">It&#39;s been a month now that we have started the OpenCollective for CryptPad and started our campaign for funding CryptPad and insuring it&#39;s future in 2019, so I wanted to give a status on this funding initiative.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-funding-blog-cover.png&quot; alt=&quot;one month funding status&quot; /&gt;&lt;/p&gt;
&lt;p&gt;It&#39;s been a month now that we have started the OpenCollective for CryptPad and started our campaign for funding CryptPad and insuring it&#39;s future in 2019, so I wanted to give a status on this funding initiative.&lt;/p&gt;
&lt;p&gt;First we are highly grateful to all that have responded positively and also that have relayed our campaign. We do feel stronger with the help of our community and it motivates us more.&lt;/p&gt;
&lt;p&gt;In particular we have received a commitment from the &lt;a href=&quot;https://c3w.at/&quot;&gt;C3Wien Community&lt;/a&gt; in Austria, to contribute 360 Euros / year as well as some of their members to whom our communication was relayed. We have also received a few donations for more than 50 Euros coming from the USA and Austria (thanks &lt;a href=&quot;https://twitter.com/mikegoelzer&quot;&gt;Michael Goelzer&lt;/a&gt;, KimoNine, shibayashi) and also monthly donations (thanks &lt;a href=&quot;https://twitter.com/dangagliar&quot;&gt;Daniele Gagliardi&lt;/a&gt; and an anonymous backer !) and one time donations reaching now more than &lt;a href=&quot;https://opencollective.com/cryptpad/#contributors&quot;&gt;10 donators through OpenCollective&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We also had new subscribers to the CryptPad subscriptions and in total now we can count on 30 participants to CryptPad funding for a total now of 750 Euros for the month of July and 2000 Euros since subscriptions started last year. This funding originates from 11 different countries around the world and actually not yet from France our home country who has funded the beginning of CryptPad with the OpenPAAS project.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad-countries.jpg&quot; alt=&quot;funding by country&quot; /&gt;&lt;/p&gt;
&lt;p&gt;This amount is of course still low and not enough to guarantee funding next year for CryptPad, but it&#39;s a start without much communication about the funding of CryptPad and about the long term objectives of this project.&lt;/p&gt;
&lt;p&gt;Now we need more help ! First we need to be able to sustain our team, but also we need to be able to expand, especially if we want to have Open Source software in the Zero-Knowledge space. Proprietary closed source software providing some way of Zero-Knowledge will probably start growing with extensive funding. If we want independent free-software alternatives for this type of software, then we need to group our effort and fund open source solutions like CryptPad.&lt;/p&gt;
&lt;p&gt;Since the launch of the campaign we have also published a &lt;a href=&quot;https://blog.cryptpad.org/tags/roadmap/&quot;&gt;roadmap for CryptPad&lt;/a&gt; of what we would like to achieve with the funding. It&#39;s also available on the &lt;a href=&quot;https://opencollective.com/cryptpad/#about&quot;&gt;OpenCollective web site&lt;/a&gt;. Come check it out and see our ambitious objectives for this project. Aaron and Yann, our CryptPad developers, are already hard at work and the shared folders feature, one of the most demanded features, is already advancing very fast.&lt;/p&gt;
&lt;p&gt;We want also to take the opportunity to thank Caleb James De Lisle, the creator of CryptPad, who has left XWiki SAS at the end of July to pursue his own projects (CJDNS and others). Caleb has done incredible work first creating CryptPad and also on XWiki SAS managing our research projects for the last few years. CryptPad&#39;s development is in good hands with Aaron and Yann who have been the main commiters of the project in the last year. In the last few month he has helped setup the Open Collective and the roadmap to help fund CryptPad in the future. I will now relay him on this aspect and we are a looking for a new team member to &lt;a href=&quot;https://www.xwiki.com/en/jobs/research-and-development-lead&quot;&gt;join our research funding initiative and lead CryptPad on the non-technical aspects&lt;/a&gt;. I&#39;m sure Caleb won&#39;t fully leave us and at least be a regular adviser to the project.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;Try CryptPad&lt;/a&gt;, love it, &lt;a href=&quot;https://opencollective.com/cryptpad/&quot;&gt;take care of it&lt;/a&gt;, and even better &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad&quot;&gt;come help&lt;/a&gt; !&lt;/p&gt;
&lt;p&gt;Ludovic Dubost &amp;amp; the CryptPad Team&lt;/p&gt;
</content>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
    <category term="open collective" scheme="https://blog.cryptpad.org/tags/open collective/"/>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
  </entry>
  <entry>
    <title>Making CryptPad CSS 3 times faster, by loading it twice</title>
    <link href="https://blog.cryptpad.org/2018/07/20/Making-CryptPad-CSS-3-times-faster-by-loading-it-twice/"/>
    <updated>2018-07-20T12:00:59Z</updated>
    <id>https://blog.cryptpad.org/2018/07/20/Making-CryptPad-CSS-3-times-faster-by-loading-it-twice/</id>
    <summary xml:lang="en" type="html">In CryptPad development, we have always tried to push the limits of the technology.</summary>
    <content xml:lang="en" type="html">&lt;script src=&quot;https://cryptpad.fr/common/media-tag-nacl.min.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;In CryptPad development, we have always tried to push the limits of the technology. As you might know, we don&#39;t minify any of our javascript code and we have no build system, yet CryptPad is still faster than many similar projects which do. In recent profiling, we determined that the biggest cause of slow loading was compilng of less stylesheets.&lt;/p&gt;
&lt;p&gt;All of the styles for CryptPad are written in &lt;a href=&quot;http://lesscss.org/&quot;&gt;Less&lt;/a&gt; CSS templating language and because we don&#39;t have a build system, when you load a page on CryptPad, it downloads the less compiler and runs it in your browser. When the less has been compiled the first time, it is cached in the browser&#39;s &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage&quot;&gt;localStorage&lt;/a&gt; so that it doesn&#39;t need to be compiled again (until next release). Unfortunately, the way we structured CryptPad Less code led to this taking a long time.&lt;/p&gt;
&lt;p&gt;CSS by its nature is very much like object inheritence, a design pattern popular in the 1990s which has &lt;a href=&quot;https://link.springer.com/chapter/10.1007/1-85233-856-3_23&quot;&gt;since&lt;/a&gt; &lt;a href=&quot;https://codeburst.io/inheritance-is-evil-stop-using-it-6c4f1caf5117&quot;&gt;been&lt;/a&gt; &lt;a href=&quot;http://neethack.com/2017/04/Why-inheritance-is-bad/&quot;&gt;discredited&lt;/a&gt;. In a bid to keep our styles under control, we decided to make heavy use of Less &lt;a href=&quot;http://lesscss.org/features/#mixins-feature&quot;&gt;mixins&lt;/a&gt;. The idea was that we didn&#39;t want our CSS code to &amp;quot;speak until it was spoken to&amp;quot;.&lt;/p&gt;
&lt;p&gt;Something like the following would be very problematic if it were dumped on the global scope, but it is never output until it is called:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.example_header() {
    a {
        color: red;
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So then the code which uses it can invoke it only in the exact place where it ought to be used.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;@include &amp;quot;example.less&amp;quot;;
.cp-app-pad {
    .cp-padheader {
        .cp-padheader-left {
            .example_header();
        }
    }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;If you&#39;re a CSS purist, you&#39;re probably pulling your hair out now, because &lt;em&gt;the right way&lt;/em&gt; is to use html classes. The thing is, we do, but because CryptPad is made up of many different pieces of open source software, we cannot control all of the HTML and sometimes things &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/blob/2.4.0/customize.dist/src/less2/include/ckeditor-fix.less&quot;&gt;aren&#39;t so simple&lt;/a&gt;. Using mixins gave us an extra layer of safety and allowed us to write CSS feeling quite confident that it would not end up changing things where it wasn&#39;t supposed to.&lt;/p&gt;
&lt;img src=&quot;https://blog.cryptpad.org/images/Strip-CSS-respect-650-finalenglish1.jpg&quot; /&gt;
&lt;center data-yeah-i-know-a-center-tag=&quot;so sue me&quot;&gt;*Cascading works great, until you include one CSS file that was written by this guy.*&lt;/center&gt;
&lt;h2&gt;Parameterized mixins&lt;/h2&gt;
&lt;p&gt;An excellent feature of Less is parameterized mixins, that is, templates with arguments. One of our biggest templates is called &lt;code&gt;.toolbar_main()&lt;/code&gt; and this builds the toolbar at the top of CryptPad as well as the user-list on the lefthand side. In order to make the customizable colors with the same HTML structure, we opted to use a parameterized mixin like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.toolbar_main (
    @color: @colortheme_default-color, // Color of the text for the toolbar
    @bg-color: @colortheme_default-bg, // color of the toolbar background
    @warn-color: @colortheme_default-warn, // color of the warning text in the toolbar
    @barWidth: 600px // width of the toolbar
) {
/// a lot of code here, using colors based on the parameters,
/// but lightened or darkened using less functions.
};
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then each app would call &lt;code&gt;.toolbar_main()&lt;/code&gt; with its own color parameters, and get a nice toolbar, customized to that app&#39;s color theme. Again, this is not the only way to do it, but having the ability to generate CSS with highly specific color rules proved to be extremely useful for overriding leaked styles coming from the software that we integrate.&lt;/p&gt;
&lt;h2&gt;State explosion&lt;/h2&gt;
&lt;p&gt;What we didn&#39;t think about at that time was the effect that the proliferation of CryptPad Apps would have on the amount of CSS being generated. We started with just a few styles and just a few apps to apply those styles on.&lt;/p&gt;
&lt;p&gt;&lt;media-tag src=&quot;https://files.cryptpad.fr/blob/ba/baf60fc13e35117c60337bbd93ee1dd43ede9280fe5aa583&quot; data-crypto-key=&quot;cryptpad:9nEx58X4nrmTYmi5i8K8bb6DvTRemmYubZbU1J1dDa0=&quot;&gt;&lt;/media-tag&gt;&lt;/p&gt;
&lt;p&gt;But as we added more and more CryptPad apps, the same CSS was being generated and applied over and over...&lt;/p&gt;
&lt;p&gt;&lt;media-tag src=&quot;https://files.cryptpad.fr/blob/1b/1b5e6189a55efb7ea30ff1cc128597ce76b158fd659d6f45&quot; data-crypto-key=&quot;cryptpad:tvxTuU3P5nqqQ75TMRsjehvOjljlkSGzpZTgrfhgGSg=&quot;&gt;&lt;/media-tag&gt;&lt;/p&gt;
&lt;p&gt;Then as our styles become more complex, the CSS which was being copy/pasted by less compiler became bigger and bigger&lt;/p&gt;
&lt;p&gt;&lt;media-tag src=&quot;https://files.cryptpad.fr/blob/83/8398106a4ee0109630793846cabfdecaa8ee80313cca7e37&quot; data-crypto-key=&quot;cryptpad:qy+1nKYU8sQiQR88IgqyxAfspxZiEN8Q3NkBI2qpPOA=&quot;&gt;&lt;/media-tag&gt;&lt;/p&gt;
&lt;p&gt;The total of all our less code in the entire project was only 235k, and it was compiling to over &lt;strong&gt;1.3 megabytes of CSS&lt;/strong&gt;. We cache the compiled CSS by placing it in &lt;a href=&quot;https://developer.mozilla.org/en/docs/Web/API/Window/localStorage&quot;&gt;localStorage&lt;/a&gt;, but still, every time a new version of CryptPad was released, the CSS needed to be recompiled and this was dominating the loading time.&lt;/p&gt;
&lt;h2&gt;Building a Linker for CSS&lt;/h2&gt;
&lt;p&gt;If you have experience with C/C++, you might recognize this problem. It is as if there was no linker and the only way to reuse code was to use preprocessor &lt;code&gt;#include&lt;/code&gt; over and over again.&lt;/p&gt;
&lt;p&gt;Since by this point, we had a significant amount of Less which was designed this way, rewriting it was not an option, so we started looking for ways to &lt;em&gt;link&lt;/em&gt; it rather than copy/pasting it over and over again. Fortunately most of the bigger mixins only applied rules to specific classes, so moving them up to the root level would not cause trouble, though to be safe, we wanted to only load the styles that were necessary.&lt;/p&gt;
&lt;p&gt;If we would indicate to the javascript code which loaded the Less that a particular Less file was needed, it could be compiled, cached and included &lt;em&gt;separately&lt;/em&gt;, and thus it could be reused across apps. In order to keep the Less API as close to the same as possible, we decided to put that indication inside of the &lt;code&gt;.&amp;lt;filename&amp;gt;_main()&lt;/code&gt; mixin.&lt;/p&gt;
&lt;p&gt;So &lt;code&gt;.dropdown_main()&lt;/code&gt; went from this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.dropdown_main () {
    // all the code here
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;To this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.dropdown_main () {
    --LessLoader_require: LessLoader_currentFile();
};
&amp;amp; {
    // all the code here
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Two important things to note: firstly &lt;code&gt;LessLoader_currentFile()&lt;/code&gt; is a function which we created (as the name implies, it&#39;s defined in &lt;code&gt;LessLoader.js&lt;/code&gt;), it simply expands to the current function name. Secondly, when a less file is included with the &lt;code&gt;reference&lt;/code&gt; flag (e.g. &lt;code&gt;@include (reference) &amp;quot;./dropdown.less&amp;quot;;&lt;/code&gt;) the content is not output but the mixins are made available, so moving the code down to the bottom of &lt;code&gt;dropdown.less&lt;/code&gt; would cause it not to end up in the compilation of &lt;code&gt;app-pad.less&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The resulting CSS from this contains something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;--LessLoader_require: &amp;quot;/customize/src/less/include/dropdown.less&amp;quot;;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;LessLoader would then simply scan for &lt;code&gt;--LessLoader_require:&lt;/code&gt; and trigger loading of those files, which are still parsed by Less, but are the same for every CryptPad app.&lt;/p&gt;
&lt;h3&gt;Parameters with CSS variables&lt;/h3&gt;
&lt;p&gt;In this example, I intentionally left out the parameterized mixins. Solving this was slightly more complicated and in order to do it, we made use of a reasonably new feature in web browsers: &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_variables&quot;&gt;CSS variables&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Today, one can write in CSS the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:root {
    --color-should-be: brown;
}

// potentially much later...
.element {
    color: var(--color-should-be);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;and the element text will be brown. Discovering this was a breakthrough because it meant that the arguments could be turned into variables in &lt;code&gt;app-pad.less&lt;/code&gt; and then made use of in &lt;code&gt;toolbar.less&lt;/code&gt;. However, there are limitations to what you can do with CSS variables. For example, this doesn&#39;t work:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;:root {
    --hack-boolean: 1;
}

// later on...

@media screen and (max-width: calc(var(--hack-boolean) * 100000000)) {
    // HAHAHA I MADE AN IF STATEMENT
    :root { --lets-define-another-variable: &amp;quot;lol&amp;quot;; }
}
&lt;/code&gt;&lt;/pre&gt;
&lt;center&gt;*If this worked, I&#39;d probably be using it*&lt;/center&gt;
&lt;br /&gt;
&lt;h4&gt;Scoped CSS variables&lt;/h4&gt;
&lt;p&gt;What does work, however, is specifying different values of the same variable at different scopes, so this does work:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.my-button { --button-color: red; }
.my-popup-window .my-button { --button-color: blue; }

// later on...

.my-button {
    background-color: var(--button-color);
}
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;But possible uses/abuses of this feature were not investigated.&lt;/p&gt;
&lt;h4&gt;Making it work&lt;/h4&gt;
&lt;p&gt;Following the general principle of &lt;a href=&quot;https://www.joelonsoftware.com/2005/05/11/making-wrong-code-look-wrong/&quot;&gt;keeping the variable definition close to the usage&lt;/a&gt;, we put the variable definitions inside of the &lt;code&gt;.&amp;lt;filename&amp;gt;_main()&lt;/code&gt; mixin and the usages below in the same file. In order to avoid namespace collisons, we prefixed all variables with the name of the file. A simplified version of avatar.less looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.avatar_main(@width) {
    --LessLoader_require: LessLoader_currentFile();
    --avatar-width: @width;
}
&amp;amp; {
    &amp;amp;.cp-avatar {
        ...
        .cp-avatar-default, media-tag {
            width: var(--avatar-width);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;In some cases, we needed to introduce additional variables because of the use of Less functions such as &lt;a href=&quot;http://lesscss.org/functions/#color-operations&quot;&gt;lighten() and darken()&lt;/a&gt;, which obviously cannot work on CSS variables. So we used the following pattern in many places:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.help_main (@color, @bg-color) {
    --LessLoader_require: LessLoader_currentFile();
    @help-bg-color-l15: lighten(@bg-color, 15%);
    @help-text-color: contrast(@help-bg-color-l15, #fff, #000); //@color;
    @help-link-color: contrast(@help-bg-color-l15, lighten(spin(@bg-color, 180), 10%), darken(spin(@bg-color, 180), 10%));

    --help-bg-color-l15: @help-bg-color-l15;
    --help-text-color: @help-text-color;
    --help-link-color: @help-link-color;
};
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;Results&lt;/h3&gt;
&lt;p&gt;After carefully planning and studying solutions, we managed a fairly non-invasive refactoring of the styles which took Less compile time down from almost 3 seconds to around 900ms. For simplistic pages like the front page, the number dropped to around 200ms.&lt;/p&gt;
&lt;p&gt;The key result is that a person who has never seen CryptPad before will see the main page right away instead of waiting 3 or more seconds to compile all the less for the entire project.&lt;/p&gt;
&lt;h2&gt;But wait, what about Internet Explorer ?&lt;/h2&gt;
&lt;p&gt;This question is the bane of many web developers&#39; existance. In this case, the problem is that &lt;a href=&quot;https://developer.microsoft.com/en-us/microsoft-edge/platform/status/csscustompropertiesakacssvariables/&quot;&gt;Internet Explorer has no CSS variables&lt;/a&gt;. Last week we changed CryptPad so that when you use it, your browser will let us know if it doesn&#39;t support CSS variables. This is done using the &lt;a href=&quot;https://blog.cryptpad.fr/2017/07/07/cryptpad-analytics-what-we-cant-know-what-we-must-know-what-we-want-to-know/#What-we-collect-because-we-want-to-know&quot;&gt;feedback mechanism&lt;/a&gt; which is an opt-out collection of information such as how often particular features are used and whether certain things are supported by the browsers of people using CryptPad.&lt;/p&gt;
&lt;p&gt;What we found is that in the past week, we saw about 50 unique users who are running browsers which don&#39;t support CSS variables. With our approximately 4500 unique users per week, this is a little over 1%.&lt;/p&gt;
&lt;h3&gt;Making an acceptable fallback&lt;/h3&gt;
&lt;p&gt;The One Percent jokes asside, it&#39;s hard to justify making CryptPad 300% slower for everyone who tries it for the first time, just to satisfy about 1% of the userbase. But at the same time, it&#39;s sad to drop support for a browser which at the current moment does work with CryptPad.&lt;/p&gt;
&lt;p&gt;The solution we devised was to specify default values and then override them.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;    .cp-markdown-toolbar {
        ...
        button {
            // IE sees this (variable compiled by less)
            color: @toolbar-color;
            
            // everyone else sees this
            color: var(--toolbar-color);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The only question remaining was how to specify the defaults in a way that was simple for us when we worked on the less files. Most of our &lt;code&gt;.&amp;lt;filemane&amp;gt;_main()&lt;/code&gt; parameterized mixins already had default values in case they were called without parameters, so we already knew what sane defaults would be. What we decided to do was create a new mixin called &lt;code&gt;.&amp;lt;filename&amp;gt;_vars()&lt;/code&gt;, which would assign a set of Less variables based on the arguments.&lt;/p&gt;
&lt;p&gt;The final result looked like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;.help_vars (
    @color: @colortheme_default-color,
    @bg-color: @colortheme_default-bg
) {
    @help-bg-color-l15: lighten(@bg-color, 15%);
    @help-text-color: contrast(@help-bg-color-l15, #fff, #000); //@color;
    @help-link-color: contrast(@help-bg-color-l15, lighten(spin(@bg-color, 180), 10%), darken(spin(@bg-color, 180), 10%));
}
.help_main (@color, @bg-color) {
    --LessLoader_require: LessLoader_currentFile();
    .help_vars(@color, @bg-color);
    --help-bg-color-l15: @help-bg-color-l15;
    --help-text-color: @help-text-color;
    --help-link-color: @help-link-color;
};
&amp;amp; {
    .help_vars();
    .cp-help-container {

        position: relative;
        background-color: @help-bg-color-l15;
        background-color: var(--help-bg-color-l15);
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Going through it step-by-step, the &lt;code&gt;.help_vars()&lt;/code&gt; mixin takes parameters but it defines default values, then it creates some Less variables which are accessed after it is used. &lt;code&gt;.help_main()&lt;/code&gt; calls &lt;code&gt;.help_vars()&lt;/code&gt; and passes it arguments, then takes it&#39;s results and assigns them to CSS variables. Then the main block of the Less file also calls &lt;code&gt;.help_vars()&lt;/code&gt; but without any arguments, so the defaults are used. Then in the main block, each usage of a CSS variable also has the usage of the less variable. The less variable provides the default value, the one which IE will see, and then the CSS variable provides the specified value, the one which will be different per CryptPad application.&lt;/p&gt;
&lt;h2&gt;There you have it&lt;/h2&gt;
&lt;p&gt;Every Less file now gets loaded twice, first it is loaded by the &lt;code&gt;@include (reference)&lt;/code&gt; call, where it is parsed in order to expose the &lt;code&gt;.&amp;lt;filename&amp;gt;_main()&lt;/code&gt; mixin, then it is loaded a second time as an independent file. Importantly, however, once it is compiled it is stored into localStorage and the toolbar CSS which is compiled when you go to the Rich Text app is the exact same CSS which will be used when you go to the Code/Markdown app. This feature is available in the &lt;code&gt;staging&lt;/code&gt; branch of the CryptPad project and will be on &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; in the next release.&lt;/p&gt;
&lt;p&gt;We could make it even faster, by separating the main content of the Less files from the &lt;code&gt;.&amp;lt;filename&amp;gt;_vars()&lt;/code&gt; and &lt;code&gt;.&amp;lt;filename&amp;gt;_main()&lt;/code&gt; mixins, essentially making header files, in C/C++ parlance. And if we find in future profiling that less compiling remains a signficant performance penalty, there&#39;s a good chance that we will.&lt;/p&gt;
</content>
    <category term="performance" scheme="https://blog.cryptpad.org/tags/performance/"/>
    <category term="css" scheme="https://blog.cryptpad.org/tags/css/"/>
  </entry>
  <entry>
    <title>CryptPad Roadmap</title>
    <link href="https://blog.cryptpad.org/2018/07/13/CryptPad-Roadmap/"/>
    <updated>2018-07-13T12:41:04Z</updated>
    <id>https://blog.cryptpad.org/2018/07/13/CryptPad-Roadmap/</id>
    <summary xml:lang="en" type="html">CryptPad was started as an experimental platform as part of the OpenPaaS::NG research project. Since then it has developed into a suite of editors for many different types of documents, all without ever leaking the content that you edit to the server or the server operators.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;CryptPad was started as an experimental platform as part of the &lt;a href=&quot;http://ng.open-paas.org/&quot;&gt;OpenPaaS::NG research project&lt;/a&gt;. Since then it has developed into a suite of editors for many different types of documents, all without ever leaking the content that you edit to the server or the server operators. Now, in order to keep the project moving, we need your help.&lt;/p&gt;
&lt;p&gt;We have created a roadmap of the features which we would like to develop over the next year and &lt;strong&gt;we&#39;re hoping to raise 60,000€&lt;/strong&gt; to finance it. Fortunately, &lt;strong&gt;XWiki SAS is willing to match your donations euro-for-euro&lt;/strong&gt;. XWiki SAS is a company with open source at its heart and it was the company where CryptPad was first envisioned. XWiki SAS normally sells days of development time at about 1,000€ each, but since this project is dear to our hearts, we are also discounting the structure costs (things like the office and business taxes) for this project. &lt;strong&gt;We believe in CryptPad, but in order to succeed, we need you to believe in it too&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;The following is a 48 week roadmap which will fund one developer to work on CryptPad. You can donate to this roadmap on &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;https://opencollective.com/cryptpad&lt;/a&gt; or on &lt;a href=&quot;https://accounts.cryptpad.fr/#/donate&quot;&gt;https://accounts.cryptpad.fr/#/donate&lt;/a&gt;, if you would like to make a donation by wire transfer or by cryptocurrency, please get in touch with us at &lt;a href=&quot;mailto:sales@cryptpad.fr&quot;&gt;sales@cryptpad.fr&lt;/a&gt; and if you are involved in EU research projects and would like to work with us and this cutting edge Privacy Enhancing Technology, please contact &lt;a href=&quot;mailto:research@xwiki.com&quot;&gt;research@xwiki.com&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Goal 1 - Spreadsheets &amp;amp; Office Documents&lt;/h1&gt;
&lt;p&gt;CryptPad is excellent for quick editing of meeting notes and plans, and it is able to store and view images and PDF files, but it does not allow editing of more complex types of files such as spreadsheets and word documents. Fortunately there is an open source web-based editor called OnlyOffice which allows editing these complex document types, but it is a highly complex piece of software and we will need time and effort to integrate it into CryptPad. Even after it is fully integrated, the conversion of xlsx files to OnlyOffice&#39;s internal format will still need to be carried out be specialized software either on the user&#39;s computer, or on a cloud service (not Zero-Knowledge!). However, we think that editing of spreadsheets and other documents in OnlyOffice is achievable without leaking any of the content back to the CryptPad server, so your spreadsheets will remain a secret.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Spreadsheets, documents and presentations in CryptPad&lt;/li&gt;
&lt;li&gt;Realtime collaborative editing of office documents&lt;/li&gt;
&lt;li&gt;No import/export for now, this will come later&lt;/li&gt;
&lt;li&gt;No embedding of images from CryptPad until later&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect office file editing will take &lt;strong&gt;30 days, a cost of €7,500&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 2 - Comments on Rich Text Pads&lt;/h1&gt;
&lt;p&gt;Many people use a workflow which includes the use of comments in a document. This is already standard in Google Docs and we need to be able to support it in CryptPad, in order to add comments we will need to add some HTML into the document without causing any problems for CKEditor (our rich text editor) and without causing it to be treated as part of the pad and synced over the wire.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;In the rich text pad, you will be able to add a comment by selecting some text, right clicking it and clicking &amp;quot;add comment&amp;quot;&lt;/li&gt;
&lt;li&gt;Comments will be shown in the right margin and associated with the text which highlighted them&lt;/li&gt;
&lt;li&gt;Comments will be able to be replied to, or &amp;quot;resolved&amp;quot; (they will no longer be shown, but still be visible in history of the document)&lt;/li&gt;
&lt;li&gt;If you delete the text with which a comment was associated, the comment will automatically be resolved&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect Comments on Rich Text Pads to take about &lt;strong&gt;10 days of development, a cost of €2,500&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 3 - Contacts and Messaging&lt;/h1&gt;
&lt;p&gt;To be able to easily share documents and get the attention of a person, we would like to implement Contacts and Messaging in CryptPad, currently we have a rudimentry implementation which allows chatting with contacts, but the contact request feature needs to be stabilized with a better process for contact requests, better integration with pad-sharing menu and more clear notifications. We would also like to add a small chat window in each document so that everyone working on that document can chat about it. Finally, we would like to add the ability to at-reference someone when writing a comment on a pad, which will cause a message to be sent to them.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;The share menu will include a list of contacts with whom you can share the pad&lt;/li&gt;
&lt;li&gt;You will be able to email somebody a link which will invite them to become a contact of yours&lt;/li&gt;
&lt;li&gt;Messages (pads shared with you, comments referencing you) will be shown in the upper-right when you come to CryptPad&lt;/li&gt;
&lt;li&gt;When writing a comment (Goal 2), you will be able to at-reference a contact (with auto-complete) and they will be notified&lt;/li&gt;
&lt;li&gt;Replying to (and resolving) a comment will also cause the author of the comment and anyone who replied to be notified&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect Contacts and Messaging to take about &lt;strong&gt;20 days of development, a cost of €5,000&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 4 - Shared Drive&lt;/h1&gt;
&lt;p&gt;When planning a significant project, often there is the need to have many pads for the different aspects of the project. Currently all of the collaborators on the project must share all of the pad links with each other and they must each organize them in their personal drives. Personal drive organization is a nice feature because it allows each person to organize their work the way that makes the most sense to them, but sometimes it is more advantageous to have a folder in everybody&#39;s drive which contains pads that are shared between all of them.&lt;/p&gt;
&lt;p&gt;Shared folders are complicated to implement. Unlike your personal drive which is just one realtime object (essentially it&#39;s a pad), each shared folder must be a separate realtime object. Also, like a user account, a shared folder must be able to own pads, otherwise pads in that folder which are not in anyone&#39;s personal drive risk being deleted by the server as per our expiration policy.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You will be able to create a shared drive, just like you create a pad&lt;/li&gt;
&lt;li&gt;In your drive, you will be able to explore inside of the shared drive and organize it just like a folder&lt;/li&gt;
&lt;li&gt;You will be able to share the link to the Shared Drive with other people, when they click the link, it will import the shared drive into their personal drive&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect Shared Drive to take about &lt;strong&gt;20 days of development, a cost of €5,000&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 5 - Federated Messaging&lt;/h1&gt;
&lt;p&gt;There are about 150 CryptPad instances in existence, operated by people and organizations who want the privacy which CryptPad offers and also the additional security guarantee, decentralization and customization of their own instance. We want to support this usage while still allowing people on one instance to chat and message people on another instance. We want to support the ability to add contacts (Goal 3) with people registered on a different instance. You will then be able to at-reference them in a comment or share a pad with them using the share menu as you would with a person using the same instance as you.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When you are on a pad or shared folder on somebody else&#39;s instance, you will be able to import it to your instance&lt;/li&gt;
&lt;li&gt;Clicking a link to become a contact will work, even if you are registered on a different instance&lt;/li&gt;
&lt;li&gt;Once you have made a contact, all features in Contacts and Messaging will function across instances&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect Federated Messaging to take about &lt;strong&gt;30 days of development, a cost of €7,500&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 6 - Better permissions&lt;/h1&gt;
&lt;p&gt;Initially, all pads were &amp;quot;open&amp;quot; pads, meaning they were accessible to anyone and there was no owner. Open pads are deleted automatically when they have not been touched in 3 months, unless a registered user has a reference to them. Once we added the ability to have registered users, we needed to make sure that users would not have the pads in their drive disappear off the server, so we implemented what we call pinning. Pinning is a way of claiming that a pad is important to you and that it should not be deleted. However, this left a problem, still pads had no owner, meaning nobody had the right to delete them. Once a pad was created, there was no way to delete it which was a serious problem for pads contining confidential information.&lt;/p&gt;
&lt;p&gt;In order to allow pads to be deleted, we implemented &lt;em&gt;owned pads&lt;/em&gt;, and the splash screen registered users now see when they create a new pad. So now you can delete it from the server when you are done with it. However, two problems remain:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;The owner of a pad is the person who created it and there is no way to add owners or share ownership&lt;/li&gt;
&lt;li&gt;There is no way to revoke access once it has been given&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;In order to solve #1, we will add the ability to share ownership with other people. For solving #2 in a Zero-Knowledge compatible way, we will need to introduce the concept of redirects, links which re-direct to the actual ID and key of the pad. Revoking access will be a matter of changing the pad&#39;s ID and then updating all of the redirects which are &lt;em&gt;not&lt;/em&gt; to be revoked. This will allow the creation of pads which can only be viewed by registered users who are invited. Even view-only links to a pad will be able to be revoked by the owners of that pad.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pads which are only accessible by people invited, or members of a group&lt;/li&gt;
&lt;li&gt;Grant and revoke access&lt;/li&gt;
&lt;li&gt;Create new links to a pad, and revoke them&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect better permissions will take about &lt;strong&gt;40 days of development, a cost of €10,000&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 7 - Color-by-author&lt;/h1&gt;
&lt;p&gt;After something is typed into a pad, the person who typed cannot be determined, we would like to change this and allow the etherpad-like behavior of shading the text differently based on who typed it. This will require getting the author from each patch in the stream of changes to the pad and making it available to the pad structure. In CryptPad there is a special message type which is called a checkpoint, it replaces the entire pad so that when a new person arrives in the pad, they don&#39;t need to download more history than the previous 2 checkpoints. We will need to take special care to preserve the editor of each piece of the document when we create checkpoints, finally we will need to be able to shade the text based on it&#39;s author, without either messing up CKEditor or causing the shading to be sent over the wire as if it were part of the pad.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;When an option is selected, text in the rich text app will be shaded with a color based on the author of that text&lt;/li&gt;
&lt;li&gt;The user list will show users who have joined and then left again, along with the color of their changes&lt;/li&gt;
&lt;li&gt;Right-clicking on the text will show the name of the person who wrote it (including whether they are one of your contacts)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect Color-by-author to take about &lt;strong&gt;20 days of development, a cost of €5,000&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 8 - Offline and Suggested Edits&lt;/h1&gt;
&lt;p&gt;Like color-by-author, Offline and Suggested Edits is a reasonably complicated feature to implement. When working on a complex document, it is nice to be able to propose a change without actually changing the document, or make a change while disconnected from the internet and then have someone (maybe you) merge it later. However, this is complicated because when it comes time to merge that change, the document may have significantly changed, necessitating a smart merge.&lt;/p&gt;
&lt;p&gt;Rich text pads in CryptPad are stored in a quazi-html representation so patching and merging is anything but simple. The operational transformation done normally on pads takes advantage of the fact that divergences are small and infrequent so merging usually works ok. This feature will require development of a smart merging algorithm for the rich text app as well as for any other app for which one would like to have suggested edits and offline.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Suggestion mode, your change is shown shaded and can be accepted or rejected, it will be attached to a comment so you can explain it&lt;/li&gt;
&lt;li&gt;When offline, you are automatically put into suggestion mode instead of read-only mode&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect Offline and Suggested Edits to take &lt;strong&gt;40 days of development, a cost of €10,000&lt;/strong&gt;&lt;/p&gt;
&lt;h1&gt;Goal 9 - All the little things&lt;/h1&gt;
&lt;p&gt;Even though it doesn&#39;t get a lot of press, a significant amount of time is spent just fixing bugs, handling pull requests and doing releases. We want to keep CryptPad a community project and so we want to make sure that when someone makes a pull-request to the project, that request can be properly handled. Also, because CryptPad makes such use of modern HTML5 features, new releases of Chrome and Firefox typically introduce new bugs in CryptPad. There is rarely enough time to handle all of the issues which crop up, but we need to allocate time to handle some of them. This roadmap allocates the time of one person for 48 weeks, which means 24 releases, we need at least 1 day per release just to perform the release and write the release notes and fix miscellanious issues which appear.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Keep on fixing bugs in CryptPad&lt;/li&gt;
&lt;li&gt;Handle pull requests and make releases&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We expect all the little things to take &lt;strong&gt;30 days of development, a cost of €7,500&lt;/strong&gt;&lt;/p&gt;
</content>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
  </entry>
  <entry>
    <title>CryptPad #ZeroKnowledge Free Software needs funding</title>
    <link href="https://blog.cryptpad.org/2018/07/06/CryptPad-ZeroKnowledge-Free-Software-needs-funding/"/>
    <updated>2018-07-06T14:37:18Z</updated>
    <id>https://blog.cryptpad.org/2018/07/06/CryptPad-ZeroKnowledge-Free-Software-needs-funding/</id>
    <summary xml:lang="en" type="html">On October 31, 2014 the CryptPad project was first published, back then it was nothing more than a simple rich text pad and a horribly ugly front page.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;a href=&quot;http://blog.ludovic.org/xwiki/bin/view/Blog/Aidez%20le%20projet%20libre%20CryptPad&quot;&gt;Version française ? 🇫🇷&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;On October 31, 2014 the CryptPad project was first published, back then it was nothing more than a simple rich text pad and a horribly ugly front page. Since then the project has blossemed with financing from &lt;a href=&quot;https://www.xwiki.com/en/&quot;&gt;XWiki SAS&lt;/a&gt; and the &lt;a href=&quot;https://open-paas.org/&quot;&gt;OpenPaaS::NG&lt;/a&gt; research project.&lt;/p&gt;
&lt;p&gt;Now we are turning a corner, the OpenPaaS::NG project will end in April of 2019 and in order to keep improving, CryptPad will need new sources of funding.&lt;/p&gt;
&lt;p&gt;Until now, the vast majority of CryptPad code has been developed by XWiki SAS and with the future of research financing in question, we want to be completely clear about our intentions. We don&#39;t want to take financing that is incompatible with the open spirit of CryptPad so while we will look for research projects, subscriptions and donations, we want to maintain the community spirit of CryptPad.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;We will continue to host&lt;/strong&gt; &lt;a href=&quot;https://cryptpad.fr/:&quot;&gt;https://cryptpad.fr/:&lt;/a&gt; We want to thank everyone who has subscribed to paid accounts, with your support (currently 1,5K/year) this server pays for itself and we consider this a valuable public service which should continue.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;XWiki SAS will continue to fund the team through the OpenPAAS project till the end of the project&lt;/strong&gt;. Following this our intention is to try to keep at least 1 developer active on the project (50,000€ per year) using alternative funding or through new research projects. If we can&#39;t find a research project we&#39;ll evaluate our capacity to keep it alive based on the subscriptions and contributions we have received.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;We will begin making the CryptPad finances public&lt;/strong&gt;: All of the money that comes in and goes out of the CryptPad project, including the money paid by subscriptions to &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;https://cryptpad.fr/&lt;/a&gt; will be published so that you can see how the project earns and spend money, and be convinced that it&#39;s worth supporting us. You will be able to follow the project&#39;s finances by going to &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;CryptPad on OpenCollective&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Currently, the funding from our subscriptions and donations is not enough to finance even one developer, nevermind the present team of two. We need your help to grow this revenue through April 2019 and show that this can take over funding even if we don&#39;t find a research project before then. All revenue received till April 2019 will be used to fund development after April 2019.&lt;/p&gt;
&lt;h2&gt;What we would like to do&lt;/h2&gt;
&lt;p&gt;So far, we have not been very transparent about our roadmap, we have a &lt;a href=&quot;https://cryptpad.fr/code/#/1/view/R1kZC1mY9khSsrLCyJT+CA/t5Eey4SVS+TpaZWmhrCTvIP50IzX7GR4gnud9UclR6Y/present/&quot;&gt;tech tree&lt;/a&gt; which shows in simple terms what features we would like to have and what technologies need to be developed in order to get those features working.&lt;/p&gt;
&lt;p&gt;In the medium term, we would like to see CryptPad evolve into a generic platform with installable apps, a cryptographically enforced access control system, and federation with PGP-compatible messaging.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Installable Apps&lt;/strong&gt;: There are not a lot of differences between the rich text pad, the code pad, the slide deck and the kanban board. They are all layered on top of the same CryptPad base infrastructure, but still it is not possible to create a new one without changing a few things in the CryptPad core. We would like to change this so that a new app can be added without changing anything else.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cryptographically enforced Access Controls&lt;/strong&gt;: Initially CryptPad had a very simple access control system, you share the link and that shares the pad. We added the ability to &lt;em&gt;publish&lt;/em&gt; pads via read-only links and to assign a password to a pad, but we still don&#39;t have the ability to share a pad with a group of people, or importantly, revoke access once it has been given. Traditional access controls are simple because the server is trusted to give and revoke access, however with CryptPad the server doesn&#39;t have access to begin with so it must be done cryptographically. In the context of federation, cryptographic access controls are even more important since servers in the network can be run by anybody.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Federation and Messaging&lt;/strong&gt;: The weakness in CryptPad security has always been securely sharing the pad link. Today there are about 150 CryptPad instances installed around the world, and we would like to allow people on different instances to share pads and send eachother messages. Furthermore, since we already have client-side encryption, we could easily extend messaging to support PGP for sharing of pad links and messages.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Fundamentally, our goal is as it always has been, to promote Zero Knowledge and an alternative to the Google Docs / Office365 hegemony on cloud office technology. However, this is not something we can do alone, we will need your help to move it forward.&lt;/p&gt;
&lt;h2&gt;How you can help&lt;/h2&gt;
&lt;p&gt;You can help CryptPad in a number of ways, if you&#39;re a programmer then you can contribute code, if you&#39;re a philanthropist and believe in these ideas then you can finance the roadmap or finance just particular features. What everyone can do is use CryptPad and spread the word and show people that it is possible to collaboratively edit documents without giving all the data to the server admins.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Contribute code&lt;/strong&gt;: If you are a programmer and you are using CryptPad, help make it better, talk to us about what you would like to do with CryptPad and we will do our best to find a way that your code can be integrated.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Take a subscription&lt;/strong&gt;: Every subscription helps bring a little more money into the project and this will be re-invested to make the CryptPad project better. Every subscription we get makes us believe more in the project we do and the ability to make it financially sustainable. &lt;a href=&quot;https://accounts.cryptpad.fr/&quot;&gt;Subscribe&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sponsor a feature&lt;/strong&gt;: This is one of the best ways to make sure CryptPad will improve because you can both help the project and help guide the project roadmap at the same time.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get support&lt;/strong&gt;: If you&#39;ve installed your own CryptPad in a business setting, you can get support for your installation and also help foster development of the project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Just donate&lt;/strong&gt;: If you don&#39;t know what to sponsor, if you don&#39;t need a subscription, or if you want to sponsor more than the value of a subscription, just donate ! Even if it is not a lot of money, this is important to us as it allows to prove that the project matters. &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;Donate on opencollective.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Get us in a funded research project&lt;/strong&gt;: If you are a research organization or have experience with getting European research funding, particularly in a security oriented project, get us on board to participate in the project. This will allow us to fund the project.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Spread the word&lt;/strong&gt;: The more CryptPad is used and the more it&#39;s known, the more we can convince potential financers to fund the project, this is also proves that people are interested in it. &lt;a href=&quot;https://twitter.com/intent/tweet?text=Check%20out%20the%20%40CryptPad%20project%2C%20it%27s%20an%20open%20source%20collaborative%20editor%20and%20drive%20and%20it%27s%20end-to-end%20encrypted%20so%20the%20server%20sees%20nothing.%20%23e2ee%20%23ZeroKnowledge&quot;&gt;Tweet about CryptPad&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To see information about our budget and goals and to make a donation, check out &lt;a href=&quot;https://opencollective.com/cryptpad&quot;&gt;CryptPad on OpenCollective&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Come have a chat&lt;/h2&gt;
&lt;p&gt;We&#39;re on &lt;a href=&quot;https://twitter.com/cryptpad&quot;&gt;Twitter&lt;/a&gt; and &lt;a href=&quot;http://social.weho.st/@cryptpad&quot;&gt;Mastodon&lt;/a&gt; and we have a CryptPad &lt;a href=&quot;https://riot.im/app/#/room/#cryptpad:matrix.xwiki.com&quot;&gt;chat room on Matrix&lt;/a&gt;. Come talk with us and participate to help with the project.&lt;/p&gt;
&lt;p&gt;If you are a Web or Research professional, are intereted in our objectives and have experience in research, come talk to us as &lt;a href=&quot;https://www.xwiki.com/en/jobs/research-and-development-lead&quot;&gt;we&#39;re interested in hiring a person&lt;/a&gt; to help us win and execute research projects and guide CryptPad to make it functionally and economically successful.&lt;/p&gt;
</content>
    <category term="zero knowledge" scheme="https://blog.cryptpad.org/tags/zero knowledge/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
  </entry>
  <entry>
    <title>Faster loads with SharedWorker &amp; ServiceWorker</title>
    <link href="https://blog.cryptpad.org/2018/06/22/Faster-loads-with-SharedWorker-ServiceWorker/"/>
    <updated>2018-06-22T21:21:58Z</updated>
    <id>https://blog.cryptpad.org/2018/06/22/Faster-loads-with-SharedWorker-ServiceWorker/</id>
    <summary xml:lang="en" type="html">When CryptPad was first created, the only thing to load was the CryptPad code itself and the pad which you were editing. Recently edited pads were remembered in the browser&#39;s localStorage which was not portable between computers but allowed some recent history to be kept.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;When CryptPad was first created, the only thing to load was the CryptPad code itself and the pad which you were editing. Recently edited pads were remembered in the browser&#39;s &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage&quot;&gt;localStorage&lt;/a&gt; which was not portable between computers but allowed some recent history to be kept.&lt;/p&gt;
&lt;p&gt;However, we wanted to allow people to login and manage their pads on all of their devices so we created the CryptDrive. Anyone who has used CryptPad but never logged in is encouraged to &lt;a href=&quot;https://cryptpad.fr/register&quot;&gt;register and login&lt;/a&gt; (it&#39;s free) and check out their drive. CryptDrive is basically just a realtime pad containing a JSON structure with links to all of your pads as well as their titles and other information. When you update the title of a pad, it changes the pad itself but it also changes your drive so that you can see the title of the pad in your drive. This is of course not perfect because if someone else changes the title of a pad, your drive will not be updated until you look at the pad again, but doing everything with the server completely blind to the content isn&#39;t easy, and this works reasonably well.&lt;/p&gt;
&lt;p&gt;However, CryptDrive causes an additional delay when loading CryptPad because whenever you load a document, you are actually loading two realtime instances. Since the drive is loaded over and over for every pad you view, it was obvious to us that we could make it more efficient using communication inside the browser.&lt;/p&gt;
&lt;h2&gt;First idea: Messages between tabs&lt;/h2&gt;
&lt;p&gt;Tabs (or windows) in a browser which are on the same website are able to &lt;a href=&quot;http://krasimirtsonev.com/blog/article/Using-Local-Storage-as-a-communication-channel&quot;&gt;communicate using localStorage&lt;/a&gt; and so it seemed like a good solution to just have one tab claim the role of managing the drive and then when another tab is opened, it would message the first. However, this seemingly easy solution becomes a nightmare when you consider what happens when that tab is closed. The drive that everyone is relying on goes away and all of the other tabs are without a drive so they need to &lt;a href=&quot;https://martin.kleppmann.com/2016/02/08/how-to-do-distributed-locking.html&quot;&gt;flip a coin&lt;/a&gt; to decide which tab should become the keeper of the drive, then that tab needs to download the drive before it can service events, all the while any of the buttons which affect the drive (for instance deleting the pad) cannot possibly function. This idea was soon scrapped...&lt;/p&gt;
&lt;h2&gt;Enter ServiceWorker&lt;/h2&gt;
&lt;p&gt;Recently, the HTML5 working group created a new standard called &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/ServiceWorker&quot;&gt;ServiceWorker&lt;/a&gt; which for someone making a webapp seems like a dream come true. ServiceWorkers:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Are side-processes which are created one-per-website and live in the background.&lt;/li&gt;
&lt;li&gt;Can intercept HTTP requests from your main javascript (excellent for caching!).&lt;/li&gt;
&lt;li&gt;Is suspended when the last tab is closed, and re-launched when the user returns.&lt;/li&gt;
&lt;li&gt;Are stored in suspended state even when the browser is turned off.&lt;/li&gt;
&lt;li&gt;Supported by &lt;a href=&quot;https://caniuse.com/#search=serviceworker&quot;&gt;every modern browser&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When the website loads a worker, if the worker is already running it will not load and will instead defer to the existing worker. Communicating between workers and tabs which are on the website is possible via a &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/Client/postMessage&quot;&gt;postMessage()&lt;/a&gt; API and then the ServiceWorker can postMessage() which will reach all tabs that are navigated to the website.&lt;/p&gt;
&lt;p&gt;One limitation of this design is versioning. Because the ServiceWorker would stay alive potentially forever, we needed to identify a way to upgrade it if a new version of CryptPad is released. This is quite important for CryptPad as version mismatches can lead to catastrophic conflicts between different browsers working on the same document.&lt;/p&gt;
&lt;p&gt;Though updating is non-trivial, we were able to solve it by sending version messages between different components of CryptPad and informing them whether they need to update (or even if they can &lt;em&gt;optionally&lt;/em&gt; update). Since this seemed like a solvable problem, we tried creating an experimental implementatiton of ServiceWorkers in CryptPad, and then the fun started...&lt;/p&gt;
&lt;h3&gt;ServiceWorkers in Firefox&lt;/h3&gt;
&lt;p&gt;Since Firefox 48, Firefox has begun following Chrome&#39;s model and running &lt;a href=&quot;https://developer.mozilla.org/en-US/Firefox/Multiprocess_Firefox&quot;&gt;different processes&lt;/a&gt; for rendering the different tabs in the browser. However, this isolation has a side-effect that when you attempt to launch a ServiceWorker, it &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1438945&quot;&gt;may launch even though one already exists for the same website&lt;/a&gt;, because the other one exists in a different tab which happens to be operating in a different process. However, the postMessage() requests from tabs go out to all of the ServiceWorkers so this bug can be worked around.&lt;/p&gt;
&lt;p&gt;Unfortunately we encountered some more issues with Firefox which we found not worth debugging. Our CryptDrive is a Javascript object which is represented in the encrypted realtime document as JSON and there is an ES6 &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy&quot;&gt;Proxy&lt;/a&gt; object in order to allow every change to the drive to be propagated to the underlying realtime object. In Firefox the proxy did not work when used in a ServiceWorker and at times our ServiceWorker simply stopped running.&lt;/p&gt;
&lt;h3&gt;Reporting bugs in browsers&lt;/h3&gt;
&lt;p&gt;One might think these are great opportunities to report issues with Firefox, and when we find an &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1434278&quot;&gt;issue which we think will affect lots of people&lt;/a&gt; especially if it is a regression, we don&#39;t hesitate to report it, but usually it is not clear how to reproduce the issue, whether there might be some error in our usage of the API which is being smoothed over by Chrome, or whether the component being reported on is a priority, in that case rather rain low quality bug reports down upon the poor browser developers, we spend our limited time trying to make CryptPad better. In the case of ServiceWorker in Firefox, our conclusion is that in effect the technology remains experimental and shouldn&#39;t be relied upon.&lt;/p&gt;
&lt;h2&gt;SharedWorker to the rescue&lt;/h2&gt;
&lt;p&gt;Fortunately there is another technology called &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/API/SharedWorker&quot;&gt;SharedWorker&lt;/a&gt; which is essentially identical to a plain vanilla WebWorker but can communicate with all tabs which are navigated to the site. Unfortunately this technology is only supported in &lt;a href=&quot;https://caniuse.com/#feat=sharedworkers&quot;&gt;Chrome and Firefox&lt;/a&gt;, but the support for this technology, we found, really works!&lt;/p&gt;
&lt;p&gt;However, Firefox still has the &lt;a href=&quot;https://bugzilla.mozilla.org/show_bug.cgi?id=1438945&quot;&gt;issue&lt;/a&gt; with of multiple SharedWorkers being created for multiple tabs, but since this issue is fixable we were able to go ahead with it anyway. For browsers which have no SharedWorker, they would fallback to plain old WebWorker. Though this seems like it would be a problem, it is in fact quite fine because actions done in the drive by another WebWorker are the same as actions done in the drive by another device, they need to be encrypted and sent to the server in order to persist anyway.&lt;/p&gt;
&lt;h2&gt;Faster CryptPad&lt;/h2&gt;
&lt;p&gt;Coming in the release on Tuesday June 26, 2018, we will have a new SharedWorker based CryptPad instance, that means when you use Chrome or Firefox, the first time you open CryptPad, it will load your drive, but then every tab you open after that will communicate with the SharedWorker managing the drive and therefore pads will load nearly twice as fast.&lt;/p&gt;
</content>
    <category term="web worker" scheme="https://blog.cryptpad.org/tags/web worker/"/>
    <category term="shared worker" scheme="https://blog.cryptpad.org/tags/shared worker/"/>
    <category term="performance" scheme="https://blog.cryptpad.org/tags/performance/"/>
  </entry>
  <entry>
    <title>Signing CryptPad</title>
    <link href="https://blog.cryptpad.org/2018/06/15/Signing-CryptPad/"/>
    <updated>2018-06-15T12:07:05Z</updated>
    <id>https://blog.cryptpad.org/2018/06/15/Signing-CryptPad/</id>
    <summary xml:lang="en" type="html">CryptPad was designed with a view that privacy should be default and cryptography should be invisible. In order to do this, we made use of the web-app model so people could just go to cryptpad.fr and immediately begin using the app, no installation necessary. However, this model has a known flaw...</summary>
    <content xml:lang="en" type="html">&lt;p&gt;CryptPad was designed with a view that privacy should be default and cryptography should be invisible. In order to do this, we made use of the web-app model so people could just go to &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; and immediately begin using the app, no installation necessary. However, this model has a known flaw, the server can decide what client-side code it will send to any given user, allowing a compromized server to serve code with a back-door vulnerability.&lt;/p&gt;
&lt;p&gt;Recently, I did an experiment to make CryptPad more secure against these types of attacks by signing the code. CryptPad is a unique webapp, even without considering the encryption aspect. There is no build system, the code we write is exactly the same as what your web browser runs. All of the CryptPad html, javascript and resources are static files which are served by a plain old web server. The data persistance is managed by an API server which the web browser communicates with using an HTML5 WebSocket. Finally, in order to add a layer of security against possible Cross Site Scripting attacks, CryptPad makes use of a &lt;a href=&quot;https://blog.cryptpad.fr/2017/08/30/CryptPad-s-new-Secure-Cross-Domain-Iframe/&quot;&gt;cross domain iframe&lt;/a&gt;, protecting your encryption keys from the majority of the CryptPad code in the same way that your online bank is protected from that sketchy porn site open in another tab.&lt;/p&gt;
&lt;p&gt;Since CryptPad has no build system, there are many small javascript files which must be loaded. To do this, CryptPad uses &lt;a href=&quot;http://requirejs.org/&quot;&gt;RequireJS&lt;/a&gt;. While many small files are generally considered to be bad for website performance, RequireJS uses the HTML5 &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/HTML/Element/script&quot;&gt;async attribute&lt;/a&gt; to tell the browser not to block loading of other things while waiting for the scripts to load. Secondly, RequireJS also allows version numbers to be added to the script URLs which allows us to cache almost everything in the browser. Finally, we use the &lt;a href=&quot;https://en.wikipedia.org/wiki/HTTP/2&quot;&gt;HTTP/2&lt;/a&gt; protocol to serve resources because it allows multiple requests to be sent at the same time, while HTTP/2 is incompatible with WebSocket, this is ok because the web-app is served from a different server from the API server.&lt;/p&gt;
&lt;h2&gt;Chain of Trust&lt;/h2&gt;
&lt;p&gt;Just one corrupted script is enough to render the security of an entire web-app useless, so in CryptPad we needed the signing to cover all javascript files. Fortunately there is a new HTML5 technology called &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity&quot;&gt;Subresource Integrity&lt;/a&gt; which allows putting the hash of a script in a script tag attribute and makes the browser verify the script before executing it.&lt;/p&gt;
&lt;p&gt;Insecure, some.website can serve you anything:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script
  src=&amp;quot;https://some.website/path/to/script.js&amp;quot;
&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Secure, only one possible script can be sent by some.website or else the web browser will throw an error and refuse to run the script:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script
  src=&amp;quot;https://some.website/path/to/script.js&amp;quot;
  integrity=&amp;quot;sha256-G1KwaJYUEDsA1SD/6Wt4z0laskKzIwgqgs5cYH0CW/o=&amp;quot;
&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;So rather than signing every script, I only needed to make a list of hashes of every script, and sign that. What I needed was a way to generate a &lt;em&gt;manifest&lt;/em&gt;, and so I developed a small program which could hash all of the javascript files in CryptPad and generate a manifest file. The content of the manifest looks something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;quot;files&amp;quot;: {
  &amp;quot;assert&amp;quot;: {
    &amp;quot;frame&amp;quot;: {
      &amp;quot;frame.js&amp;quot;: &amp;quot;BrN2JNnK4QJCztw3PyRRPAsEwSq5lczTBrRkzdLAFow=&amp;quot;,
      &amp;quot;respond.js&amp;quot;: &amp;quot;yO0KFMHiCdE1fXFWPVaFB+Mmh37OCl/UNPpXrYtWF7A=&amp;quot;
    },
    &amp;quot;main.js&amp;quot;: &amp;quot;ABf3uhmYVHWaHX6vhK8K2jAUY8XqRjjMJ2FqXVGLZE0=&amp;quot;,
    &amp;quot;translations&amp;quot;: {
      &amp;quot;main.js&amp;quot;: &amp;quot;50Ami2eghyXcGKGYTaDK1vUeEuAEG7kcpvUoCKbUaUU=&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It contains a JSON tree which mirrors the files that are part of the CryptPad codebase and the hashes of the files for the Subresource Integrity check. Once the &lt;code&gt;manifest.js&lt;/code&gt; file was created, then I needed a javascript file which would load and verify it. Since the manifest is different every time a new release is made, the verification of the manifest needed to be via &lt;em&gt;signing&lt;/em&gt;. The manifest hash was signed along with a version number and those were placed in a file called &lt;code&gt;version.txt&lt;/code&gt; and &lt;code&gt;version.txt&lt;/code&gt; is loaded using a file called &lt;code&gt;sboot.js&lt;/code&gt;. The hash of &lt;code&gt;sboot.js&lt;/code&gt; was included directly into the html files which are cached, so &lt;code&gt;sboot.js&lt;/code&gt; can never be changed at all.&lt;/p&gt;
&lt;h2&gt;Loading process&lt;/h2&gt;
&lt;h3&gt;index.html&lt;/h3&gt;
&lt;p&gt;First, the browser loads the html file, the html file contains a single script tag loading &lt;code&gt;sboot.js&lt;/code&gt;&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script
  async
  data-bootload=&amp;quot;/customize/template.js&amp;quot;
  src=&amp;quot;/common/sboot.js?ver=8IaxCUqjpzoP7AEPEk%2B%2BVQ%2BBk83mRdXx4dK%2BXvSNPcI%3D&amp;quot;
  integrity=&amp;quot;sha256-8IaxCUqjpzoP7AEPEk++VQ+Bk83mRdXx4dK+XvSNPcI=&amp;quot;
&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;There is a custom attribute called &lt;code&gt;data-bootload&lt;/code&gt; which indicates which javascript file should be loaded for that &lt;code&gt;html&lt;/code&gt; file.&lt;/p&gt;
&lt;h3&gt;sboot.js&lt;/h3&gt;
&lt;p&gt;When &lt;code&gt;sboot.js&lt;/code&gt; gets loaded, it downloads and then verifies &lt;code&gt;version.txt&lt;/code&gt; which is a signed message containing the CryptPad version number and the hash of &lt;code&gt;manifest.js&lt;/code&gt;. The content that is signed looks something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[85,&amp;quot;h+tOXVmYBWMmiVDylXvnRq28LWRVs6xy+goBwNEELZk=&amp;quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;The version number (85) is not the CryptPad version but rather an auto-incrementing number which is stored in the browser localStorage and prevents the server from downgrading the version of CryptPad. After the signature/version check completes successfully, &lt;code&gt;sboot.js&lt;/code&gt; loads &lt;code&gt;manifest.js&lt;/code&gt; like the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;&amp;lt;script
  async
  src=&amp;quot;/customize/manifest.js?ver=h%2BtOXVmYBWMmiVDylXvnRq28LWRVs6xy%2BgoBwNEELZk%3D&amp;quot;
  integrity=&amp;quot;sha256-h+tOXVmYBWMmiVDylXvnRq28LWRVs6xy+goBwNEELZk=&amp;quot;
&amp;gt;&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You will notice that the hash is used also in the URL of &lt;code&gt;manifest.js&lt;/code&gt;, this allows the server to signal that the files are immutable and can be cached by the browser forever which makes CryptPad load faster next time.&lt;/p&gt;
&lt;p&gt;After &lt;code&gt;manifest.js&lt;/code&gt; loads, &lt;code&gt;sboot.js&lt;/code&gt; finds the hash of &lt;code&gt;require.js&lt;/code&gt; in the manifest and then manually loads &lt;code&gt;require.js&lt;/code&gt; in the same way. Once &lt;code&gt;require.js&lt;/code&gt; is loaded, &lt;code&gt;sboot.js&lt;/code&gt; configures require to use the hashes from the manifest for every file it loads, then it uses require to load &lt;code&gt;boot2.js&lt;/code&gt;.&lt;/p&gt;
&lt;h3&gt;boot2.js&lt;/h3&gt;
&lt;p&gt;This file is not needed for security, but unlike &lt;code&gt;sboot.js&lt;/code&gt;, it can easily be changed from release to release and it contains any code which should be run before the main CryptPad code. Things such as additional requirejs configuration and shims for missing browser APIs are placed here. After &lt;code&gt;boot2.js&lt;/code&gt; is complete, it reads the &lt;code&gt;data-bootload&lt;/code&gt; attribute from the html file and invokes require to load that.&lt;/p&gt;
&lt;h2&gt;Further development&lt;/h2&gt;
&lt;p&gt;While this system provides excellent security, it is still not perfect. If the root html file is compromized then it can alter the chain of trust, or scrap it completely. With a very long cache header, the browser will store the html file essentially forever, but if the user triggers a hard reload with the F5 key, then the cache will be flushed.&lt;/p&gt;
&lt;p&gt;The root html file can be signed using pgp and then verified using the &lt;a href=&quot;https://github.com/tasn/webext-signed-pages&quot;&gt;signed pages&lt;/a&gt; chrome extension. But signed pages is not able to prevent the loading of the website even if the signature is invalid and it only takes 1 second for the keys in localStorage to be leaked.&lt;/p&gt;
&lt;p&gt;If the root html file was &lt;em&gt;generated&lt;/em&gt; by the server each load, it could contain a secret key which is used to encrypt the keys in the localStorage, thus rendering them unusable if the html file is re-loaded, and meaning that the user must re-enter their password and would then be able to see that the signature on the html file is invalid, however unless signed pages can ignore the key inside of the html file when verifying the signature, it would have to be re-signed every time, pushing the pgp key onto the server, which we are worried about being compromized.&lt;/p&gt;
&lt;p&gt;There are also a number of configuration files in the CryptPad project which are in fact javascript files and would thus be signed by the release manager, preventing anyone hosting CryptPad from changing them so it may be a long time before this project is merged into CryptPad mainline, however it is available and you can experiment with it by checking out the &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/tree/code-integrity&quot;&gt;code-integrity&lt;/a&gt; branch of the CryptPad project.&lt;/p&gt;
</content>
    <category term="signing" scheme="https://blog.cryptpad.org/tags/signing/"/>
    <category term="subresource integrity" scheme="https://blog.cryptpad.org/tags/subresource integrity/"/>
    <category term="chain of trust" scheme="https://blog.cryptpad.org/tags/chain of trust/"/>
  </entry>
  <entry>
    <title>One year of biweekly releases</title>
    <link href="https://blog.cryptpad.org/2018/02/23/One-year-of-biweekly-releases/"/>
    <updated>2018-02-23T14:37:15Z</updated>
    <id>https://blog.cryptpad.org/2018/02/23/One-year-of-biweekly-releases/</id>
    <summary xml:lang="en" type="html">Approximately one year ago, we published an article about our intention to follow a biweekly release schedule. Since then, we&#39;ve thought of every second Tuesday as release day.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Approximately one year ago, we published an article about our intention to follow a &lt;a href=&quot;https://blog.cryptpad.org/2017/02/24/Announcing-biweekly-releases/&quot;&gt;biweekly release schedule&lt;/a&gt;.
Since then, we&#39;ve thought of every second Tuesday as &lt;em&gt;release day&lt;/em&gt;.
Starting with &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/1.0.0&quot;&gt;the letter A&lt;/a&gt; on February 21st, 2017 and ending with &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/1.25.0&quot;&gt;the letter Z&lt;/a&gt; on January 30th, 2018, we went through the whole latin alphabet.&lt;/p&gt;
&lt;p&gt;Throughout this self-imposed regimen, we managed to meet each deadline, though on occasion we had to stay at the office later than usual.
Any time a release was more difficult than expected, we considered what went wrong and added a counter-measure to our release checklist (in CryptPad, naturally).
Each release became easier than the one before, but even so, we found there were some drawbacks to this rigid schedule.&lt;/p&gt;
&lt;h2&gt;Changing our pace&lt;/h2&gt;
&lt;p&gt;Having a regular rhythm for our releases trained us to break up complex features into components that could be implemented within a two week period.
With that in mind, not all tasks fit neatly within two weeks, and those larger tasks have had a tendency to get pushed to the next release.
So, now that we&#39;ve finished one full year of releases, we&#39;ve started to look more closely at those larger features which we&#39;ve inadvertently neglected.
The tendency to procrastinate on especially difficult features is just another challenge to approach, but it&#39;s been one which is somewhat more difficult to summarize within a &lt;em&gt;to do&lt;/em&gt; list.&lt;/p&gt;
&lt;p&gt;As of CryptPad v1.26.0, we&#39;re no longer following the strict biweekly schedule.
To be clear, this doesn&#39;t mean we&#39;re slowing down development.
We&#39;re still &lt;em&gt;working on CryptPad consistently&lt;/em&gt;.
We still plan to &lt;em&gt;deliver features to users&lt;/em&gt; as soon as they are stable.
We still plan to &lt;em&gt;deploy on Tuesdays&lt;/em&gt;, since it&#39;s as early in the week as possible without falling on a Monday and deploying on a Friday is a &lt;em&gt;terrible idea&lt;/em&gt;.&lt;/p&gt;
&lt;img src=&quot;https://blog.cryptpad.org/images/iamdevloper_deploy_on_friday.jpeg&quot; alt=&quot;Should I release on a Friday?&quot; style=&quot;width:50%;&quot; /&gt;
&lt;p&gt;Some releases might happen in a single week.
Others might take stretch to three weeks or a full month, but we&#39;ll do our best not to take any longer than that.
We try to be as transparent as possible with our plans, and so users should expect each release to also specify the projected date for the following release.&lt;/p&gt;
&lt;h2&gt;What&#39;s coming next...&lt;/h2&gt;
&lt;p&gt;In the last year, we tried to find a balance between improving user security through the use of our &lt;a href=&quot;https://blog.cryptpad.org/2017/08/30/CryptPad-s-new-Secure-Cross-Domain-Iframe/&quot;&gt;sandboxing techniques&lt;/a&gt;, and implementing the productivity features necessary for people to consider the security improvements an &lt;em&gt;added bonus&lt;/em&gt; rather than an impractical ideology.
The core of our philosophy is that &lt;em&gt;security&lt;/em&gt; and &lt;em&gt;ease of use&lt;/em&gt; must be packaged together in order for tools like CryptPad to benefit users.&lt;/p&gt;
&lt;p&gt;While CryptPad is considerably more than a &lt;em&gt;proof-of-concept&lt;/em&gt;, we don&#39;t consider it anywhere close to being finished.
As heavy users of CryptPad ourselves, we are aware of its rough edges.
Our community has been very supportive with our continued development, though, so we&#39;re excited to be able to improve the following areas!&lt;/p&gt;
&lt;h3&gt;Sharing&lt;/h3&gt;
&lt;p&gt;We spend a lot of time passing links between each other when collaborating on a project.
In order to do so &lt;em&gt;privately&lt;/em&gt;, the sender and the receiver must both use an encrypted messenger, or else the message could be intercepted by a malicious third-party.
The necessity of having to use a second tool makes it so that CryptPad must always be used as &lt;em&gt;part of the solution&lt;/em&gt;, rather than solving a user&#39;s problem outright.&lt;/p&gt;
&lt;p&gt;We&#39;d like to approach this problem with two improvements:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;integrate our existing encrypted messenger better with the rest of CryptPad&#39;s functionality (as per &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/issues/79&quot;&gt;this issue&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;develop a method of sharing entire folder structures from a users drive, so that sharing can scale to support large-scale projects, a feature we call &lt;em&gt;Workgroups&lt;/em&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;Layered protection&lt;/h3&gt;
&lt;p&gt;Even if the link for a pad is shared securely, there is the possibility that somebody discovers that link through other (possibly malicious) means.
We&#39;re interested in developing CryptPad&#39;s basic two-tier permission system (edit/view) to address such concerns.
This could be accomplished in very different ways:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;add the ability to protect a pad with a password, so that anyone who finds the link must also know a secret value in order to retrieve the pad&#39;s history from the server&lt;/li&gt;
&lt;li&gt;add the ability to encrypt messages such that only a designated set of users can decrypt them using public-key cryptography&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;So far CryptPad only features a very limited set of cryptographic techniques.
Going forward, we hope to find ways to implement a more granular permission system which does not rely on the server behaving correctly.
Some of these features are more in the realm of &lt;em&gt;applied-cryptography research&lt;/em&gt; than &lt;em&gt;web application development&lt;/em&gt;, so it&#39;s very likely they&#39;ll be implemented later, but we&#39;re excited about them nevertheless.&lt;/p&gt;
&lt;h3&gt;Increased trustworthiness&lt;/h3&gt;
&lt;p&gt;Even though CryptPad performs its encryption in your browser, there is always the possibility that a compromised server could send malicious code to the browser which would cause it to reveal its secrets.
We&#39;re interested in developing features which would mitigate these kinds of attacks against users, through a combination of modern browser features like &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/Security/Subresource_Integrity&quot;&gt;sub-resource integrity&lt;/a&gt;, and perhaps a registry of verified code signatures signed by us, the developers.&lt;/p&gt;
&lt;p&gt;It&#39;s very difficult to make a web application secure against those responsible for delivering its source to your browser.
We&#39;re actively searching for any kind of technique for securing that makes CryptPad a more robust platform for storing your data privately, even against ourselves.&lt;/p&gt;
&lt;h3&gt;Password usability&lt;/h3&gt;
&lt;p&gt;CryptPad&#39;s login system looks quite conventional at first glance, since it has a field for a &lt;em&gt;user-name&lt;/em&gt; and &lt;em&gt;password&lt;/em&gt; like most other web applications.
Unlike those other applications, we never learn your user-name and password.
Instead, your browser uses those fields to generate a unique secret value which you use to encrypt your drive, and accomplish a range of other tasks.
The downside of this approach is that if a user forgets their username or password, we can&#39;t help them gain access to their documents.
If we could, we&#39;d be able to access their documents ourselves.&lt;/p&gt;
&lt;p&gt;Fortunately, we&#39;re not the only team building web applications that use cryptography, and so there has been some research into how to improve password-based workflows without revealing secrets data to the server&#39;s host (us).
We&#39;ve already received emails from users who&#39;ve inadvertently locked themselves out of their accounts with no way to recover their data, and that&#39;s a situation we&#39;d like to help people avoid, so this is a feature we&#39;re looking forward to offering.&lt;/p&gt;
&lt;h3&gt;More applications&lt;/h3&gt;
&lt;p&gt;Lots of users have requested that we add a few more applications to CryptPad, and we&#39;ve been listening!
We plan to add support for spreadsheets, and possibly other applications so that people don&#39;t have to fall back to using an unencrypted CryptPad alternative.&lt;/p&gt;
&lt;h3&gt;Scalability&lt;/h3&gt;
&lt;p&gt;One advantage CryptPad has over other conventional collaboration platforms is that a lot of the difficult computation is run in the users&#39; browsers, rather than on our server.
This means that we can support a very large number of clients without a noticeable decrease in performance.
Even so, the number of people using &lt;em&gt;&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;&lt;/em&gt; and the amount they use it has increased dramatically.&lt;/p&gt;
&lt;p&gt;Though excessive popularity is a wonderful problem to have, we&#39;d like to avoid a situation where users have difficulty accessing our service, so improved scalability is something we&#39;d like to work on.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;We haven&#39;t yet decided how long we intend for this release cycle to last, and we don&#39;t have a set list of the exact goals we&#39;d like to accomplish.
We&#39;re taking a step back to decide where we&#39;d like to go next.&lt;/p&gt;
&lt;p&gt;We recognize that CryptPad&#39;s growth over the last year was driven largely by word of mouth between friends and colleagues who care about privacy.
By moving towards a more flexible schedule, we hope to make it easier to adapt to the frequent feedback we receive from people using CryptPad to help them accomplish a multitude of goals.&lt;/p&gt;
&lt;p&gt;We&#39;re very interested in hearing what you think about this change.
Feel free to reach out to us through any of the methods listed on &lt;a href=&quot;https://cryptpad.fr/contact.html&quot;&gt;our contact page&lt;/a&gt;.&lt;/p&gt;
</content>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="roadmap" scheme="https://blog.cryptpad.org/tags/roadmap/"/>
  </entry>
  <entry>
    <title>CryptPad&#39;s new Secure Cross-Domain Iframe</title>
    <link href="https://blog.cryptpad.org/2017/08/30/CryptPad-s-new-Secure-Cross-Domain-Iframe/"/>
    <updated>2017-08-30T16:53:00Z</updated>
    <id>https://blog.cryptpad.org/2017/08/30/CryptPad-s-new-Secure-Cross-Domain-Iframe/</id>
    <summary xml:lang="en" type="html">CryptPad version 1.14 (Codename Ouroboros) has been released and the most exciting new feature is one you cannot even see.</summary>
    <content xml:lang="en" type="html">&lt;script src=&quot;https://cryptpad.fr/common/media-tag-nacl.min.js&quot;&gt;&lt;/script&gt;
&lt;p&gt;CryptPad version 1.14 (Codename &lt;a href=&quot;https://en.wikipedia.org/wiki/Ouroboros&quot;&gt;Ouroboros&lt;/a&gt;) has been released and the most exciting new feature is one you cannot even see. As you may remember from the &lt;a href=&quot;https://blog.cryptpad.org/2017/03/06/Security-growing-pains/&quot;&gt;Security Growing Pains&lt;/a&gt; post, &lt;a href=&quot;https://en.wikipedia.org/wiki/Content_Security_Policy&quot;&gt;Content Security Policy&lt;/a&gt; is a significant part of CryptPad&#39;s security model, and it is unfortunately incompatible with &lt;a href=&quot;https://ckeditor.com/&quot;&gt;CKEditor&lt;/a&gt;, the Open Source text editor used in CryptPad.&lt;/p&gt;
&lt;p&gt;With this release, we have done a significant re-architecture of the CryptPad codebase. Starting with the /pad/ application, the CryptPad UI has begun a process of moving into an iframe which is hosted on a different domain: &lt;em&gt;&lt;a href=&quot;http://sandbox.cryptpad.info/&quot;&gt;sandbox.cryptpad.info&lt;/a&gt;&lt;/em&gt;. Moving the visual content to a different domain means that even in the event of a &lt;a href=&quot;https://en.wikipedia.org/wiki/Cross-site_scripting&quot;&gt;Cross-site scripting&lt;/a&gt; security vulnerability, most of your private information such as the pads in your CryptDrive, will not be at risk.&lt;/p&gt;
&lt;p&gt;In this version we updated only the /pad/ application to use the cross-domain iframe because it is the only app which requires &lt;em&gt;inline script&lt;/em&gt;. This prevented us from using Content Security Policy to block the most significant vector for Cross Site Scripting attacks but now with the cross-domain iframe, such attacks are mitigated.&lt;/p&gt;
&lt;p&gt;&lt;media-tag src=&quot;https://files.cryptpad.fr/blob/b5/b5cd676935a5b23c158f38a84b7f3dfd3dc96ab3aafddd62&quot; data-crypto-key=&quot;cryptpad:FBD19VUsNtgIxwjMGSOZcswciQzDixfuBY7dVWVwRG0=&quot; data-attr-width=&quot;50%&quot;&gt;&lt;/media-tag&gt;&lt;/p&gt;
&lt;p&gt;Going forward, we plan to implement a standardized CryptPad application API so that new applications can be developed, installed and used in CryptPad. Today, the CryptPad API which is exposed to apps such as /pad/ and /code/ is not standardized and there is no clear line between the apps themselves and the CryptPad internals. As we move toward the a standard app API, we will define a standard representation of a CryptPad application with such additional aspects as the app&#39;s color-scheme and icons.&lt;/p&gt;
&lt;p&gt;Fundementally, this unexciting change to CryptPad begins a new phase in development, we plan to move from a set of integrated prepackaged applications to an ecosystem of applications for collaborating on different types of content with the same encryption under the hood.&lt;/p&gt;
&lt;h2&gt;But Wait, There&#39;s more&lt;/h2&gt;
&lt;p&gt;The pictures in this blog post are not hosted on the blog, they are in fact Zero Knowledge files uploaded on CryptPad. They
can be seen on this blog because it is using the &lt;a href=&quot;https://github.com/UCF-project/media-tag&quot;&gt;Media Tag&lt;/a&gt; which was developed as part of the UCF Project with the support of &lt;a href=&quot;http://www.systematic-paris-region.org/&quot;&gt;Systematic&lt;/a&gt;, &lt;a href=&quot;https://www.bpifrance.fr/&quot;&gt;BPIFrance&lt;/a&gt; and the &lt;a href=&quot;https://www.paris.fr/&quot;&gt;City of Paris&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;media-tag src=&quot;https://files.cryptpad.fr/blob/3c/3c9b5b3fb00b7dc35e15851606132585e8b69b06a51556eb&quot; data-crypto-key=&quot;cryptpad:VE4raHL5VFReAXxioTaFZwt6q2jpxX+bdFHAFeoivZQ=&quot; data-attr-width=&quot;40%&quot;&gt;&lt;/media-tag&gt;&lt;/p&gt;
&lt;p&gt;Media Tag allows files on CryptPad to be included in any website (such as this blog). All you have to do to include a file from CryptPad is simply include the Media Tag loader and then add a Media Tag to your document, just like the following:&lt;/p&gt;
&lt;pre class=&quot;language-html&quot;&gt;&lt;code class=&quot;language-html&quot;&gt;&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- At the top of your HTML file --&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;script&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://cryptpad.fr/common/media-tag-nacl.min.js&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token script&quot;&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;script&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class=&quot;token comment&quot;&gt;&amp;lt;!-- Where you&#39;d like the image to be located --&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;&lt;/span&gt;media-tag&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;src&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;https://files.cryptpad.fr/blob/3c/3c9b5b3fb00b7dc35e15851606132585e8b69b06a51556eb&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt; &lt;span class=&quot;token attr-name&quot;&gt;data-crypto-key&lt;/span&gt;&lt;span class=&quot;token attr-value&quot;&gt;&lt;span class=&quot;token punctuation attr-equals&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;cryptpad:VE4raHL5VFReAXxioTaFZwt6q2jpxX+bdFHAFeoivZQ=&lt;span class=&quot;token punctuation&quot;&gt;&quot;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token tag&quot;&gt;&lt;span class=&quot;token punctuation&quot;&gt;&amp;lt;/&lt;/span&gt;media-tag&lt;/span&gt;&lt;span class=&quot;token punctuation&quot;&gt;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;With this you can embed files from your CryptDrive into any website you want.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="appstore" scheme="https://blog.cryptpad.org/tags/appstore/"/>
    <category term="iframe" scheme="https://blog.cryptpad.org/tags/iframe/"/>
    <category term="media-tag" scheme="https://blog.cryptpad.org/tags/media-tag/"/>
  </entry>
  <entry>
    <title>CryptPad&#39;s New Direction</title>
    <link href="https://blog.cryptpad.org/2017/08/18/CryptPad-s-New-Direction/"/>
    <updated>2017-08-18T12:14:39Z</updated>
    <id>https://blog.cryptpad.org/2017/08/18/CryptPad-s-New-Direction/</id>
    <summary xml:lang="en" type="html">CryptPad was born on Halloween 2014, at that time it was a skunkworks project inside of XWiki SAS. The UI was hidious green and white and the only feature was the CKEditor based pad. We have come a long way.</summary>
    <content xml:lang="en" type="html">&lt;blockquote&gt;
&lt;p&gt;If you are hosting CryptPad, please make sure you are up to date. &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/1.13.0&quot;&gt;CryptPad 1.13.0 (Naiad)&lt;/a&gt; fixed a major security issue.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;CryptPad was born on Halloween 2014, at that time it was a skunkworks project inside of XWiki SAS. The UI was hidious green and white and the only feature was the CKEditor based pad. We have come a long way.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad_old_mainpage.png&quot; alt=&quot;Old CryptPad Main Page&quot; /&gt;&lt;/p&gt;
&lt;p&gt;As was mentioned in &lt;a href=&quot;https://blog.cryptpad.org/2017/06/02/Building-mutually-beneficial-relationships/&quot;&gt;Building Mututally Beneficial Relationships&lt;/a&gt;, CryptPad cannot ever be great without people developing the software as their daily job. We have been able to develop this project with the generous support of &lt;a href=&quot;http://www.bpifrance.fr/&quot;&gt;BPI France&lt;/a&gt; and the &lt;a href=&quot;http://ng.open-paas.org/&quot;&gt;OpenPaaS::NG&lt;/a&gt; but that support only finances a small team and it will not continue indefinitely.&lt;/p&gt;
&lt;p&gt;Starting with this release, we are adopting a new look and a reinforced dedication to making a quality product for people whose time is valuable. We&#39;re starting this by upgrading the logo and the informational pages.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad_new_mainpage.png&quot; alt=&quot;New CryptPad Main Page&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Our lovable fist logo was created one night by grabbing a screen shot of an ascii generator. It was a time when I was racing to get &lt;em&gt;something&lt;/em&gt; working to prove that CryptPad was an idea worth pursuing. Now times have changed. CryptPad is finally something that I&#39;m starting to feel proud of, and the logo represented the last reminents of a time when everything was a rush and quality was an afterthought.&lt;/p&gt;
&lt;p&gt;We also have introduced a lot of new features such as:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;New front page which allows creating a pad in 1 click&lt;/li&gt;
&lt;li&gt;Clickable links in pads when viewed in read-only mode&lt;/li&gt;
&lt;li&gt;File-picker for embedding media in a pad in Markdown mode&lt;/li&gt;
&lt;li&gt;You can now have your preference between tabs and spaces, when editing in the code editor&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/cryptpad_pdf.png&quot; alt=&quot;Registered users can uploading and view PDF Files&quot; /&gt;&lt;/p&gt;
&lt;p&gt;But more than features, we have focused on making CryptPad easier to use. It&#39;s now easier to paste text into the pad without breaking the formatting and we have additional tool-tips to help explain different features of CryptPad.&lt;/p&gt;
&lt;p&gt;Going forward from today we plan to make CryptPad easier to use, more secure and more extensible. We are rewriting the pad logic in order to run in a cross-domain iframe which will make use of the browser&#39;s &lt;a href=&quot;https://en.wikipedia.org/wiki/Same-origin_policy&quot;&gt;Same Origin Policy&lt;/a&gt; as a sandbox to block most of the code from accessing the decryption keys.&lt;/p&gt;
&lt;p&gt;This will open the door to 3rd party applications developed for CryptPad which can be protected by the same cryptography as CryptPad and which have limited access to the CryptPad system.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="extensibility" scheme="https://blog.cryptpad.org/tags/extensibility/"/>
    <category term="quality" scheme="https://blog.cryptpad.org/tags/quality/"/>
  </entry>
  <entry>
    <title>CryptPad Analytics &amp; Privacy - What we can&#39;t know, what we must know, what we want to know</title>
    <link href="https://blog.cryptpad.org/2017/07/07/cryptpad-analytics-what-we-cant-know-what-we-must-know-what-we-want-to-know/"/>
    <updated>2017-07-07T13:41:02Z</updated>
    <id>https://blog.cryptpad.org/2017/07/07/cryptpad-analytics-what-we-cant-know-what-we-must-know-what-we-want-to-know/</id>
    <summary xml:lang="en" type="html">CryptPad is a Zero Knowledge cloud application, this means we have designed it such that we do not have any access to the content which is hosted on our server. However, there are other things which we do collect and it is important that privacy-minded users understand what we are collecting and why</summary>
    <content xml:lang="en" type="html">&lt;p&gt;CryptPad is a Zero Knowledge cloud application, this means we have designed it such
that we do not have any access to the content which is hosted on our server.
However, there are other things which we do collect and it is important that
privacy-minded users understand what we are collecting and why. There are four
types of information:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What we can&#39;t know: This is data that CryptPad app encrypts so we will never have
access to it&lt;/li&gt;
&lt;li&gt;What we must see but don&#39;t collect: This is information which we don&#39;t bother
to store but because of how the technology works, we necessarily have access to it.&lt;/li&gt;
&lt;li&gt;What we must know: This is metadata which we cannot help but see because of the
way the technology works&lt;/li&gt;
&lt;li&gt;What we want to know: This is information which we really want to know in order
to make CryptPad better every day&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;We want to know everything about &lt;em&gt;people&lt;/em&gt;, we want to know how &lt;em&gt;people&lt;/em&gt; use CryptPad,
why &lt;em&gt;people&lt;/em&gt; use CryptPad and how we can make their experience easier. However, we
don&#39;t want to know anything at all about &lt;em&gt;you&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;This poses a challenge because we want to collect as much aggregate information as we
can in order to make a great web service, but we don&#39;t want to collect data that can
be &lt;em&gt;linked&lt;/em&gt; in order to tell a story about you.&lt;/p&gt;
&lt;h2&gt;What we can&#39;t know&lt;/h2&gt;
&lt;p&gt;There are a few things which the Zero Knowledge design of CryptPad does not allow
us to know at all. These include (obviously) your password and the content of your
pads, but less obviously, the titles of your pads, the names of the contributors and
your username (you can even have the same username as someone else on the system, we
won&#39;t know). The types of your pads are also unknown to us though we could make
educated guesses by looking at the encrypted data.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;It is our promise to you that we will never collect this information.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;What we could know but don&#39;t bother to collect&lt;/h2&gt;
&lt;p&gt;There are also some things which we don&#39;t really want to know but we cannot avoid
seeing it anyway. This includes most importantly the IP addresses of people who
edited a specific pad. Technically we know your
&lt;a href=&quot;https://en.wikipedia.org/wiki/IP_address&quot;&gt;IP address&lt;/a&gt; because it&#39;s how you
communicate with our server, but most of the actual operations are done using
commands sent down a &lt;a href=&quot;https://en.wikipedia.org/wiki/WebSocket&quot;&gt;WebSocket&lt;/a&gt;.
Once the WebSocket is established, we assign you a random ID and this is how
you are referenced, what appears in our server logs looks like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;198.167.222.70 - - [06/Jul/2017:20:47:45 +0200] &amp;quot;GET /pad/ HTTP/1.1&amp;quot;
304 0 &amp;quot;-&amp;quot; &amp;quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5) AppleWebKit/537.36
(KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36&amp;quot; &amp;quot;-&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Notice there is no pad ID in there, the pad ID is not in the URL so it doesn&#39;t go
in the server logs by default.&lt;/p&gt;
&lt;p&gt;Compare this with EtherPad:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;  IP Address                                             Pad ID
198.167.222.70 - - [06/Jul/2017:11:54:37 -0700] &amp;quot;GET /p/UNWnpczTkq HTTP/1.1&amp;quot;
200 8920 &amp;quot;https://pad.meshwith.me/&amp;quot; &amp;quot;Mozilla/5.0 (Macintosh; Intel Mac OS X
10_10_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109
Safari/537.36&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;You cannot verify that we&#39;re not collecting this so best assume that we are.&lt;/em&gt;&lt;/p&gt;
&lt;h2&gt;What we must know&lt;/h2&gt;
&lt;p&gt;There are some things which we need to know in order for CryptPad to function
properly, we need to know which pads are in your drive in order to impose
storage limits on logged-in users and to expire pads which nobody cares about.
However, we don&#39;t know much about who you are. Since we don&#39;t know your username,
to us you are identified by a public signing key, something like this:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;YIBzjPr3beuGgfHNglGfo3xq-dquxsj4Bst-ze7mL9A&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;We know that &lt;code&gt;YIBzjPr3beuGgfHNglGfo3xq-dquxsj4Bst-ze7mL9A&lt;/code&gt; has 392 MB of data in
their CryptDrive including a pad of some type which has the ID
&lt;code&gt;fe382219b10c0396de63d2bab7942390&lt;/code&gt; and an uploaded which we know as
&lt;code&gt;ff2fdf9bb99ecc89d29d780780de10efdac14ed15e93b235&lt;/code&gt;. One of these pads that they
have is actually their drive itself, but we don&#39;t strictly know which one (again,
we can take guesses based on the size of the patches). You can find out what your
signing key is by looking at in your &lt;a href=&quot;https://cryptpad.fr/settings&quot;&gt;settings page&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We also know when each pad was last accessed so that we can know to delete pads
which are not in anybody&#39;s CryptDrive and have not been opened in a long time.&lt;/p&gt;
&lt;h3&gt;Why we can&#39;t avoid collecting IP addresses&lt;/h3&gt;
&lt;p&gt;Being able to know how many &lt;em&gt;different&lt;/em&gt; people are using CryptPad is very important
to us. One rather rude person decided to try to crash our server by creating 647,533
pads. They didn&#39;t put much thought into their attack because what they were doing
was not actually creating pads, but it illustrates the problem that if we don&#39;t
know how many &lt;em&gt;different&lt;/em&gt; people are using the server, we don&#39;t have any idea
whether we are popular or under attack. Worse, we don&#39;t know what features have
widespread support vs. which ones are only popular with a few prolific users.&lt;/p&gt;
&lt;p&gt;One obvious thought is to simply run the IP addresses through a hash function the
way we traditionally hash passwords. However this sadly cannot work because there
are only 4.2 billion IPv4 addresses and constructing a
&lt;a href=&quot;https://en.wikipedia.org/wiki/Rainbow_table&quot;&gt;rainbow table&lt;/a&gt; to get back the
original IP addresses would take only about 1 day of computer time. So in the end
we simply log the IP addresses and don&#39;t worry about it.&lt;/p&gt;
&lt;h3&gt;What a pad looks like to us&lt;/h3&gt;
&lt;p&gt;A pad is stored as a file which represents a sequence of encrypted &lt;em&gt;patches&lt;/em&gt;.
These patches change the content of the pad from nothing to whatever it becomes in
the end. A typical message looks something like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;[0,&amp;quot;69d46337f826c0ecd881be59c119a527&amp;quot;,&amp;quot;MSG&amp;quot;,&amp;quot;fe382219b10c0396de63d2bab7942390&amp;quot;,&amp;quot;51Q....&amp;quot;]
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It starts with a zero and then your temporary random ID, then it contains the word
MSG and the ID of the pad which it is sent to, this format is exactly the same as
what is sent on the wire. Finally it contains the encrypted patch which tells us
essentially nothing except it gives us a rough idea of just how big the change was.&lt;/p&gt;
&lt;p&gt;Occasionally the client will send a &lt;em&gt;checkpoint&lt;/em&gt;, this is a special patch which
removes all of the content and then puts it all back again. To us, a checkpoint
looks the same as anything else, it is a big ball of encrypted data, except in this
case it is flagged as a checkpoint so the server knows it can send only part of
the history of the pad instead of all of it. However, they do give us a good idea
of how big the pad actually is at that time.&lt;/p&gt;
&lt;h2&gt;What we collect because we want to know&lt;/h2&gt;
&lt;p&gt;What we really want to understand is your &lt;em&gt;experience&lt;/em&gt; with CryptPad and how we can
make that experience better. So therefore we collect quite a number of data-points
about where people click and what their browser supports. For example we collect
the dimensions of your browser. Not because we want to know who you are but because
we want to know that types of browsers we need to support.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;198.167.222.70 - - [06/Jul/2017:21:26:15 +0200]
&amp;quot;HEAD /common/feedback.html?DIMENSIONS:752x1440=1499369175085 HTTP/1.1&amp;quot; 200 0
&amp;quot;https://cryptpad.fr/settings/&amp;quot; &amp;quot;Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_5)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36&amp;quot; &amp;quot;-&amp;quot;
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;You can see an exhaustive list of things that we collect by checking out the
&lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/search?p=2&amp;amp;q=Cryptpad.feedback&amp;amp;type=&amp;amp;utf8=%E2%9C%93&quot;&gt;feedback functionality&lt;/a&gt; in the CryptPad source code but
as of the time of this writing, we are collecting feedback about the following
things (usually we just collect the fact that an event occurred, not more).&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Clicking &amp;quot;upgrade account&amp;quot;&lt;/li&gt;
&lt;li&gt;Clicking &amp;quot;support cryptpad&amp;quot;&lt;/li&gt;
&lt;li&gt;Presentation: clicking on &amp;quot;print slides&amp;quot;&lt;/li&gt;
&lt;li&gt;Registering and logging in&lt;/li&gt;
&lt;li&gt;Opening your recent pads as an anonymous user&lt;/li&gt;
&lt;li&gt;Clicking any CKEditor button such as &amp;quot;bold&amp;quot; or &amp;quot;italic&amp;quot;&lt;/li&gt;
&lt;li&gt;Displaying the drive as icons or as a list&lt;/li&gt;
&lt;li&gt;Creating and using templates&lt;/li&gt;
&lt;li&gt;Showing and hiding the userlist or CKEditor menu bar&lt;/li&gt;
&lt;li&gt;Whether your browser is missing certain important features like
&lt;a href=&quot;https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Proxy&quot;&gt;Proxy&lt;/a&gt;,
&lt;a href=&quot;https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/isArray&quot;&gt;isArray&lt;/a&gt;
or &lt;a href=&quot;https://developer.mozilla.org/en/docs/Web/API/Window/localStorage&quot;&gt;localStorage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Which type of pad you are using&lt;/li&gt;
&lt;li&gt;The dimensions of your browser window&lt;/li&gt;
&lt;li&gt;When you have changed your display name&lt;/li&gt;
&lt;li&gt;Whether you have migrated your CryptDrive from the legacy format&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;If you are worried about what we might do with this data, you can disable
feedback collection in your &lt;a href=&quot;https://cryptpad.fr/settings/&quot;&gt;settings page&lt;/a&gt;. But
keep in mind that if you disable it we cannot help but know, because your IP
address will be in the tiny minority of addresses which access the site but don&#39;t
send feedback messages.&lt;/p&gt;
&lt;h2&gt;What we can learn from the data&lt;/h2&gt;
&lt;h3&gt;1. People mostly use CryptPad to make a plain old pad&lt;/h3&gt;
&lt;p&gt;But the code/markdown pad and the CryptDrive are catching up.
&lt;img src=&quot;https://blog.cryptpad.org/images/Analytics-padtypes.png&quot; alt=&quot;Unique IPs per pad type&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;2. Activity has been on a very slow rise but with a few spikes&lt;/h3&gt;
&lt;p&gt;This chart shows unique IPs per day hitting CryptPad. You can things are relatively
flat over time except for a big day in June and then some increased activity in July
after the UI improvements were rolled out.
&lt;img src=&quot;https://blog.cryptpad.org/images/Analytics-uniques.png&quot; alt=&quot;Unique IPs per day&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;3. Browser window dimensions are all over the map&lt;/h3&gt;
&lt;p&gt;This chart shows bubbles which are bigger depending on how many different IPs
report the same browser window dimensions. Tragically it seems that there is no
way to predict what aspect ratio a device using CryptPad is going to have.
&lt;img src=&quot;https://blog.cryptpad.org/images/Analytics-browserdimensions.png&quot; alt=&quot;Browser window dimensions&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;4. Lots of pads are made and then abandoned&lt;/h3&gt;
&lt;p&gt;The first chart shows in blue the number of pads created each day and the number
of pads which become &amp;quot;abandoned&amp;quot; (have not been touched in 2 weeks). This says
that perhaps pads are considered ephemeral and not to be used for the long term.
&lt;img src=&quot;https://blog.cryptpad.org/images/Analytics-createdabandoned.png&quot; alt=&quot;Created vs. abandoned pads&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Here we can see the evolution of pads which have been accessed within the last
day the last week and the last month. There is slow but steady growth in the
pads active in the past month.
&lt;img src=&quot;https://blog.cryptpad.org/images/Analytics-activepads.png&quot; alt=&quot;Number of active pads&quot; /&gt;&lt;/p&gt;
&lt;h3&gt;5. People use CryptPad for a while, then leave&lt;/h3&gt;
&lt;p&gt;We measured 15,000 IP addresses which came to CryptPad just to look at one pad and
then left, but of the 13,000 who stayed longer than that we analyzed the time when
they first arrived and the time when they made their last visit. About 630 IP
addressses have been continually using CryptPad for all 45 days.
&lt;img src=&quot;https://blog.cryptpad.org/images/Analytics-peopleleave.png&quot; alt=&quot;Number of IPs continuing to access CryptPad&quot; /&gt;
We want to make CryptPad a useful tool for helping people get organized and make
their projects succeed. So whenever people decide that CryptPad is not the right
answer for them, we care about what went wrong and how we can make it better.&lt;/p&gt;
&lt;h2&gt;How we analyze this data&lt;/h2&gt;
&lt;p&gt;We do all of our analysis ourselves, and we don&#39;t share any of this data with Google
or other data companies. We&#39;re thankful to
&lt;a href=&quot;https://www.elastic.co/products/kibana&quot;&gt;Kibana/ElasticSearch&lt;/a&gt; and
&lt;a href=&quot;https://www.elastic.co/products/logstash&quot;&gt;LogStash&lt;/a&gt; for making it possible to do
in depth analysis on our own computers without resorting to a cloud service.&lt;/p&gt;
</content>
    <category term="analytics" scheme="https://blog.cryptpad.org/tags/analytics/"/>
    <category term="data" scheme="https://blog.cryptpad.org/tags/data/"/>
    <category term="privacy" scheme="https://blog.cryptpad.org/tags/privacy/"/>
  </entry>
  <entry>
    <title>CryptPad Jackalope - File Upload, PDF and Pictures</title>
    <link href="https://blog.cryptpad.org/2017/06/21/CryptPad-Jackalope-file-upload-pdf-and-pictures/"/>
    <updated>2017-06-21T12:48:48Z</updated>
    <id>https://blog.cryptpad.org/2017/06/21/CryptPad-Jackalope-file-upload-pdf-and-pictures/</id>
    <summary xml:lang="en" type="html">Yesterday we released CryptPad v1.9.0 Jackalope, we have some exciting new features which we&#39;ve been working on for a long time.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;Yesterday we released CryptPad v1.9.0 Jackalope, we have some exciting new features
which we&#39;ve been working on for a long time. As part of the
&lt;a href=&quot;https://github.com/UCF-project&quot;&gt;UCF project&lt;/a&gt; we have implemented a Zero Knowledge
&lt;code&gt;media-tag&lt;/code&gt; in CryptPad for displaying and downloading encrypted files stored in
CryptPad. Starting now, you can upload files by clicking the upload button or
dragging them into your CryptDrive. You can also view pictures and PDF files in
CryptPad and you can drag-and-drop pictures &lt;strong&gt;directly&lt;/strong&gt; into presentations. In the
next release we will hopefully be adding drag-and-drop pictures into the pad.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/CryptPad_drive_with_upload.png&quot; alt=&quot;CryptDrive Upload&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Filenames&lt;/h2&gt;
&lt;p&gt;We also made a significant but less visible improvement to the CryptDrive. When you
make a new pad in CryptPad, it has a &lt;em&gt;title&lt;/em&gt;, which anyone in the pad can change, and
it has a &lt;em&gt;filename&lt;/em&gt; which it how the pad is shown in your CryptDrive. Because anyone
at any time can change the &lt;em&gt;title&lt;/em&gt; of a pad, the only way to know the titles of all
the pads in your drive is to load each and every one of them which would take a long
time. But the &lt;em&gt;filename&lt;/em&gt; is your unique way to refer to a pad, it lives only in
&lt;em&gt;your&lt;/em&gt; CryptDrive and it is the same no matter what &lt;em&gt;title&lt;/em&gt; someone gives to the pad.&lt;/p&gt;
&lt;p&gt;Now the CryptDrive UI shows only one name for a pad, this name is just the &lt;em&gt;title&lt;/em&gt;
of the pad at the last time you&#39;d accessed it &lt;strong&gt;unless&lt;/strong&gt; you assign it your own
&lt;em&gt;filename&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;Slide Preview&lt;/h2&gt;
&lt;p&gt;When you&#39;re using the CryptPad slide app to make a quick presentation, now you can
see your presentation in the righthand pane while you type. Since presentations are
written in Markdown, this means you get a live action preview of what your
presentation slides are going to look like.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://blog.cryptpad.org/images/CryptPad_slide_upload_and_preview.png&quot; alt=&quot;Slide Preview and Drag &amp;amp; Drop&quot; /&gt;&lt;/p&gt;
&lt;h2&gt;Try it now&lt;/h2&gt;
&lt;p&gt;Head over to &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; and give CryptPad a try !&lt;/p&gt;
</content>
    <category term="pdf" scheme="https://blog.cryptpad.org/tags/pdf/"/>
    <category term="file" scheme="https://blog.cryptpad.org/tags/file/"/>
    <category term="upload" scheme="https://blog.cryptpad.org/tags/upload/"/>
    <category term="embed" scheme="https://blog.cryptpad.org/tags/embed/"/>
  </entry>
  <entry>
    <title>Building mutually beneficial relationships</title>
    <link href="https://blog.cryptpad.org/2017/06/02/Building-mutually-beneficial-relationships/"/>
    <updated>2017-06-02T13:52:47Z</updated>
    <id>https://blog.cryptpad.org/2017/06/02/Building-mutually-beneficial-relationships/</id>
    <summary xml:lang="en" type="html">You ever wonder why Open Source software always seems to be slightly harder to use and slightly buggier and slightly less polished than proprietary competitors?</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;em&gt;People hosting instances of CryptPad should read at least the
&lt;a href=&quot;https://blog.cryptpad.org/2017/06/02/Building-mutually-beneficial-relationships/#Changes-in-CryptPad&quot;&gt;Changes in CryptPad&lt;/a&gt;
section&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Thanks to Scott Alexander for some of the
&lt;a href=&quot;http://slatestarcodex.com/2014/07/30/meditations-on-moloch/&quot;&gt;ethical foundations&lt;/a&gt;
of this post.&lt;/em&gt;&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;You ever wonder why Open Source software always seems to be slightly harder to use and slightly buggier and slightly less &lt;em&gt;polished&lt;/em&gt; than proprietary competitors?&lt;/p&gt;
&lt;p&gt;How about this: Why is it that good people who want to make good things somehow
end up making evil things for evil corporations which sell them to other good
people who would (presumably) rather buy good things.&lt;/p&gt;
&lt;h2&gt;It&#39;s all about incentives&lt;/h2&gt;
&lt;p&gt;It&#39;s hard to talk about incentives without sounding like a miserly tool, but if
we&#39;re going to hack ourselves out of a situation that nobody really wants to be in,
we&#39;re going to need to understand them pretty well.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Why is Open Source habitually &lt;em&gt;90% of the way there&lt;/em&gt; ?&lt;/li&gt;
&lt;li&gt;Why is Facebook more addictive than it is useful ?&lt;/li&gt;
&lt;li&gt;Why is it that when you get something for free, even from a well funded
government program, it&#39;s reliably worse than something you buy?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;It&#39;s all about incentives.&lt;/p&gt;
&lt;h3&gt;In a restaurant, you&#39;re the customer&lt;/h3&gt;
&lt;p&gt;I love going to restaurants. I have no car and few possessions so restaurants are
the way I spend my income. Not only do I love food but I love the relationship
which I have with restaurateurs. When I walk into a restaurant, I want to be fed
delicious food and they want to be paid, not only that, they want me to be happy
so I will return many times and bring my friends. I want them to be happy so they
will give me bigger portions and maybe a little dessert on the house. Our
incentives are aligned perfectly. We are practically a team.&lt;/p&gt;
&lt;h3&gt;In a soup kitchen, you&#39;re just a user&lt;/h3&gt;
&lt;p&gt;It is hard to deny the importance of soup kitchens to the fabric of society.
Part of what makes us able to claim to be civilized is the fact that we don&#39;t let
people simply die if they&#39;re down on their luck. Soup kitchens, however, are not
restaurants. When you walk into a soup kitchen, you are generally greeted kindly
but there is a subtle distinction from a restaurant, at a restaurant you&#39;re the
customer and at a soup kitchen you&#39;re just a &lt;em&gt;user&lt;/em&gt;. Many soup kitchens are
organized around religious groups and  evangelizing their belief is a significant
part of their motivation, but even secular organizations are motivated by some
sort of a higher calling.&lt;/p&gt;
&lt;h3&gt;Open Source is a soup kitchen&lt;/h3&gt;
&lt;p&gt;I&#39;ve been developing Open Source both professionally and personally for 7 years
and I&#39;m going to tell you something that many Open Source developers won&#39;t admit.
Open Source software is not made for you. Sometimes Open Source developers are
motivated by the Free Software ideology and they imagine their code as
transforming the world, sometimes they just want to solve some problem for
themselves and they give away the resulting code. Open Source software is almost
never developed for the simple purpose of making another person&#39;s life a little
easier.&lt;/p&gt;
&lt;h2&gt;If you aren&#39;t the customer you&#39;re the product&lt;/h2&gt;
&lt;p&gt;This aphorism has become popular with the rise of ad-tech and social network
websites. The phrase invokes an image of free services coming like free grain
because you are, in fact, the pig on his way to slaughter. In some way this is
true, Silicon Valley business models are becoming disturbingly like human
farming.&lt;/p&gt;
&lt;p&gt;However, the phrase also invokes an image of an evil entrepreneur plotting to
enslave humanity by creating a slick social network. If 1 in 1000 companies is
successful then logic implies there must be thousands of evil entrepreneurs
running around everywhere. If this is true then where are all of the failed
evil plotters? I&#39;ve never met an entrepreneur who was anything less than an
aspiring saint.&lt;/p&gt;
&lt;p&gt;I think the real reason why social networks become human farms is because people
don&#39;t want to pay for development of web services and stuck between a successful
human farm and a failing soup kitchen, entrepreneurs begrudgingly choose to farm.&lt;/p&gt;
&lt;h2&gt;Breaking out&lt;/h2&gt;
&lt;p&gt;If we&#39;re ever going to stop living in a world of farms and soup kitchens, we&#39;re
going to need to get serious about incentives. Part of my intention in starting
the CryptPad project is to build something that is not a farm nor a soup kitchen.
I want to have a mutually beneficial relationship with every one of CryptPad&#39;s
users, including you. I don&#39;t want to be a charity worker beholden to an NGO or
a post office clerk drawing a paycheck from the state. I want you to be my boss,
I want to obsess about making your life better, I want fair exchange of value
and aligned incentives.&lt;/p&gt;
&lt;h2&gt;Changes in CryptPad&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://blog.cryptpad.org/2017/05/23/CryptPad-use-it-love-it-support-it/&quot;&gt;As you may already know&lt;/a&gt;,
&lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; now limits your data storage and allows you to buy an account which
will raise that limit. The code for limits and accounts is also in the CryptPad
codebase and turned on by default. If you are installing CryptPad, you have
three choices.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Leave it exactly as it is: People will be limited to 50MB of storage and they
will see a &lt;em&gt;Support CryptPad&lt;/em&gt; button. In the development time this donated money
buys, we will pay special consideration to the needs of CryptPad admins like you.&lt;/li&gt;
&lt;li&gt;Share the revenue: If you specify some configuration parameters and send us
an &lt;a href=&quot;mailto:sales@cryptpad.fr&quot;&gt;email&lt;/a&gt;, the donation button will become an
&lt;em&gt;Upgrade Account&lt;/em&gt; button, allowing them to take a plan with additional storage
quota. When people upgrade their account on your server, we will credit you 50%
of the revenue earned. This helps us pay the cost of development and helps you
pay the cost of hosting.&lt;/li&gt;
&lt;li&gt;Disable the donate button: If you do this, we hope you will help CryptPad in
some other way such as by taking an on-premises support contract.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;If you run a public CryptPad instance, please don&#39;t increase the 50MB per user
storage limit. This limit is what makes people subscribe and what pays for
CryptPad development. Running a CryptPad instance which offers a &amp;quot;better deal&amp;quot;
is effectively using the project against itself.&lt;/p&gt;
&lt;p&gt;Finally, new versions of CryptPad always check for new or expired accounts from
our account server. We have added a parameter called &lt;em&gt;adminEmail&lt;/em&gt; which will be
sent along with the domain and version of CryptPad you&#39;re running. This way we
can notify you if we&#39;re aware of any a serious problems with your CryptPad
instance. We take your privacy seriously and will never sell your email or send
you marketing spam. If, however, you want to keep your CryptPad instance
completely  hidden from us, you can set this parameter to &lt;strong&gt;false&lt;/strong&gt; and it will
never query the account server.&lt;/p&gt;
&lt;h2&gt;Coming next&lt;/h2&gt;
&lt;p&gt;Our objective is to help you collaborate, stay organized and get things done
faster and easier. We want to provide maximum value to you and we want you to
provide value to us so that we can continue doing it. As was said in the
previous post, the big issues which we are planning to tackle soon are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;File upload for PDF and image embedding&lt;/li&gt;
&lt;li&gt;Text coloring based on the authors of the document&lt;/li&gt;
&lt;li&gt;Workgroups for team collaboration&lt;/li&gt;
&lt;li&gt;Zero Knowledge spreadsheets&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As always, we will be continuing to put great effort into understanding your
problems, how you go about solving them, and how we can make little changes to
make CryptPad fit your needs better.&lt;/p&gt;
&lt;p&gt;Caleb&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>CryptPad - use it, love ❤️ it, support it</title>
    <link href="https://blog.cryptpad.org/2017/05/23/CryptPad-use-it-love-it-support-it/"/>
    <updated>2017-05-23T18:40:35Z</updated>
    <id>https://blog.cryptpad.org/2017/05/23/CryptPad-use-it-love-it-support-it/</id>
    <summary xml:lang="en" type="html">It&#39;s been another release day in our little team. Today we released CryptPad v1.7.0 (Hodag). The biggest new feature in this version is that when you create a /code/ pad, the default highlighting is in markdown syntax and there it is rendered in realtime while you type.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;It&#39;s been another release day in our little team. Today we released
&lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/1.7.0&quot;&gt;CryptPad v1.7.0 (Hodag)&lt;/a&gt;. The biggest new feature in this version is that when you create a &lt;em&gt;/code/&lt;/em&gt; pad, the default highlighting is in markdown syntax and there it is rendered in realtime while you type. Try it out by making a pad at &lt;a href=&quot;https://cryptpad.fr/code&quot;&gt;cryptpad.fr/code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In this release we also completed something much more important and central to the future of CryptPad. We finished our first version of the payment server which allows you to take a subscription and help support the work that we do.&lt;/p&gt;
&lt;p&gt;Starting with this release we are now imposing a 50MB storage limit for our anonymous users and a 3 month expiration of pads which are not stored by a registered user.&lt;/p&gt;
&lt;p&gt;Instant collaboration is the vision of CryptPad and we are committed to continuing to provide that and even providing 50MB of persistent storage for anyone who is willing to sign up.&lt;/p&gt;
&lt;p&gt;For people who are ready to take the next step, we are now providing subscriptions which will improve how you organize your information while helping CryptPad to grow and improve.&lt;/p&gt;
&lt;h2&gt;Plans&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Personal (5GB storage, 5€/month ex. VAT)
&lt;ul&gt;
&lt;li&gt;This is best for an individual using lots of pads for collaboration and note taking. For the price of a sandwich you can stay organized on all of your devices while also keeping your privacy private.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Standard (20GB storage, 10€/month ex. VAT)
&lt;ul&gt;
&lt;li&gt;For the price of lunch, you can have 20GB of storage, enough for not only pads but also for the soon to launch File Upload which will allow Zero Knowledge storage of files such as pictures and PDF documents. With the Standard plan you can add one more friend for free.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Team (50GB storage, 15€/month ex. VAT)
&lt;ul&gt;
&lt;li&gt;If you&#39;re ready to extend your usage of CryptPad to an entire team, we are ready to help you succeed. With a Team plan you get 50GB of data storage in CryptPad, plenty for files and pads. You also get to add &lt;strong&gt;five&lt;/strong&gt; people to your plan and you get professional support available in English and French.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Our goal is to make the best collaboration tool available while still being unable to sell or leak your content. Help us succeed, helping you stay organized and help show the world that Zero Knowledge Cloud is possible.&lt;/p&gt;
&lt;h2&gt;For Admins&lt;/h2&gt;
&lt;p&gt;If you&#39;re hosting your own instance of CryptPad, there are a few things you&#39;ll need to do when you upgrade to Hodag. The limits code is still somewhat of a mess and while we get it tied down, you&#39;ll need to do a bit of work to disable it.&lt;/p&gt;
&lt;p&gt;First there is a serverside per-user storage limit defined in &lt;code&gt;config.js&lt;/code&gt; You&#39;ll want to set this to a big number like so:&lt;/p&gt;
&lt;p&gt;defaultStorageLimit: Number.MAX_SAFE_INTEGER&lt;/p&gt;
&lt;p&gt;Then there is &lt;code&gt;customize/application_config.js&lt;/code&gt;. If you&#39;re not familiar with &lt;code&gt;/customize/&lt;/code&gt;, you can create this directory and then copy &lt;code&gt;application_config.js&lt;/code&gt; over from the &lt;code&gt;/customize.dist/&lt;/code&gt; directory so it will not be overwritten. The server will try looking in &lt;code&gt;/customize/&lt;/code&gt; first.&lt;/p&gt;
&lt;p&gt;Inside of &lt;code&gt;application_config.js&lt;/code&gt; you&#39;ll need to update the &lt;code&gt;enablePinLimit&lt;/code&gt; line like so:&lt;/p&gt;
&lt;p&gt;enablePinLimit = false;&lt;/p&gt;
&lt;p&gt;If you&#39;re using your own CryptPad installation in a business context, please consider contacting &lt;a href=&quot;mailto:sales@cryptpad.fr&quot;&gt;sales@cryptpad.fr&lt;/a&gt; for an on-premises support contract. You&#39;ll get help with upgrades and early information about security issues.&lt;/p&gt;
&lt;h2&gt;What&#39;s Next&lt;/h2&gt;
&lt;p&gt;In the coming months, we&#39;re hoping to roll out text coloring based on the authors of the document as well as file upload for PDF and image embedding. Eventually we plan to add Zero Knowledge spreadsheets and workgroups for team collaboration.&lt;/p&gt;
</content>
    <category term="donate" scheme="https://blog.cryptpad.org/tags/donate/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
  </entry>
  <entry>
    <title>You gotta log in</title>
    <link href="https://blog.cryptpad.org/2017/05/17/You-gotta-log-in/"/>
    <updated>2017-05-17T12:22:52Z</updated>
    <id>https://blog.cryptpad.org/2017/05/17/You-gotta-log-in/</id>
    <summary xml:lang="en" type="html">It&#39;s been two and a half years since the first commit to CryptPad, we no longer have the hideous white and green color-scheme and we&#39;re on our third URL format.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;It&#39;s been two and a half years since the &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/commit/1508c7ba71f5de5e51f061fbef45bc1f18493832&quot;&gt;first commit to CryptPad&lt;/a&gt;,
we no longer have the hideous white and green color-scheme and we&#39;re on our third URL format.
More importantly we now have a CryptDrive with folders instead of just remembering a few recent
pads in the browser&#39;s local storage.&lt;/p&gt;
&lt;p&gt;The success of CryptPad as a tool for organizing and collaboration makes us glad to be working on
the technology, but our desire to avoid collecting metadata has lead to an unsustainable situation.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;We can&#39;t store data we don&#39;t understand for people we don&#39;t know&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;There has been a proliferation of pads which are not accessed after a while and we don&#39;t know who
made them or even what type of pad they are. We know that a great many of them are &amp;quot;test pads&amp;quot;,
if for no other reason, because we made a lot of them. Eventually we will be forced to delete old
data but we don&#39;t want to delete anything important.&lt;/p&gt;
&lt;p&gt;Starting a few weeks ago we implemented a system called pinning. When you are logged in, your
browser tells CryptPad all of the things in your drive. We don&#39;t know what&#39;s in them but we know
they&#39;re important so we shouldn&#39;t delete them. Right now you can log in to CryptPad, go to your
&lt;a href=&quot;https://cryptpad.fr/settings/&quot;&gt;Settings Page&lt;/a&gt; and click the &lt;strong&gt;Usage&lt;/strong&gt; button to see how much data
you are pinning.&lt;/p&gt;
&lt;p&gt;We recognize many users of CryptPad would like to use it anonymously and we will continue to support
anonymous pads, but soon they will begin to be removed from storage after 3 months of inactivity.
We&#39;ve also simplified the anonymous CryptDrive because we want to send the message loud and clear
that &lt;em&gt;pads in the anonymous drive are not safe from deletion&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;So please register and log in, you&#39;ll get 50MB of pinning quota with the full features of CryptDrive
and you can be sure that none of your pads will ever be removed from the server.&lt;/p&gt;
</content>
    <category term="login" scheme="https://blog.cryptpad.org/tags/login/"/>
    <category term="storage" scheme="https://blog.cryptpad.org/tags/storage/"/>
  </entry>
  <entry>
    <title>Funding CryptPad</title>
    <link href="https://blog.cryptpad.org/2017/04/20/Funding-CryptPad/"/>
    <updated>2017-04-20T12:15:09Z</updated>
    <id>https://blog.cryptpad.org/2017/04/20/Funding-CryptPad/</id>
    <summary xml:lang="en" type="html">CryptPad started as a novel idea: provide a means for people to collaborate on the web, without their data being exposed to the server that connects them</summary>
    <content xml:lang="en" type="html">&lt;p&gt;CryptPad started as a novel idea:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;provide a means for people to collaborate on the web, without their data being exposed to the server that connects them&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Since its conception as one developer&#39;s hobby project, this idea has grown organically into a team of core developers, a community of contributors, and a growing number of people who collaborate with CryptPad every day.&lt;/p&gt;
&lt;h2&gt;How we&#39;re able to do this work&lt;/h2&gt;
&lt;p&gt;CryptPad is a part of the OpenPaaS-NG project, which is funded by &lt;a href=&quot;http://www.bpifrance.fr/&quot;&gt;BPIFrance&lt;/a&gt;.
As mentioned in &lt;a href=&quot;https://blog.cryptpad.fr/2017/04/01/Exciting-news/&quot;&gt;our April 1st post&lt;/a&gt;, this funding only applies to 50% of our expenses.
I joked that the other 50% was being covered by our new partners (the &lt;em&gt;&lt;strong&gt;NSA&lt;/strong&gt;&lt;/em&gt;), but in fact, the remainder is still covered entirely by &lt;a href=&quot;http://xwiki.com/&quot;&gt;XWiki SAS&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;We have a fair amount of autonomy when it comes to deciding what features we will develop.
With that in mind, however, there are some long term goals that come as a part of OpenPaaS, some that stem from XWiki, and some that come from feedback from our userbase.&lt;/p&gt;
&lt;p&gt;We recognize that however people&#39;s goals may differ, ultimately everyone with an interest in the project would like to see it continue to receive attention.&lt;/p&gt;
&lt;p&gt;By operating as part of an established company that has a history of building open source software, we&#39;re able to leverage experience and resources that would not be as readily available if we were to attempt to build the same thing in our free time.
Our ability to solicit research funding means that individuals who wish to see the project prosper are not solely responsible for its livelihood.&lt;/p&gt;
&lt;p&gt;Since the &lt;a href=&quot;https://open-paas.org/&quot;&gt;OpenPaaS-NG project&lt;/a&gt; is only funded until 2019, we&#39;ve been searching for other means of funding.
Until 2019, any additional revenue would serve to ease the load on our employer.
We hope that by the time the project finishes, we will have solidified a stream of income which is stable enough to make CryptPad entirely self-sustaining.&lt;/p&gt;
&lt;h2&gt;Our new funding strategies&lt;/h2&gt;
&lt;p&gt;Many of the largest web companies operate by offering free services to anyone who wants to use them.
They offset the costs of these services by selling user data to whoever will buy it, or by selling ad space to anyone who wants to sell to their market.&lt;/p&gt;
&lt;p&gt;We&#39;ve chosen not to pursue either of these options.
Instead, we want to appeal to those who value the work we&#39;re doing, and provide options for supporting it, so that we can continue to improve CryptPad.
We&#39;re willing to bet on a trend that other privacy-conscious enterprises have demonstrated, that people are &lt;em&gt;willing to pay not to be a product themselves&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;To be perfectly clear, we will continue to develop our code in the open.
Anybody who wants to install CryptPad for themselves will still be able to do so.
Additionally, the features CryptPad now offers will continue to be available under the current terms.
Going forward, however, we will offer certain additional functionality as premium features.&lt;/p&gt;
&lt;h3&gt;Paid hosting&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; hosts an ever-increasing amount of data.
So far, this hasn&#39;t been a concern, but as more people take interest in the project this won&#39;t be something that we can sustain.&lt;/p&gt;
&lt;p&gt;In many cases, people create a pad as a test of the software, and forget about it once they understand how things work.
In other situations, people use CryptPad to collaborate on reports, code, or presentations.
At some point, those projects are finished, and those documents are forgotten.&lt;/p&gt;
&lt;p&gt;To address this problem, we&#39;ve implemented &lt;strong&gt;pinning&lt;/strong&gt;, which is a way of telling the server that you want a pad to continue to be available.
Anonymous pads, that is, &lt;em&gt;those which aren&#39;t pinned by a registered user&lt;/em&gt;, are liable to be removed after 90 days of not having been read or modified.
We believe this time is sufficient to distinguish valuable information from that which is safe to remove.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pinning will only be available to registered users.&lt;/li&gt;
&lt;li&gt;Pinning will take effect following our next release, on April 25th, 2017&lt;/li&gt;
&lt;li&gt;Everything that is in your drive will be automatically pinned.
&lt;ul&gt;
&lt;li&gt;new files will be pinned once you add them to your drive&lt;/li&gt;
&lt;li&gt;removing a file from your drive&#39;s trash will unpin it&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Unpinned files which have not been accessed for at least 90 days will be removed
&lt;ul&gt;
&lt;li&gt;effective July 24th, 2017 (90 days from April 25th)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Registration is free, but we plan to offer users a limited amount of storage space for pinning.&lt;/li&gt;
&lt;li&gt;For additional storage, you&#39;ll have the option of paying a modest fee for an increased quota.&lt;/li&gt;
&lt;li&gt;We&#39;ll have more information about pricing soon.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Support contracts for private installations&lt;/h3&gt;
&lt;p&gt;If you&#39;ve decided to host CryptPad yourself, we fully understand.
Like you, we use free software, and know the benefits of taking responsibility for your own infrastructure.&lt;/p&gt;
&lt;p&gt;If you&#39;re using CryptPad to host critical information, however, you might consider purchasing a support contract.
We&#39;re still figuring out the details of our support contracts, however, this approach has proven to be of valuable to XWiki&#39;s many customers in the past.
You can see an example of XWiki&#39;s pricing &lt;a href=&quot;http://www.xwiki.com/en/products/pricing-onpremise&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you plan to use CryptPad for your business, consider that it might be more time and cost effective to have us install and configure everything than to learn to administrate it on your own.
Otherwise, if you find that you&#39;re comfortable setting everything up in a basic configuration, but you&#39;d like help configuring your server to behave in a special way, we&#39;ll be there to help.&lt;/p&gt;
&lt;h3&gt;Sponsored development of open source features&lt;/h3&gt;
&lt;p&gt;If there&#39;s a particular feature you&#39;d like to see implemented within CryptPad, we&#39;re able to dedicate development time to build it into the software in the best way possible.&lt;/p&gt;
&lt;p&gt;Sponsored development allows us to build features to suit particular users&#39; needs.
By integrating those features into the official, open source version of CryptPad, we ensure that they will be used by as many people as possible.
This helps us refine those features to be even more useful for you, and ensures that they will continue to be supported well into the future.&lt;/p&gt;
&lt;h2&gt;What&#39;s next&lt;/h2&gt;
&lt;p&gt;Since we announced our &lt;a href=&quot;https://blog.cryptpad.fr/2017/02/24/Announcing-biweekly-releases/&quot;&gt;bi-weekly release schedule&lt;/a&gt;, we&#39;ve tried to make sure that each release contains an exciting feature.
This time around, we&#39;ve had to set some time aside to implement pinning, as well as code for reporting the size used by any one user&#39;s drive.
We realize this isn&#39;t especially interesting for most of you, but it will be necessary for some more advanced features which we hope to share with you soon.&lt;/p&gt;
&lt;p&gt;By providing a quota system for our registered users, we will be able to offer encrypted file upload capabilities.
You&#39;ll be able to upload images, and embed them in presentations and pads, a process which has been somewhat difficult so far.
Our decision to limit users&#39; upload capacity is intended less to make a profit, and more to limit abuse.&lt;/p&gt;
&lt;p&gt;We recognize that disk space is getting cheaper all the time, and that cloud hosting services will be able to offer more competitive pricing.
Our aim isn&#39;t to compete with the giants in the cloud industry, but simply to finance our ongoing research into privacy-friendly collaboration.
There is still much to do, but working together, we can accomplish great things.&lt;/p&gt;
</content>
    <category term="research" scheme="https://blog.cryptpad.org/tags/research/"/>
    <category term="funding" scheme="https://blog.cryptpad.org/tags/funding/"/>
  </entry>
  <entry>
    <title>What is Zero Knowledge</title>
    <link href="https://blog.cryptpad.org/2017/03/24/What-is-Zero-Knowledge/"/>
    <updated>2017-03-24T14:42:03Z</updated>
    <id>https://blog.cryptpad.org/2017/03/24/What-is-Zero-Knowledge/</id>
    <summary xml:lang="en" type="html">We have gotten a lot of questions about the concept of Zero Knowledge, the vision and ethics as well as the exact meaning.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;We have gotten a lot of questions about the concept of Zero Knowledge, the vision and ethics as well as the exact meaning.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;What is Zero Knowledge?&lt;/li&gt;
&lt;li&gt;How can encryption in the browser be secure?&lt;/li&gt;
&lt;li&gt;What about metadata?&lt;/li&gt;
&lt;li&gt;Most importantly: How to know if a service is Zero Knowledge?&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I wanted to write a blog post to clarify what Zero Knowledge is all about. Zero Knowledge has two meanings, it can refer to a &lt;em&gt;Zero Knowledge Proof&lt;/em&gt;, an obscure mathematical construct with few real-world uses but it can also refer to something with a very real-world meaning: web services which encrypt your content so that they themselves cannot read it. You may be wondering how this can be secure when a web administrator can quietly change their site to an unencrypted version at any time. This is a real problem, there is currently no way to verify the content (and code) of a website, but we need not despair. Even though we cannot prove that a website is &lt;em&gt;secure&lt;/em&gt;, we can check that they are promising to make themselves blind to your content and they make that promise knowing if break it they might get caught.&lt;/p&gt;
&lt;h2&gt;Security is probabilistic&lt;/h2&gt;
&lt;p&gt;Consider the security software you use every day such as your web browser with HTTPS, your phone and your computer&#39;s operating system. Have you ever stopped to check that software for &amp;quot;backdoors&amp;quot; (intentionally inserted which break your security)? If you have then you are one of the tiny group of heroes who dedicate their time to making the world a bit more robust and I salute you for it. If you&#39;re like the rest of us, you just hope that the authors of that software were honest enough and protective enough of their reputations to avoid inserting a backdoor when it means potentially getting caught. Zero Knowledge is based on the same logic, just as software makers can surreptitiously add a backdoor to their software, Zero Knowledge websites can serve a backdoor to the user. However, just as software makers who insert backdoors in their software risk getting caught, Zero Knowledge web app providers who insert backdoors in their website also risk being caught.&lt;/p&gt;
&lt;h2&gt;The metadata question&lt;/h2&gt;
&lt;p&gt;Metadata is a serious issue. Former CIA director Michael Hayden said of the agency: &amp;quot;We kill people based on metadata&amp;quot;. I don&#39;t want to belittle the importance of data which is not the actual content, but at the same time we must recognize that there is a huge uphill climb fix this issue. While the CryptPad project tries not to collect metadata when it can be avoided, we also recognize that other cloud providers may collect more or less metadata than us in order to provide their services. Fundamentally, we accept that a service qualifies as Zero Knowledge as long as the &lt;em&gt;content&lt;/em&gt; is protected from the server operators. We are committed to studying ways to develop new, more secure solutions to the metadata issue but the spirit of Zero Knowledge is about more ethical solutions which are immediately actionable.&lt;/p&gt;
&lt;h2&gt;How to know if a service is Zero Knowledge&lt;/h2&gt;
&lt;p&gt;Zero Knowledge is about trust, nobody can read over and verify all of the code of all of the Zero Knowledge services available, but there are some heuristics which you can use when choosing a service.&lt;/p&gt;
&lt;h3&gt;1. Is it primarily Open Source ?&lt;/h3&gt;
&lt;p&gt;Services which are primarily Open Source are easier to evaluate both for accidental security mistakes and for potentially nefarious behavior. Furthermore, when a company commits their software to Open Source they make a statement that they are in the business of being an ethical provider for the long term and are not just riding the wave of a popular term.&lt;/p&gt;
&lt;h3&gt;2. Were you warned about losing your password ?&lt;/h3&gt;
&lt;p&gt;True Zero Knowledge services must protect your data from themselves using something you know and they don&#39;t, such as your password... In the event that you lose your password and you are using a true Zero Knowledge service, your content will be inaccessible to you and to the service - the locks that keep them out will keep you out as well. Check for this warning.&lt;/p&gt;
&lt;h3&gt;3. Does it claim to be Zero Knowledge or End-to-end Encrypted ?&lt;/h3&gt;
&lt;p&gt;This is perhaps the most important question, because when a service provider makes the public statement that they are Zero Knowledge, they show they are prepared to risk their reputation if they are discovered to be storing your content in a way they can access. Some Zero Knowledge providers prefer the term &lt;em&gt;End-to-end Encrypted&lt;/em&gt; which has gained significant popularity with messaging apps. There is no functional difference between a Zero Knowledge application and one which advertizes End-to-end Encryption.&lt;/p&gt;
&lt;h2&gt;Talk to us&lt;/h2&gt;
&lt;p&gt;CryptPad is developed by a team of 3 people with generous financing from BPIFrance through the &lt;a href=&quot;http://ng.open-paas.org/about-us.html&quot;&gt;OpenPaaS::NG Research Project&lt;/a&gt;. Our mission is to make Cloud Computing more ethical by promoting Zero Knowledge Cloud Services and show young entrepreneurs that it is possible to make a living while being ethical with peoples&#39; data. Meet us in our IRC/Matrix channel on Freenode and at: &lt;a href=&quot;https://riot.im/app/#/room/#cryptpad:matrix.org&quot;&gt;https://riot.im/app/#/room/#cryptpad:matrix.org&lt;/a&gt;&lt;/p&gt;
</content>
    <category term="zero knowledge" scheme="https://blog.cryptpad.org/tags/zero knowledge/"/>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
  </entry>
  <entry>
    <title>Security growing pains</title>
    <link href="https://blog.cryptpad.org/2017/03/06/Security-growing-pains/"/>
    <updated>2017-03-06T11:04:58Z</updated>
    <id>https://blog.cryptpad.org/2017/03/06/Security-growing-pains/</id>
    <summary xml:lang="en" type="html">Update: The issue mentioned in this blog post was assigned CVE-2017-1000051 by Distributed Weakness Filing, thanks Martin Gubri for applying for the number.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;&lt;em&gt;Update: The issue mentioned in this blog post was assigned &lt;a href=&quot;https://github.com/distributedweaknessfiling/DWF-CVE-2017-1000000/blob/f2e15ac3468dd382d9ffa3d5acc032c106f3248c/CVE-2017-1000051.json&quot;&gt;CVE-2017-1000051&lt;/a&gt; by Distributed Weakness Filing, thanks Martin Gubri for applying for the number.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;To sum things up:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Framartin&quot;&gt;Martin Gubri&lt;/a&gt; volunteered to help us with security testing and found multiple XSS vulnerabilities&lt;/li&gt;
&lt;li&gt;We learned things and improved our security in multiple ways and we have plans to build even further improvements&lt;/li&gt;
&lt;li&gt;Update all the things&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;Exactly what happened&lt;/h2&gt;
&lt;p&gt;Late Tuesday night after work, I got an email from Martin Gubri telling me that he had found multiple XSS vulnerabilities in CryptPad.
This is not fun news for anybody, but as the browser stores encryption keys, it is especially bad news.
I want to reiterate what I said in &lt;a href=&quot;https://blog.cryptpad.fr/2017/02/20/Time-to-Encrypt-the-Cloud/&quot; title=&quot;Time to Encrypt the Cloud&quot;&gt;our first blog post&lt;/a&gt;, CryptPad is just a regular web app but with provable ethics, it is not designed to provide military grade security.&lt;/p&gt;
&lt;p&gt;Though we could have waited until our next release to fix this issue, we decided that we could not feel good working on new features while knowing about an issue which could harm our users.
However, we wanted to fix the systemic issue which caused XSS to be possible in the first place, not just the symptoms which we became aware of.&lt;/p&gt;
&lt;p&gt;CryptPad uses a modern web feature called &lt;a href=&quot;https://en.wikipedia.org/wiki/Content_Security_Policy&quot;&gt;Content Security Policy&lt;/a&gt; to prevent attacks such as this one.
Content Security Policy allows a web server to mandate that javascript can only be loaded from domains which are explicitly authorized.
Unfortunately, CKEditor &lt;a href=&quot;https://dev.ckeditor.com/ticket/8584&quot;&gt;makes heavy usage of inline scripts&lt;/a&gt; (scripts which are written directly into the HTML file), so we had made an exception for inline script which represents the most common type of XSS.
When Martin did a review of our application, he found multiple places where we had not been properly escaping HTML content and sadly all of these were attackable despite our Content Security Policy.&lt;/p&gt;
&lt;h2&gt;How we reacted&lt;/h2&gt;
&lt;p&gt;For me, a security bug does not come alone, it is always the result of multiple failures at different levels.
Zero Knowledge is about resilient software for resilient society and we allowed ourselves to rely entirely on proper escaping.&lt;/p&gt;
&lt;p&gt;On Thursday, March 6th, 2017, we deployed and released a set of patches to our previous &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/1.1.0&quot;&gt;Bunyip release&lt;/a&gt;, which we&#39;re calling &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/releases/tag/1.1.1&quot;&gt;1.1.1 &lt;em&gt;Bunyip&#39;s Revenge&lt;/em&gt;&lt;/a&gt;.
This not only sanitizes XSS in places where we know about but it also implements a strong Content Security Policy everywhere except inside of the CKEditor iframe, which insists on injecting script tags.&lt;/p&gt;
&lt;p&gt;It is important to upgrade as soon as possible because XSS attacks can potentially give an adversary access to all of your pads.
If you&#39;re using &lt;a href=&quot;http://cryptpad.fr/&quot;&gt;cryptpad.fr&lt;/a&gt; on the website then there&#39;s nothing you need to do, everything is fixed.&lt;/p&gt;
&lt;h2&gt;Moving forward&lt;/h2&gt;
&lt;p&gt;We want to find and pioneer better ways of protecting your data on CryptPad.
We also hope to foster a whole movement of Zero Knowledge web services which feature layered security, protecting users from external threats as well as the mistakes that developers are sure to make.&lt;/p&gt;
&lt;p&gt;Spurred on by the revelation of our own errors, we have reinvigorated a conversation about moving each of the &lt;em&gt;apps&lt;/em&gt; such as CKEditor into a &lt;a href=&quot;https://www.html5rocks.com/en/tutorials/security/sandboxed-iframes/&quot;&gt;sandboxed iframe&lt;/a&gt; where they would be unable to access any of the cryptographic keys or other pads.
This introduces some difficulty on our end, as we want to provide a resilient platform while making Zero Knowledge an approachable subject for web developers.&lt;/p&gt;
&lt;p&gt;Finally I would like to also publically thank our friend &lt;a href=&quot;https://github.com/kpcyrd&quot;&gt;&lt;em&gt;kpcyrd&lt;/em&gt;&lt;/a&gt; for finding another XSS issue back in early December of 2016, before we had official releases or a blog where we could give him credit for his work.&lt;/p&gt;
</content>
    <category term="security" scheme="https://blog.cryptpad.org/tags/security/"/>
    <category term="xss" scheme="https://blog.cryptpad.org/tags/xss/"/>
  </entry>
  <entry>
    <title>Announcing biweekly releases</title>
    <link href="https://blog.cryptpad.org/2017/02/24/Announcing-biweekly-releases/"/>
    <updated>2017-02-24T16:26:03Z</updated>
    <id>https://blog.cryptpad.org/2017/02/24/Announcing-biweekly-releases/</id>
    <summary xml:lang="en" type="html">When I joined the research team at XWiki a little over a year ago, CryptPad was very much an experiment. We had ideas of what we wanted to accomplish, but we didn&#39;t know whether it would work at all...</summary>
    <content xml:lang="en" type="html">&lt;p&gt;When I joined the research team at &lt;a href=&quot;http://www.xwiki.com/en/team/&quot;&gt;XWiki&lt;/a&gt; a little over a year ago, CryptPad was very much an experiment.
We had ideas of what we wanted to accomplish, but we didn&#39;t know whether it would work at all, let alone how we were going to get there.&lt;/p&gt;
&lt;p&gt;We&#39;ve come a long way since then.
Having proven that &lt;em&gt;zero knowledge, real time collaborative editing&lt;/em&gt; in the browser was possible, we&#39;ve been thinking about an even more difficult task:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;How do we make this something that &lt;em&gt;anybody&lt;/em&gt; can use?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2&gt;How we&#39;ve gotten here&lt;/h2&gt;
&lt;p&gt;We&#39;ve built CryptPad from a number of small pieces.
In some cases, we were lucky enough to find existing software libraries which solved our problems.
We love when this happens because it keeps us from having to reinvent the wheel, leaving more time for unsolved problems.&lt;/p&gt;
&lt;p&gt;When you try to build something that nobody has built before, however, you run into problems that nobody else cares about.
We&#39;ve had to build a lot of our own components, and some of them have been incredibly complicated.&lt;/p&gt;
&lt;p&gt;Some bugs only become obvious under very odd circumstances, when users with different browsers do very specific sequences or combinations of actions.
Our growing userbase has been critical in helping us to identify these kinds of issues, and things have been improving steadily.&lt;/p&gt;
&lt;h2&gt;What we&#39;ve learned&lt;/h2&gt;
&lt;p&gt;Our longest delays have come from working on tough problems that managed to get tangled up with smaller bug fixes, which kept them from reaching our users.
At the end of 2016, however, most of these big, complicated issues were coming to a close.
Our team took some much-needed vacation time, and upon returning we started working to release and deploy a tagged version of our codebase.&lt;/p&gt;
&lt;p&gt;Our newest features went live to &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt; on Tuesday, the 14th of February.
Some of them are big enough that we&#39;ll probably dedicate entire blog posts to them, but the release notes are &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/tree/1.0.0&quot;&gt;on GitHub&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;Our new release policy&lt;/h2&gt;
&lt;p&gt;In the interest of getting feedback from our users more quickly, we&#39;ve decided to adopt a two week release cycle.
We&#39;re going to focus on delivering features that directly improve your experience.&lt;/p&gt;
&lt;p&gt;The live site will run code from our latest &lt;em&gt;master&lt;/em&gt; branch, while the upcoming release will be on the &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad/tree/staging&quot;&gt;staging&lt;/a&gt; branch.&lt;/p&gt;
&lt;p&gt;Each release will come with a set of notes detailing what we did, and known issues that didn&#39;t quite make it into that version.
We&#39;ll work on getting those issues fixed in the following cycle.&lt;/p&gt;
&lt;p&gt;Whenever we deploy these big updates, we&#39;ll announce when we expect the next one to arrive.
Since we started on a Tuesday, we expect to deploy again on Tuesday, February the 28th, 2017.&lt;/p&gt;
&lt;h2&gt;Codenamed releases&lt;/h2&gt;
&lt;p&gt;Since it&#39;s difficult to remember versions of the software if they have names like &lt;code&gt;1.0.0&lt;/code&gt;, we&#39;ve decided to give each one a more memorable codename.
With there being 26 letters in the Latin alphabet, and 26 two week releases in the year, we started looking for alphabetical lists from which we could choose names.
We didn&#39;t look for very long until we thought of &lt;em&gt;Cryptids&lt;/em&gt;...&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;an animal whose existence or survival is disputed or unsubstantiated, such as the yeti&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We quickly settled on picking a name from this list every two weeks, starting with the letter A, and proceding through the alphabet.
For version &lt;code&gt;1.0.0&lt;/code&gt;, we went with &lt;a href=&quot;https://en.wikipedia.org/wiki/Agogwe&quot;&gt;Agogwe&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There won&#39;t necessarily be much significance to the name we choose, but we hope that nobody will worry if we choose a particularly frightening cryptid for a given release.
Some of the code is bound to be difficult and scary to write, but we want your experience to be &lt;em&gt;as easy as possible&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;As always, if you have any feedback you&#39;d like to share, we want to hear it!
&lt;a href=&quot;https://cryptpad.fr/contact.html&quot;&gt;Contact us&lt;/a&gt; and let us know how you use Cryptpad.&lt;/p&gt;
&lt;p&gt;If you aren&#39;t using CryptPad yet, give it a try at &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad.fr&lt;/a&gt;!&lt;/p&gt;
</content>
    <category term="release" scheme="https://blog.cryptpad.org/tags/release/"/>
  </entry>
  <entry>
    <title>Time to Encrypt the Cloud</title>
    <link href="https://blog.cryptpad.org/2017/02/20/Time-to-Encrypt-the-Cloud/"/>
    <updated>2017-02-20T17:54:02Z</updated>
    <id>https://blog.cryptpad.org/2017/02/20/Time-to-Encrypt-the-Cloud/</id>
    <summary xml:lang="en" type="html">From typing a business letter to taking pictures with friends, the internet has changed every part of our lives. We don&#39;t just share information with people, we also want it synced across our computers, tablets, and phones.</summary>
    <content xml:lang="en" type="html">&lt;p&gt;From typing a business letter to taking pictures with friends, the internet has changed every part of our lives.
We don&#39;t just share information with people, we also want it synced across our computers, tablets, and phones.&lt;/p&gt;
&lt;p&gt;Modern technology allows us to do this, but it does so by sending all our data to &lt;em&gt;the Cloud&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;A lot of what we think of as the Cloud is owned by multinational corporations like Google.
Though they may seem like innocent custodians of our data, behind the scenes they are often using it to target us with advertising.&lt;/p&gt;
&lt;h2&gt;There is little that one person can do&lt;/h2&gt;
&lt;p&gt;Terms of service are long, vague documents which usually don&#39;t address knowledge &lt;em&gt;derived&lt;/em&gt; from your data.
More sinister: you can never really know if they&#39;re cheating.
Ad networks don&#39;t tell you how they know or even what they know.
They just show you ads, based on what they discovered about you... &lt;em&gt;somehow&lt;/em&gt;.&lt;/p&gt;
&lt;h2&gt;What&#39;s your personal information worth?&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Normally  $0.0005 - $0.0021 per person&lt;/li&gt;
&lt;li&gt;Pregnant in your second trimester? $0.11 (&lt;em&gt;52 times as much&lt;/em&gt;)&lt;/li&gt;
&lt;li&gt;Have a specific health condition? $0.26 (&lt;em&gt;123 times as much&lt;/em&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is only going to get worse.
Artificial Intelligence technology is maturing and Silicon Valley is using it to derive even more value from &lt;em&gt;us&lt;/em&gt;, its most valuable products.&lt;/p&gt;
&lt;p&gt;The result of this will be a veritable weapon of mass manipulation.
The tragedy is, manipulating people to get what you want is not that complex.
We don&#39;t need to wait for the AI singularity, all we need is a deep mind with the cleverness of a spoiled 5 year old.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;All data, over time, approaches deleted, or public.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;--Quinn Norton&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;While we must seek to use services with ethical foundations, we must also recognize that once we give up our data, we are at the mercy of economics.
Companies which don&#39;t &lt;em&gt;extract maximum value&lt;/em&gt; from our data will eventually be acquired by those which do.&lt;/p&gt;
&lt;h2&gt;Zero Knowledge&lt;/h2&gt;
&lt;p&gt;Fortunately we don&#39;t have to go back to the typewriter age.
Using basic cryptography, the cloud can make information available across your devices without being able to read the data which it stores.&lt;/p&gt;
&lt;p&gt;We do this by adding a hash character (#) to a link.
By design, browsers don&#39;t share anything after this character.
That means we can share encryption keys just by sharing links.
Furthermore, a username and password can be made into a secret key which allows a person&#39;s private data to be kept encrypted using their login credentials.&lt;/p&gt;
&lt;h2&gt;How do we know you&#39;re secure?&lt;/h2&gt;
&lt;p&gt;Zero Knowledge web apps are not intended to &lt;em&gt;make you secure&lt;/em&gt;, they&#39;re intended to be &lt;em&gt;provably ethical&lt;/em&gt;.
This cannot be overstated, for too long we have been forced to choose between &amp;quot;James Bond&amp;quot; security protocols which are too difficult to use, and slick web apps which monetize your data.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Our promise to you is that our business model is not to spy on you, and it never will be&lt;/em&gt;.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;We hope that the security community will join us in building user-friendly, Zero Knowledge services.
Privacy is a social problem as much as it is a mathematical one, and it is time we take that seriously.&lt;/p&gt;
&lt;h2&gt;What we&#39;re going to do&lt;/h2&gt;
&lt;p&gt;We are going to show the world that web apps can be elegant and usable while still respecting privacy in a verifiable way.
We cannot easily prove that we&#39;ve never collected any data but we can prove we&#39;re not doing it systematically.&lt;/p&gt;
&lt;p&gt;To start off this conversation, we have developed &lt;a href=&quot;https://cryptpad.fr/&quot;&gt;CryptPad&lt;/a&gt;, the first ever Zero Knowledge Realtime Collaborative Editor.
We are aiming to make it the most user friendly, most productive collaboration tool available, and still Zero Knowledge.&lt;/p&gt;
&lt;p&gt;Finally, we have chosen to make the CryptPad project &lt;a href=&quot;https://github.com/xwiki-labs/cryptpad&quot;&gt;Open Source&lt;/a&gt;.
We did this not only because Open Source is in our culture, but also because we want Zero Knowledge web apps to become the universal standard.&lt;/p&gt;
&lt;h3&gt;The plan in four steps&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;Develop the most user friendly collaboration tool available which is also Zero Knowledge.&lt;/li&gt;
&lt;li&gt;Use this tool to explain the problem and show that an alternative is possible.&lt;/li&gt;
&lt;li&gt;Open Source the work we do so that others can also build Zero Knowledge apps.&lt;/li&gt;
&lt;li&gt;Foster a culture where privacy by default is a baseline expectation.&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;How you can help&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Use CryptPad and other Zero Knowledge services evey day, tell us what you like and what we can do better.&lt;/li&gt;
&lt;li&gt;Show your support: Buy an upgraded account (&lt;em&gt;coming soon&lt;/em&gt;) from us, the people who are developing the code.&lt;/li&gt;
&lt;li&gt;If you install the Open Source code of CryptPad on your own servers, consider buying a support contract.&lt;/li&gt;
&lt;li&gt;Talk to your friends and colleagues about Zero Knowledge, show them CryptPad and explain that this is what the cloud can be.&lt;/li&gt;
&lt;li&gt;If you&#39;re a web developer, think about Zero Knowledge for your next web app.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Other Zero Knowledge Services&lt;/h2&gt;
&lt;h3&gt;Open Source&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Sync backups to Google or Dropbox and force them to become Zero Knowledge
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptomator.org/&quot;&gt;https://cryptomator.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Source Code: &lt;a href=&quot;https://github.com/cryptomator/cryptomator&quot;&gt;https://github.com/cryptomator/cryptomator&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Easy chrome extension for gmail users to send &amp;amp; receive end-to-end encrypted email
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cryptup.org/&quot;&gt;https://cryptup.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Source Code: &lt;a href=&quot;https://github.com/tomholub/cryptup-chrome&quot;&gt;https://github.com/tomholub/cryptup-chrome&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Send and receive end-to-end encrypted email using your normal email account (Mobile, Desktop version coming soon)
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://prettyeasyprivacy.com/&quot;&gt;https://prettyeasyprivacy.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cacert.pep.foundation/trac&quot;&gt;https://cacert.pep.foundation/trac&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Send end-to-end encrypted text messages on a phone or computer
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://wire.com/en/&quot;&gt;https://wire.com/en/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/wireapp/&quot;&gt;https://github.com/wireapp/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Send end-to-end encrypted text messages on your phone
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://whispersystems.org/&quot;&gt;https://whispersystems.org/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Source Code: &lt;a href=&quot;https://github.com/whispersystems&quot;&gt;https://github.com/whispersystems&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Type or paste a message and give the link to friends
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://ncry.pt/&quot;&gt;https://ncry.pt/&lt;/a&gt;  (Source code: &lt;a href=&quot;https://github.com/luggs-co/ncrypt&quot;&gt;https://github.com/luggs-co/ncrypt&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://privatebin.net/&quot;&gt;https://privatebin.net/&lt;/a&gt; (Source code: &lt;a href=&quot;https://github.com/PrivateBin/PrivateBin&quot;&gt;https://github.com/PrivateBin/PrivateBin&lt;/a&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Chat online with lots of people at once
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://riot.im/&quot;&gt;https://riot.im/&lt;/a&gt;  &lt;strong&gt;NOTE:&lt;/strong&gt; End-to-end encryption mode in beta so currently disabled by default&lt;/li&gt;
&lt;li&gt;Source code: &lt;a href=&quot;https://github.com/vector-im&quot;&gt;https://github.com/vector-im&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Proprietary&lt;/h3&gt;
&lt;p&gt;While we value Open Source, the need for Zero Knowledge Cloud is paramount and we respect the
decision of some organizations to keep parts of their codebases proprietary.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Data backup
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.boxcryptor.com/en&quot;&gt;https://www.boxcryptor.com/en&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://whisp.ly/en&quot;&gt;https://whisp.ly/en&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.sync.com/&quot;&gt;https://www.sync.com/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.pcloud.com/&quot;&gt;https://www.pcloud.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://spideroak.com/personal/spideroak-one&quot;&gt;https://spideroak.com/personal/spideroak-one&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Chat and instant messaging
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://spideroak.com/personal/semaphor&quot;&gt;https://spideroak.com/personal/semaphor&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Send and receive end-to-end encrypted email
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://protonmail.com/&quot;&gt;https://protonmail.com/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Web of trust and proof of identity
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://keybase.io/&quot;&gt;https://keybase.io/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;An important one which we forgot? &lt;a href=&quot;https://cryptpad.fr/contact.html&quot;&gt;Get in touch&lt;/a&gt;!&lt;/p&gt;
&lt;h3&gt;Updated&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;August 9, 2017, Wire is now fully Open Source, yay&lt;/li&gt;
&lt;/ul&gt;
</content>
    <category term="zero knowledge" scheme="https://blog.cryptpad.org/tags/zero knowledge/"/>
  </entry>
</feed>
